2015-05-20 18 views
13

Ho aggiunto un framework condiviso per condividere il codice tra l'estensione app e watch. Più tardi ho rimosso il framework condiviso poiché causava molti problemi. Posso creare ed eseguire la mia app su iphone e guardare. Tuttavia, quando invio a App Store, vedo questi due errori:Bundle non valido, il pacchetto contiene pacchetti nidificati non consentiti, contiene file non consentito 'Frameworks'

ERRORE ITMS-90205: "Bundle non valido. Il pacchetto a 'xxx WatchKit Extension.appex' contiene pacchetti nidificati non consentiti."

ERRORE ITMS-90206: "Pacchetto non valido. Il pacchetto in 'xxx WatchKit Extension.appex' contiene file non consentito 'Frameworks'."

Ho provato tutte le soluzioni menzionate su StackOverflow (this, this, this) Nessuno di loro funziona per me. Come posso correggere l'errore? Il messaggio di errore da Apple non dà davvero la minima idea di cosa dovrei fare.

+0

Faresti meglio a fornire i dettagli di "target" e "binari emeddded" di ciascun target. –

+0

Hai trovato la soluzione? –

+0

Possibile duplicato di [Errore di convalida: Bundle non valido. Il pacchetto in ... contiene file non consentito 'Frameworks'] (http://stackoverflow.com/questions/25777958/validation-error-invalid-bundle-the-bundle-at-taintains-sisallowed-file-fr) –

risposta

11

ho ancora non comprendo appieno le cause del problema, ma mi sono imbattuto in una risposta che ha finalmente risolto il problema per me.

https://github.com/CocoaPods/CocoaPods/issues/4203

In particolare, il post di mikehouse il 12 ottobre 2015 è stata la soluzione al problema.

Aggiungere il seguente script di esecuzione a TUTTI i target di estensione incorporati. Nel mio caso ho dovuto aggiungere lo script di esecuzione come fase di costruzione alla mia estensione Oggi e alla mia estensione dell'app Apple Watch.

cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/" 
if [[ -d "Frameworks" ]]; then 
    rm -fr Frameworks 
fi 
+2

Non penso che questa sia la soluzione perché lo script rimuoverà la cartella denominata come framework e tutto il suo contenuto e se l'app dipende da qualsiasi framework che viene rimosso, l'app si arresterà in modo anomalo durante il runtime. Secondo la mia comprensione, è necessario contattare gli sviluppatori di tale framework. Possono rimuovere o rinominare la cartella e ricostruire il framework. –

+0

Il punto chiave è avere lo script di esecuzione alla fine della fase di creazione. –

6

Quanto sopra non ha funzionato per me.

Embedded Content Contains Swift Code: NO

non ho davvero fare qualcosa per me.

Ho riscontrato questo problema utilizzando un framework dinamico. mio quadro dinamico conteneva altri quadri dinamici che ha reso OK avere:

Embedded Content Contains Swift Code: YES

E invece con gli altri quadri dinamici impostati su No, invece. Ma invece di che ho dovuto impostare

Always Embed Swift Standard Libraries: NO

sotto fasi di creazione.

Questo set impostato su SÌ ha generato la cartella frameworks che causa il caricamento su ITC non riuscito.

+1

Impostare entrambi questi lavori per me. Grazie – dmclean

+0

Questo ha funzionato per passare il processo di caricamento (ricevevo errori prima di completare il caricamento) bu poi ho ricevuto un'email da Apple: Abbiamo scoperto uno o più problemi con la consegna recente per "InstaStickers: Trasforma le foto di Instagram in adesivi" . Per elaborare la consegna, è necessario correggere i seguenti problemi: Pacchetto non valido - Una o più librerie dinamiche a cui fa riferimento la tua app non sono presenti nel percorso di ricerca di dylib. Una volta che questi problemi sono stati corretti, è possibile riconsegnare il file binario corretto. Cordiali saluti, Il team di App Store –

0

ho avuto un quadro che costruito con le seguenti impostazioni di generazione:

Always Embed Swift Standard Libraries: YES

Allow Non-Modular includes in Framework Modules: YES

Così ho cambiato sia per NO e costruire di nuovo framework.

Always Embed Swift Standard Libraries: NO

Allow Non-Modular includes in Framework Modules: NO

ho aggiunto nuova build di quadro al mio progetto in modo da caricato a iTunes Connect con successo.

Problemi correlati