2014-11-26 10 views
15

Sto avendo lo stesso problema come this guy, this guy, e this guy (nota bene, non sono realmente sicuro se sono tutti i ragazzi, di per sé).Errore di convalida: Il bundle contiene file non consentito 'quadri'

Hanno finito per trovare le proprie soluzioni, ma nessuna si applica al mio problema. Sto usando Xcode 6.1 nella mia app iOS 8 con un'estensione inclusa. Sia l'app che l'estensione si basano su un framework incluso. Quando provo a inviare l'app allo Store, l'avviso di convalida che ricevo è "ERROR ITMS-9000: Invalid bundle. The bundle at 'xxxxx.appex' contains disallowed file 'Frameworks'".

Non riesco nemmeno a trovare un file chiamato Frameworks. Il framework condiviso dovrebbe essere salvato in/Library/Frameworks, che è la posizione di salvataggio consigliata da Apple. Il progetto utilizza anche Cocoapods, che mi colpisce come l'unico altro possibile colpevole, poiché ha riferimenti nei suoi file di configurazione a $ FRAMEWORK_PATH (sebbene la cartella di build non includa un file o una cartella con quel nome).

+0

Hai risolto questo? Sto avendo esattamente lo stesso problema. –

+0

La soluzione migliore delle risposte a monte è la soluzione qui: http://stackoverflow.com/questions/30361864/invalid-bundle-the-bundle-taintains-disallowed-nested-bundles-taintain-sisallow – buildsucceeded

risposta

2

Continuando a lavorare con questo, ho notato che la mia estensione di condivisione aveva una fase di creazione "Incorpora framework", con la destinazione impostata nella directory "Frameworks". L'ho cambiato in "Shared Frameworks" e l'errore è andato via.

Tuttavia, rimane un altro errore: "... contiene pacchetti nidificati non consentiti". Ho pensato che si trattasse di una sorta di avviso di errore ombrello a seguito dell'originale. Aprirò un'altra domanda per quello

9

OK per gli spettatori futuri ecco la correzione:

Quando si crea il proprio framework iOS (sto usando Xcode 6.1) quando si costruisce il prodotto finale contiene una cartella 'quadri' nel quadro fascio stesso. ad esempio MyFramework.framework/Frameworks. Ciò accade anche se non si specifica una fase di creazione di copia dei file/framework di embed.

Quello che devi fare è entrare nel tuo framework bundle, trovare la cartella framework vuota ed eliminarla. Questo non dovrebbe influenzare in alcun modo le funzionalità della tua app. Quindi crea la tua app e verifica che il framework incorporato non abbia una cartella Frameworks come pianificato.

L'archivio ora non deve contenere la cartella offensiva e l'errore dovrebbe scomparire!

+0

Come "entrate in voi framework bundle, trova la cartella framework vuota ed eliminala "? Dov'è il pacchetto framework? e come aprirlo? – WayneZhao

+0

La cartella frameworks è ovunque tu la metti.Quando lo costruisci appare in 'Utenti/username/Libreria/Sviluppatore/Xcode/DerivatiData/nomeprogetto/Costruisci/Prodotti/Debug-xxx /'. Poi li sposto in modo che Xcode possa riconoscere che esistono. Se fai doppio clic sul file 'myFramework.framework' (è come una cartella) vedrai una cartella Frameworks che deve essere cancellata. –

+0

Ha funzionato per me, ma devo capire come non avere carthage costruire framework contenenti framework ... – Jeef

4

Ho modificato le impostazioni di compilazione> Imballaggio> Definisci i moduli impostati su SÌ nel mio interno e guardo il target dell'app. Funziona bene per me.

+0

Xcode 7 utente qui, questo ha funzionato per me dopo questo tipo di problema riemerso per motivi le vecchie risposte non hanno tenuto conto di – CQM

4

Nel mio caso la soluzione è stata la seguente:

Try to create the script there 'problematic target' -> Build Phases' then click on + and select New Run Script Phase , the run script should go after all others. Insert there :

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

quindi pulire il progetto e cercare di creare un archivio ancora una volta. Questi risposta è stata fornita nel seguente problema:

Spero che questo aiuto.

+0

In Nel mio caso, con XCode 7.1.1 lo script non risolve il problema. Quindi ho dovuto eseguire il downgrade dei cocoapod alla versione 0.39.0.beta.3 e quindi eseguire il comando "pod install" – andreacipriani

+0

A. Devo tenere entrambi gli script o solo l'ultima parte? B. Dovrei controllare anche l'abilitazione dell'opzione da due (1. mostra la variabile ambientale, 2. Esegui solo l'installazione dello script)? "$ {}/SRCROOT Bacelli/target file di supporto/Pods-Orsys WatchKit estensione/Pods-Orsys WatchKit Extension-frameworks.sh" cd "$ {} CONFIGURATION_BUILD_DIR/$ {} UNLOCALIZED_RESOURCES_FOLDER_PATH /" se [[ -d "Frameworks"]]; quindi rm -fr Frameworks fi –

+0

Ho appena disabilitato lo script di incorporamento di Cocoapods Framework, gli stessi framework sono comunque nell'app principale. – igraczech

Problemi correlati