Italian Pubblicare su iOS..facile a dirsi

udg

Expert
Licensed User
Longtime User
Ciao a tutti.
Sicuramente sono io che non trovo il bandolo della matassa tra i 500 documenti presenti nel forum (ed anche i video..)
Comunque, seguo passo passo le istruzioni ed arrivo quasi in fondo.
Nella cartella apposita ho
- file csr
- ile cer
- file mobileprovision

Uso HostedBuilder e
- Build Release app va a buon fine
Sending data to remote compiler. (13.78s)
Application compiled with store provision profile.
You can download the ipa file with Tools - Build Server - Download Last Build.

Completed successfully.

-Download Last Build va a buon fine (in Objects c'è Archive.zip)
A questo punto, felice di aver perso una mattinata dietro tutte le paturnie di Apple (dall'aggiorna iOS e trova il tuo UDID al creare account di ogni genere e poi la triade Certificates-Profiles*Identifiers), tento il grande balzo: Upload App to iTunes Connect

L'errore è:
Error: *** Error: Error uploading 'Click For Lunch.ipa'.
*** Error: No suitable application records were found. Verify your bundle identifier ‘ch.mnog.c4lunch’ is correct. App Store operation failed. (-19000)
{
NSLocalizedDescription = "No suitable application records were found. Verify your bundle identifier 'ch.mnog.c4lunch' is correct.";
NSLocalizedFailureReason = "App Store operation failed.";


Cosa cerca di dire con quel "No suitable application records were found." ?

Per caso, ho scoperto che esiste anche un App Store Connect (altra burocrazia dopo AppleID e Developer console), Sarà pure vero che "non esiste due senza tre", ma qui si esagera!
In questo App Store Connect, si dovrebbe poter creare il "record" di una nuova app e proseguire in qualche modo.
Ma, una clausola ben nascosta, pretende che prima bisogna completare i dati finanziari anche se si decide di pubblicare solo app gratuite. Considerando che per gli eventuali addebiti hanno già la carta di credito da cui prelevare i $99 annui, a che serve perseguitare un povero disgraziato fino a questo punto? Misteri di Cupertino!
Tra i dati finanziari che bloccano la possibilità di creare il famigerato App record ci sono anche un po' di moduli che bisogna sottoscrivere.
Il più incredibile è quello (obbligatorio, ovviamente) relativo alla dichiarazione dei redditi negli USA. In inglese e con riferimenti a robaccia loro (noi siamo abituati alle vessazioni dell'AdE e di chiunque abbia un minimo di potere, quindi riusciamo a dare il giusto peso..).
Poi si prendono almeno 24h per verificare tutta questa immondizia e, alla fine, si spera che ci sia il disco verde per la creazione dell'app record.

Domani vedremo che altro si inventeranno..
 

MarcoRome

Expert
Licensed User
Longtime User
*** Error: No suitable application records were found. Verify your bundle identifier ‘ch.mnog.c4lunch’ is correct. App Store operation failed. (-19000)

Devi creare prima di tutto l'app ( la scheda dell'app ) sull'Apple Store.
Quindi prima di effettuare il caricamento, entra nell'Apple Store crea la tua prima app e inserisci il package "ch.mnog.c4lunch".
Creata la scheda, potrai caricare l'App
 

udg

Expert
Licensed User
Longtime User
Ciao Marco, grazie per l'informazione.
Quando scrivi:
Devi creare prima di tutto l'app ( la scheda dell'app ) sull'Apple Store.
ti riferisci a questo URL: ?
Qui trovo "Le mie App" che ovviamente risulta vuoto. Poi se vado nel tab "App", trovo "aggiungi app", ma la scheda non posso crearla perchè vuole un ID pacchetto che dovrei selezionare da un elenco che risulta vuoto.
 

MarcoRome

Expert
Licensed User
Longtime User
ma la scheda non posso craerla perchè vuole un ID pacchetto che dovrei selezionare da un elenco che risulta vuoto
Si lo Store. Ma prima devi creare i certificati, identifier e il provisionfile , quando crei l'identifier ti chiede il nome del pacchetto

Guardati bene questo video al minuto 03:18 Erel inserisce il Bundle id come generico, tu lo devi fare come explicito ed inserire il nome del pacchetto ch.mnog.c4lunch
 

udg

Expert
Licensed User
Longtime User
Quello l'ho visto e rivisto.
C'era anche l'indicazione "errata" di usare ad-hoc (che, se ho capito bene, ti genera alla fine il provision developer e non quello per lo store)
Ora la novità che indichi è selezionare Explict invece che quello indicato nel video e usare il nome completo e non quello con l'asterisco.

Per cui, se voglio testare su un mio iPhone:
- uso ad-hoc
- explicit
- nome dell'app così come impostata in Project Build Configuration (ch.mnog.c4lunch)

Se invece voglio pubblicare (attendendo la santa approvazione):
- uso App Store invece di ad-hoc
- wildcard
- dominio.* (immagino che in questo modo il provision valga per tutte le app che, nel mio caso, inizino per ch.mnog.<nomeapp>
Oppure faccio finta di nulla e vado sempre di explicit (tanto non saranno decine di app)?

Update: intanto ho seguito le tue indicazioni (grazie mille) e finalmente ho un pannellino per l'app (compilata con ad-hoc perché vorrei testarla su TestFlight prima di azzardare la revisione). Solo che, creato il gruppo in TestFlight, mi permette di caricare l'IPA solo con uno dei 3 sistemi previsti da loro che vanno bene se hai un mac (o comunque XCode..).
Quindi come effettuo il push dell'IPA nel panenllino TestFlight per vedere (finalmente) l'app sul mio iPhone?

Update2: con OTA?
 
Last edited:

MarcoRome

Expert
Licensed User
Longtime User
Per cui, se voglio testare su un mio iPhone:
- uso ad-hoc
- explicit
- nome dell'app così come impostata in Project Build Configuration (ch.mnog.c4lunch)

o ancora meglio crei un identifier generico, tipo ch.udg.*.
In questo modo potrai utilizzare sempre lo stesso certificato / provisioning file perchè per ogni pacchetto potrai utilizzare ch.udg.test, ch.udg.app2, etc

Se invece voglio pubblicare (attendendo la santa approvazione):
- uso App Store invece di ad-hoc
- wildcard
- dominio.* (immagino che in questo modo il provision valga per tutte le app che, nel mio caso, inizino per ch.mnog.<nomeapp>
Oppure faccio finta di nulla e vado sempre di explicit (tanto non saranno decine di app)?

Si per "uso App Store" punto 1
No per wildcard ma sempre esplicito , cioè il nome del pacchetto senza *


Se inserisci l'app sull'Apple Store è solo per pubblicarla ( altrimenti per testare, etc è molto scomoda ).
Se devi distribuire l'app a "pochi eletti" e non vuoi utilizzare Apple Store conviene effettuare le seguenti operazioni
1. Abilitare i Device sull'Apple Store ("sezione" dove inserisci certificati etc. vedi una voce device li va inserito il numero di udid del dispositivo su cui dovrà girare l'app )
2. Riscaricare il provisionfile con i device aggiornati nello step 1
3. Compilare la tua App con il certificato di sviluppatore e il provisionfile contenente i device
4. Caricare l'app tramite il tools OTA, distribuire il relativo link che ci da l'ota dopo aver caricato l'app. Lo stesso può essere distribuito anche via whatsapp, se il dispositivo che riceverà lo stesso fa parte della lista dei Device potrà installare l'app e provarla.
 
  • Like
Reactions: udg
Top