2012-12-13 4 views
9

Sto creando un file .pkg per un paio di livelli di gioco usando iOS 6 e Xcode 4.5 .2. Durante la convalida di Xcode .pkg per il contenuto IAP, si è lamentato dei file audio m4a che ho nel pacchetto per l'audio. La cosa strana è che dice: "L'archivio per l'acquisto in-app ... non è valido. Il pacchetto contiene un eseguibile in 'Contents/xyz.m4a'." So che ho alcuni file audio nel pacchetto (con estensione .m4a), ma non capisco perché si riferisce a quelli come 'eseguibile".Errore "Archivio per acquisto in-app ... non valido. Il pacchetto contiene un eseguibile in 'Contents/xyz.m4a'"

risposta

4

Controllare il contenuto della confezione. Molto probabilmente avete la vostra configurazione di compilazione in modo tale che non si dispone di un file audio vaild in là, ma il codice compilato. non si può avere compilato il codice in IAP fasci.

+0

Grazie a @Cocoanetics. Controllerò due volte Ma la cosa strana è che indica i file m4a e dice 'eseguibile'. –

+0

sì, come ho detto: controllalo. Probabilmente hai qualcosa di diverso dai file multimediali lì dentro. O forse il file multimediale ha il flag eseguibile impostato? – Cocoanetics

+4

GRAZIE !! Era così! Ho usato il terminale per chmod a-x su tutti i file m4a e questo ha risolto il problema. –

21

cercare ls -l xyz.m4a e chmod -x xyz.m4a

+0

+1 da parte mia. Ehi ... questo ha funzionato per me. –

+1

Ho avuto lo stesso problema con i file mp3. La rimozione del bit eseguibile (-x) ha risolto il problema anche per me. Grazie! – helli99

+0

Non capisco cosa possa significare questo qualcuno? – 4GetFullOf

5

stesso problema, ma le risposte elencati come di 10/28/13 non ha risolto l'errore per me. Sono stato in grado di risolvere gli errori di chmod 444 all'interno dell'archivio generato e quindi di inviare nuovamente per la convalida. Ha quindi superato la convalida.

Ulteriori informazioni: Ho un sacco di video .mov che ho voluto caricare come contenuto ospitato su ItunesConnect. In Xcode: File-> NewProject-> Other-> HostedContent; assicurati che l'identificatore del prodotto corrisponda a quello in iTunesConnect (distinzione tra maiuscole e minuscole), (Non aggiungere alcun progetto o spazio di lavoro), quindi salva il file ESTERNO nella directory del mio progetto. Quindi, nel progetto appena creato, all'interno della prima cartella (con il nome del mio acquisto in-app - ma NON nella cartella File di supporto), ho spostato tutti i file video .mov, selezionando l'opzione "copia i file nella cartella" .
* note - questo passaggio applica le risposte che altri hanno postato in questo thread, ma non ha funzionato per me. Successivamente, nel terminale, ho navigato fino a dove sono stati copiati questi video. Poi ho cambiato tutti i video in sola lettura con questo comando: chmod 444 ./

Indietro in Xcode, dal menu: Prodotto-> Archivio. L'organizzatore si apre, con il nuovo archivio elencato. Chose Validate e selezionato il "Contenuto in-app-acquisto" di ITunesConnect. Qui è dove la convalida non è riuscita con l'errore "l'archivio per l'acquisto in-app non è valido. Il pacchetto contiene un eseguibile a 'xxxxxxx'.mov"

Ho quindi fatto clic con il pulsante destro sul pacchetto archivio e su "Mostra nel Finder". . Fare clic con il pulsante destro del mouse sul file "xxxxxxx.xcarchve" e scegliere "Mostra contenuto del pacchetto". Poi andò in questa cartella: prodotti-> Libreria-> InAppPurchaseContent-> xxxx-nameofmycontent-xxxx-> Contenuto

L'archivio conteneva una copia di tutti i miei file video. Ora ho navigato in questa cartella "Contenuti" nel Terminale (nel terminale, ho digitato "cd" e poi ho trascinato la cartella in un terminale per riempire automaticamente il percorso della directory), e premo invio. In questa directory, ho creato tutti i file video "sola lettura" con il comando: "chmod 444 ./*".

Indietro in Organizer, premere Validate, selezionato il prodotto contenuto ospitato identificato da ITunesConnect e Validation Success!

Spero che questo aiuti qualcun altro nella mia situazione.

+0

questo è utile con l'utilizzo dei seguenti comandi dalla risposta in basso, grazie – 4GetFullOf