Dit staat in de gewijzigde voorwaarden voor ontwikkelaars. De eerder al omstreden sectie 3.3.2 van de ontwikkelaarsovereenkomst voor iOS 4 (voorheen iPhone OS 4) is herzien. Code die 'vertaald' is om te draaien op de iPhone, en ook de iPad en iPod Touch, is nu deels toegestaan, meldt onder meer blogsite AppleOutsider.

Keuring vooraf

Voorwaarde is dat Apple vooraf in schrift toestemming verleent. App-makers kunnen hun software dus ook indienen voor keuring op de door hun gebruikte code. Dit voor wanneer zij een bestaand programma, of een component daarvan, willen omzetten naar het mobiele Apple-platform. Of wanneer ze vanuit een vertrouwde, niet-Apple ontwikkelomgeving werken. Apple accepteert nu alvast apps voor iOS 4, dat deze zomer uitkomt.

De iPhone-maker houdt nog een slag om de arm: "een applicatie mag ingebedde 'interpreted' code gebruiken op beperkte wijze". Die vage omschrijving wordt nog aangevuld met de voorwaarde: "als dat gebruik alleen dient voor het bieden van minder belangrijke mogelijkheden of functionaliteit die consistent zijn met het bedoelde en geadverteerde doel van de applicatie."

Flash nog altijd geblokkeerd

Het regelrecht overzetten van complete apps of code, inclusief Flash-programmatuur, is dus nog altijd verboden. Voorheen stond in sectie 3.3.2 te lezen dat 'interpreted' code niet mag worden gebruikt of gedownload in een iPhone-app. Daarmee blokkeerde Apple eenvoudig hergebruik van code, maar sneed het ook Adobe de pas af die net een iPhone-exportoptie voor Flash-apps uitbracht. Die functie in de nieuwe versie van Adobe Creative Suite is begin dit jaar al aangekondigd.

Apple-ceo Steve Jobs heeft het verbod al verdedigd in antwoord op vragen van app-developers. Cross-platform code betekent volgens Jobs tussenlagen en dat levert substandaard apps op. "Dat hindert de vooruitgang van het platform."

Keurslijf

Volgens de voorwaarden van Apple moeten developers hun apps voor het iPhone-besturingssysteem schrijven in de talen Objective-C, C of C++. Ook toegestaan is JavaScript zoals dat wordt uitgevoerd door de browserengine WebKit van het iPhone OS.

Alleen code geschreven in de genoemde C-varianten mag de officiële, voorgeschreven Documented API's aanspreken. Apple heeft dat toen nog verduidelijkt in die clausule: "Applicaties die linken naar Documented API's via een tussenliggende vertaling of compatibiliteitslaag of -tool zijn verboden."

De nieuwe developersvoorwaarden, met de gedeeltelijke concessie voor 'interpreted' code:

iPhone Standard Agreement 20100607