Having decided to open up iPhone OS to third - political party apps , Apple is still keeping some of run scheme ’s functionality out of the reach of independent developers . although the caller is — at least in hypothesis — under no obligation to make any special feature film publicly uncommitted , some developers are record their disfavor at this attack , claiming that it founder Apple ’s own apps an unfair advantage . Meanwhile , the company has say that it keeps some functionality individual only because of technical , rather than competitive reasons .
Private frameworks
At the substance of this contention are so - called “ private frameworks . ” A framework encompasses a bent of function that a developer can use to perform one or more tasks , such as displaying graphics , wager audio , or interact with computer hardware . As such , framework act as a gatekeeper between an app and its ability to do just about anything , giving Apple ultimate control over what third - party developers can and can not do in their software .
While most of the theoretical account that are part of iPhone OS are public and can be used by anyone , Apple reserves a few of them for internal use , label them as “ private . ” This , in itself , does n’t prevent developers from taking advantage of them — overturn organise the secret model is a childlike task that can be easily accomplished using common development tools . However , the exercise of individual theoretical account is grounds for the rejection of an coating during the App Store ’s blessing process ; therefore , if a developer wants to sell their package through iTunes , they have no selection but to maneuver light of any functionality that Apple has not sanction for public usance . ( In recent month , there have been cases where Apple has been more lenient about such usage and asked developers to take out the offending characteristic in a future update . )
unluckily , the same limit does n’t always apply to Apple itself : nothing has prevent the troupe from using private framework , even for its diligence that are distributed via the App Store . And those private framework can deliver functionality that third - party apps plainly can not touch without running afoul of the approving dominion .
Marco Arment , developer of the popular Instapaper apps , points out in a post on his blogthat iBooks makes use of a substantial number of undocumented mapping , and that a third - party developer ’s unfitness to do the same makes “ all third - political party reading - related apps 2nd - class citizens . ” iBooks ’s power to let you aline the brightness of the blind inside the app — without having to jump to the iPad ’s configurations software — is an example of functionality not useable to third - party programmers .
Two potential problems rise from this disparity : first , as Arment orient out , Apple ’s own apps produce expectation that diminish the production note value of third - party software . Since normal user are not well - acquainted with the shade of programming , it ’s unmanageable to explain that an app ’s inability to twin the functionality put up by its Apple ’s counterparts is not due to a lack of power or sake on the developer ’s part , but , rather , to the legality of participate in the App Store . One could also fence that individual fabric give Apple an unfair vantage , especially as its interests boom from the centre twist functionality into other areas — as with the recent insertion of iBooks .
secondly , secret frameworks stifle the power of third - party developers to introduce and improve on the stock Apple software . For example , soon after the instauration of the iPhone 3 G , many developers undertake to improve on the functionality provided by Apple ’s default camera package and add unexampled and more brawny features , only to find out that doing so was only possible with the utilization of secret frameworks .
Apple’s response
For its part , Apple has always been very exonerated on the fact that private fabric exercise is n’t allowed — even conk out so far as spring up automated tools that scan software system destined for the App Store for the use of unpublished functionality . In fact , Apple ’s own exercise of private frameworks in apps that can be downloaded from the App Store seems to be limit to what is strictly necessary , with much of that functionality eventually ending up becoming public .
The reasoning behind Apple ’s intransigence is that individual model are , according to the company , “ oeuvre - in - progress ” that have not yet been nail down and could change at any time in the future . If this were to happen , any app built using the functionality provided by them would hold back working , lead to all form of mutual exclusiveness problems that Apple , as the ultimate hall porter of the App Store , would have to deal with . Public frameworks , on the other hand , are guarantee to stick around for a really long time — on some platforms like UNIX , they have stick to around for ten — therefore guarantee long - lasting compatibility with any software package that uses them .
In fact , Daring Fireball ’s John Gruberunearthed a videoin which Apple ’s SVP of Software Engineering Bertrand Serlet ( who , ashis life story pointedly explain , report like a shot to chief operating officer Steve Jobs ) explains that the ship’s company treads very cautiously around its diligence development interfaces because , once born they tend to be very difficult to kill off .
And , for what it ’s worth , some third - party developer are vocal in their agreement with Apple ’s insurance policy . Red Sweater Software ’s Daniel Jalkut , a former Apple model engineer himself , argued on Twitterthat individual APIs are a necessity for testing . In fact , he goes so far as to bespeak out that they ’re a serious thing for developers , allow for Apple to work out the twirl before making the features uncommitted to others .
Competition or control?
In its defense , it ’s worth noting that Apple does seem to keep an eye on what developers want from its framework and finally makes more and more functionality available to them . For example , the camera access framework has been open up up considerably since the release of iPhone OS 2.1 to allow developer to create their own interfaces and augment the capabilities of the built - in Camera app . Similarly , a number of antecedently - private framework — such as those that admit a developer to tell whether a twist is dock and how much battery charge remain — have been made uncommitted for public consumption , loan credence to the fact that Apple ’s motives are fuelled by a desire to insure its political platform rather than to inevitably maintain a militant edge .
Moreover , with a fink peep at the future tense of the iPhone OS just around the corner , it ’s extremely probable that more functionality — much of it perhaps specific to the iPad and approaching models of the iPhone — will before long be released to developers . Perhaps , therefore , all that developer need is a spot of patience as the Apple development machine gets around to finalizing the private model and open up them up .
In the end , individual frameworks remain edge cases ; the huge majority of apps that are submitted to the App Store are either approved or rejected on a basis other than private model usage , and the numbers clear bespeak that this proceeds has not prevented the formation of a vivacious — and profitable — software ecosystem around iPhone oculus sinister .