PDA

View Full Version : What does it mean to "call an undocumented API"?


css1323
02-04-2009, 06:28 PM
Anyone have any idea? lol.

next2nothing
02-05-2009, 07:50 PM
Do a google search for Undocumented API ... I would post the link but new members can't post links!

jhollington
02-05-2009, 09:12 PM
An API, or Application Programming Interface, is basically a "hook" that third-party applications can use to access certain features on the iPhone. For example, there is an API to access the camera to take a picture, and another API to detect whether the iPhone is in portrait or landscape orientation.

The iPhone has a set of APIs that are "documented" in the iPhone Software Development Kit (SDK) which are specifically intended for developers to use. However, there are also APIs that have not been documented or released by Apple for use by third-party developers. Apple may reserve these for their own use, or they may simply not want to publish them for official use because they may not work properly, or may be subject to change.

If a programmer uses a documented API, they can be relatively sure that this feature will continue to be supported in future iPhone software updates. On the other hand, Apple has absolutely no obligation to retain or support any APIs that they have not released for use by third-party developers. If a developer writes their app to call one of these undocumented APIs, there are no guarantees that it will work as expected even in the current iPhone firmware (since it's not documented, you can only figure out what it does through trial and error), and definitely no guarantees that Apple won't change it's behaviour or remove it in a future iPhone firmware update, thereby breaking the application in question.

css1323
02-06-2009, 01:00 AM
Thank you very much for the information. I found it very fascinating!

Not sure where the word "call" comes in to play. As if you're calling up the service I guess. I wonder how many undocumented APIs are in the iPhone anyway. Interesting stuff.

jhollington
02-06-2009, 10:03 AM
Well, "call" has been using in programming parlance for a long time now.... In programming terms you "call" a subroutine or a function, so "calling" an API is pretty much the same thing.... It's really just a subroutine/function written by somebody else (in this case, Apple).