Pubblicare sull’Apple store

Vabbhè se credete di farcela da zero in una mattina.. no,

è come entrare in un ufficio burocratico italiano che ti tira scemo con mille certificati.

sarà che la Apple mi annoia appena c’è un problema.. perchè sembrano tutti irrisolvibili da te solo, ma devi sempre ricorrere all’aiuto un po invadente di mamma apple.

E a me questo fa imbufalire..

Con Android mi son trovata tanto bene invece :) bho.. sarà sicuramente questione di abitudine.

Però far notare che fin della fiera i due store ti chiedono di fare le stesse cose.. ma uno ti dice.. heè dobiamo creare una chiave GPG, ce ne hai già una? no? la facciamo.

L’altro invece ti fa mille pippe su.. vai attivare un certificato dal tuo ID, poi fattene creare un altro dal tuo portachiavi.. poi consegna la tua chiave privata che ora ti facciamo quella pubblica, etc.. Poi dai entrambi al tuo IDE.. che giri assurdi. vabbhè.. e il tutto trattandoti come un povero idiota a cui poverino non può mica essere spiegato tutto.. grrr.

DA SAPERE DI BASE:

http://cordova.apache.org/docs/en/3.3.0/guide_platforms_ios_index.md.html

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html

Si, ma se non avete sviluppato in objective-C e siete un veterano di xcode.. non vi serve tantissimo,

a parte capire che più o meno vogliono:

1) creazione account IOS developer (99 eurini all’anno!)

2) wild bundle ID.. così potete creare tutti i progetti che volete sul vostro dominio inverso

3) itunes-connect, descrizione, specifiche e snapshoot per la distribuzione

4) Provisioning profile

5) da xcode ottenete il file IPA (scorciatoia drastica https://www.youtube.com/watch?v=uAykwTf6sDg )

6) dal xcode>> open developer tools>> app loader

IMPREVISTI noti:

https://developer.apple.com/library/ios/technotes/tn2215/_index.html

 Via mediana per chi è disposto cmq a pagare un pochino in più:

 http://stackoverflow.com/questions/11157111/how-to-get-ipa-file-with-phonegap-for-ios

via estrema con commanda line e tante bestemmie:

primi passi: http://stackoverflow.com/questions/18956966/phonegap-app-for-ios-without-phonegap-build

http://stackoverflow.com/questions/2664885/xcode-build-and-archive-from-command-line

firmare da command line: https://gist.github.com/hramos/774017

PASSAGGI SICURI:

1) cartella www del progetto pronta (aggiungere il foglio di stile diverso)

#phonegap create nomedirectory  it.xxx.name “nomeprogetto”

projectdir#phonegap prepare ios

2)Sostituire in finder le icone. e splash SENZA installare il plugin che cmq non serve e se c’è da indirizzo sbagliato del pacchetto (sto usandi phonegap CLI 3.4)

3) Attivare la webview come _system default, ovvero aprire safari quando c’è un link

projectdir#phonegap build ios

Aprire con Xcode e fare build. (va tutto bene!)

4) a questo punto da Xcode RUN: no issues; Archive: 1warning e 11 errori (tutti in phonegap e non nel mio codice)

Da xcode build in linea di comando: 1 errore di firma, 4 errori di compilazione

Faccio: projectdir# xcodebuilder

 

ERRORI FIRMA:

http://stackoverflow.com/questions/19697237/invalid-provisioning-profile-missing-code-signing-certificate

http://stackoverflow.com/questions/20865617/xcode-5-error-itms-9000-invalid-provisioning-profile

Forse non è per la DISTRIBUTION.. riprovare a scaricarlo e darlo ad xcode o per il  terminale : xcrun :)

 

Quindi provo a riprendermi firma e certificati ed eseguire questo:

/usr/bin/xcrun -sdk iphoneos PackageApplication -v “${PROJECT_BUILDDIR}/${PROJECT_NAME}.app” -o “${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa” –sign “${DEVELOPER_NAME}” –embed “${PROVISONING_PROFILE}”

ERRORI BUILDing:

io credo sia colpa dell’info.pls che non ho capito dove phonegap /cordova dovrebbe compliarlo..

gli dice architetture che forse non servono.

QUINTA puntata:
Quello che mi mancava era di controfirmare il certificato non so più quale che mi aveva generato la apple .
Quindi sono andata in xcode, ho tolto l’acount da sviluppatore, gliel’ho rimesso e da lì ha cominciato a rimaneggiare i provisioning profile, che ora nell’acount sviluppatore apple si vedono verdi e oltre (attivo) c’è scritto pure maneggiato da xcode!
Quindi quando ho fatto il build da xcode, mi ha chiesto la passw della mia chiave privata, come credo sia giusto.
Però te la chiede una sola volta.
Altra cosa che ho cambiato, sono andatata in xcode>windows>organizer e gli ho abilitato il mio mac (sempre per la storia della chiave privata)

OK, quindi ho riprovato da terminale:
xcodebuild -scheme Bilancio\ Sociale\ CGIL-ER -project Bilancio\ Sociale\ CGIL-ER.xcodeproj -sdk iphoneos PROVISIONING_PROFILE=""${PROVISONING_PROFILE}"" -configuration Release
è stato utile: http://stackoverflow.com/questions/19814092/cant-generate-release-build-for-cordova-ios-app

con questo comando: xcodebuild -list
per vedere se ho uno schema fatto.
ora ho solo 3 errrori di bilding e zero di firma!!!

The following build commands failed:

Ld /Users/../Release-iphoneos/Bilancio\ Sociale\ CGIL-ER.build/Objects-normal/arm64/Bilancio\ Sociale\ CGIL-ER normal arm64

CreateUniversalBinary /Users/../Build/Products/Release-iphoneos/Bilancio\ Sociale\ CGIL-ER.app/Bilancio\ Sociale\ CGIL-ER normal armv7\ armv7s\ arm64

GenerateDSYMFile /Users/../Build/Products/Release-iphoneos/myApp.app.dSYM /Users/…/Build/Products/Release-iphoneos/..

(3 failures)

Spero alla sesta puntata di finire :)