She makes an interesting distinction between the venial sin of using undocumented methods in a public framework (which is what Google has done with the proximity sensor), and the mortal sin of linking to a completely private framework. Sadun — who’s the author of The iPhone Developer’s Cookbook — even shows source code for an example app that catches proximity sensor events.
Based on some of the email I’ve gotten this morning, I think the occasional use of undocumented methods in public iPhone frameworks is actually pretty common in third-party iPhone apps. But that doesn’t make it safe, and I think Sadun is stretching the innocuousness of this practice when she writes:
Using unpublished APIs means that your applications can break at any firmware upgrade; Apple does not guarantee that routines will not change the way they stand behind the published APIs. However, developers use these routines for all sorts of good reasons both for items in App Store as well as out. And, often, the routines don’t break and have been stable for a long long time.
Undocumented routines are undocumented for some reason.
★ Thursday, 20 November 2008