2016-06-03 43 views
9

Oggi, dopo aver caricato un archivio nell'app store, Xcode mi mostra questo avviso e alcuni altri (tutti sono simili).Xcode dice che alcuni dei miei pod non sono PIE, va bene?

Qui è uno di loro:

AVVERTENZA ITMS-90080: ". L'eseguibile 'Payload/MyApp.app/Frameworks/EZLoadingActivity.framework' non è una posizione indipendente eseguibile Si prega di assicurarsi che le impostazioni di generazione sono configurati per creare file eseguibili PIE. Per ulteriori informazioni, fare riferimento a Technical Q & A QA1788 - Creazione di un eseguibile indipendente dalla posizione nella libreria per sviluppatori iOS. " AVVISO ITMS-90080: "L'eseguibile 'Payload/MyApp.app/Frameworks/EZLoadingActivity.framework' non è un eseguibile indipendente dalla posizione Assicurarsi che le impostazioni di generazione siano configurate per creare eseguibili PIE. Per ulteriori informazioni, fare riferimento a Technical & A QA1788 - Creazione di un eseguibile indipendente dalla posizione nella libreria per sviluppatori iOS. "

Quindi apparentemente questa roba è piuttosto importante che deve essere detta due volte.

EZLoadingActivity è un cocoapod che sto usando per scrivere la mia app. Dal momento che è una libreria, non può essere eseguita da sola. Pertanto, penso che sia accettabile che non sia un eseguibile indipendente dalla posizione. Ma quando è apparso l'avvertimento, penso che qualcosa deve essere andato storto.

Ho visto un'altra domanda il cui binario OP è stato respinto a causa di questo errore. Quindi ho paura che anche il mio binario venga rifiutato.

Il mio file binario verrà rifiutato? Va bene avere quadri che non sono PIE? Ho altre app che usano i cocoapod ma non hanno questo avviso quando li carico. Questa è la prima volta che ho riscontrato un simile avvertimento? È serio? Cosa posso fare?

+2

vorrei avere una torta proprio ora – Fonix

risposta

19

Si tratta di un problema temporaneo di iTunesConnect.

Ho ispezionato vecchi archivi che sono passati senza preavviso. Quindi, ho scoperto che tutti i framework incorporati non hanno il flag PIE indipendentemente da quale impostazione di build è stata utilizzata.

Quindi, un flag PIE mancante per i framework non dovrebbe essere un motivo per un avviso.

Penso che Apple abbia modificato la convalida del server e introdotto alcuni bug.

+0

Ok capisco. Grazie! – Sweeper

+1

Bugs in PIEs? Eek: x – Antzi

+4

Frameworks [non può avere la flag PIE] (https://github.com/aosm/ld64/blob/88428de93dab43bf5fc5baca9ee38226bc013269/src/ld/Options.cpp#L3437-L3440) poiché è solo per gli eseguibili principali. Quindi questo è sicuramente un bug sul lato della validazione. – 0xced