2015-09-11 31 views
6

Sto tentando di archiviare un'applicazione di blocco dei contenuti. Poiché l'API è disponibile solo su 64 bit, ho aggiunto questo nel info.plist dell'app:Come inviare un archivio solo per dispositivi iOS a 64 bit?

<key>UIRequiredDeviceCapabilities</key> 
<array> 
    <string>arm64</string> 
</array> 

Questo valore è solo in applicazione di destinazione, non il bersaglio contenuti bloccante. Quando si invia la mia domanda di App Store utilizzando Xcode Organizer si restituisce questo messaggio:

ERROR ITMS-90503: "Invalid Bundle. Apps that have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist must only contain the arm64 slice."...

Ho controllato on-line e questo errore sembra nuovo e non documentata, sai che cosa devo fare per rimuoverlo?

+0

È necessario collegare un dispositivo a 64 bit e cambiare l'impostazione di "costruire l'architettura attivo solo" su "Sì", ma si può ancora avere un problema ... Se hai impostato il target iOS su 9, potrebbe funzionare ma i target precedenti ti daranno sicuramente un errore – Paulw11

risposta

8

Come dsiddhpura suggerito, la soluzione è quella di controlla le architetture valide nelle impostazioni di compilazione. Assicurati di aver selezionato "Tutti" nell'angolo in alto a destra e verifica che ci sia solo arm64 nelle architetture valide.

Esso dovrebbe essere simile a questo: enter image description here

2

Non è possibile caricare app nell'App Store con tale requisito. L'unico requisito che puoi avere è il target iOS più basso. Quindi, se si specifica iOS9 (più recente), l'iPhone 4s è ancora in grado di scaricare la tua app. iPhone 4s esegue l'architettura a 32 bit.

+0

Se rimuovo UIRequiredDeviceCapabilities restituisce 'Errore 90533: L'architettura mancante (...) richiede un valore UIRequiredDeviceCapabilities di 'arm64''. –

4

tua plist deve essere quella faccia:

enter image description here

Set Costruire architettura attivo solo insieme a . E si convalida costruire aspetto del prodotto del genere:

enter image description here

+0

Era così ma ho archiviato un'altra versione dopo aver osservato attentamente questi due valori, ho ancora lo stesso errore della domanda. –

+0

l'ho risolto con la risposta sopra riportata quando carico l'aggiornamento della mia app e questo cambia usando lo stesso codice nella nuova versione di xcode. –

+0

Sto usando Xcode 7 RC, stai ancora usando Xcode 6? –

2

entrambi i casi è possibile rimuovere le architetture diverse da "arm64" oppure è possibile limitare la destinazione di distribuzione a 8,0

+0

La prima soluzione sarebbe perfetta, come posso dire a Xcode di farlo? –

+1

Vai a Impostazioni di compilazione -> Architetture valide e rimuovi gli altri mantenendo solo uno in quello: "arm64" Assicurati inoltre che "Architetture" non debba essere Architettura standard. Dovrei anche avere solo "arm64". –