In-house enterprise iOS applicaties ontwikkelen in Flash CS5.5

Door Bas van Kuijck, mobile developer - @basvankuijck
25 november 2011 - 816 x bekeken -

Click here for the english version

Adobe heeft vriend en vijand verrast met hun bericht over het staken van de ontwikkeling van het flash platform op mobiele devices. Wat naar mijn mening een goede zet is, zodat Adobe (flash) zich meer kan richten op desktop, gaming en Adobe AIR.
Nu is er al geruime tijd de mogelijkheid om vanuit flash (i.c.m. adobe air) applicaties te ontwikkelen voor o.a. iOS en Android. Wat sinds AIR3 (zie mijn vorige blogpost) flinke stappen heeft gemaakt m.b.t. performance van deze apps, zodat 'flash' apps ontwikkelen voor mobile devices steeds interessanter wordt.

Nu zijn wij al geruime tijd bezig met het ontwikkelen van native iOS apps. Welke d.m.v. een enterprise account de mogelijkheid biedt om (in-house) apps te maken welke direct op de iPads en iPhones geïnstalleerd kunnen worden, zonder tussenkomst van de iTunes appstore. Wat uiteraard erg interessant is voor klanten die een actieve buitendienst hebben. Native iOS apps hebben uiteraard vrij weinig met flash apps te maken. Er zijn echter voorbeelden te verzinnen waar animaties een grote rol spelen binnenin een (iOS) app, waardoor het inzetten van flash juist een tijdsbesparende optie is. Probleem dient zicht alleen voor dat het niet mogelijk is om vanuit Flash CS5.5 enterprise (in-house) applicaties te genereren.
Zoals hieronder te zien is, is het enkel mogelijk om apps te ontwikkelen welke uiteindelijk in de appstore terecht moeten komen.


Dus om het kort samen te vatten, het was onmogelijk om iOS apps te maken in flash welke gebruikt kunnen worden als zogenoemde 'in-house' applicaties.
WAS inderdaad. Na wat speurwerk heb ik een oplossing gevonden om toch deze applicaties toch met de juiste certificaten en instellingen te genereren, het enige wat je hiervoor nodig hebt is (uiteraard) Flash CS5 of CS5.5, Xcode4 en een iOS enterprise account.

  1. Allereerst heb je uiteraard een correct iOS distributie certificaat (.p12) nodig en het juiste in-house distributie provisieprofiel (.mobileprovision), om de app op de juiste manier te deployen.
    Selecteer dan in het publiceer venster de optie 'Deployment - Apple app store' en publiceer je .ipa bestand

  2. Na het publicatie proces (wat erg lang kan duren) moet dit .ipa bestand, hernoemd worden naar '.zip'. Dus 'application.ipa' hernoemen we naar 'application.zip'. Pak vervolgens deze zip uit en navigeer naar de /Payload/ folder, waar je een .app bestand zal vinden (bijvoorbeeld application.app). Hou deze even in je achterhoofd.

  3. Nu komt het hack-en-sluit-werk. Start Xcode4 op en navigeer naar de Archives tab in je Organizer (SHIFT-COMMAND-2). Aan de linkerkant zie je (als het goed is) een aantal apps die gearchiveerd zijn. (Als dit niet het geval is, zul je een lege app moeten ontwikkelen en die archiveren (Product > Archive)). Klik op een (willekeurige app) en dan op een willekeurig archief en vervolgens de rechtermuisknop en dan 'Show in finder'. Een finder scherm zal geopend worden en het .xcarchive zal geselecteerd zijn.
    Sluit vervolgens Xcode (COMMAND - Q)

  4. Klik nu op dat bestand en maak er een kopie van en hernoem deze naar je eigen app, dus bijvoorbeeld: 'Applicatie 11-12-11 3.33 PM.xcarchive'. Klik nu op dit nieuwe bestand en rechtermuisknop en vervolgens 'Show package contents'.
    Er verschijnen nu 3 items, 'dSYMs', 'Info.plist' en 'Products'.

  5. Open allereerst de folder 'Products' en verwijder het aanwezige .app bestand en plaats daar je (zie stap 2) 'applicatie.app'.

  6. Open vervolgens 'Info.plist' in je property editor (dubbel klikken). De waardes 'Name' en 'SchemeName' moet je aanpassen naar je eigen app (dus bijvoorbeeld 'Applicatie'). Deze twee moeten identiek zijn. Open dan 'ApplicationProperties' en vervang 'ApplicationPath' naar de juiste waarde 'Applications/application.app' en CGBundleIdentifier' uiteraard naar je eigen bundle identifier. Sla nu de .plist op en sluit de editor af. Je zou ook even kunnen kijken of de 'icon paths' nog wel goed staan.

  7. De 'dSYMs' folder kun je negeren.

  8. Start nu xcode4 opnieuw op en open je organizer (SHIFT - COMMAND - 2) om vervolgens naar je eigen app / archief te navigeren. 'Share' nu dit archief met het juiste provisieprofiel.

En voilà, je kan nu in-house apps maken (via een omweg) in Flash CS5.5.

Mixe Online op Emerce eHealth

Door E-sites

Mixe Online is het internetbureau voor de zorg. Wij werken voor zorginstellingen, medische bedrijven, farmaceuten, zorgondernemers en… - Lees meer

Lees verder