Apple Using Static Analysis Tool to Find Private APIs, Reject Apps
Hockenberry: Hearing lots of reports about apps getting rejected due to private API usage. Maybe now you'll believe me when I say it's a bad idea…
Gruber: Yup: Apple recently started running apps through a static analysis tool to look for private API calls.
Google set off some of the private API discussion when they implemented them as part of the Google Mobile app (though it's our understanding those API were later made public). Generally, private or unpublished API are kept that way because Apple (or whichever platform maker is supplying the APIs) hasn't finished working on them, are planning changes, or is otherwise reserving their use -- if 3rd parties implement them anyway, any future OS update can break them and cause problems for end users. Public API, on the other hand, are supported and intended to let developers do their thing without worrying about platform-level changes wrecking their apps.