Nessuna delle risposte sopra ha funzionato per me. Questo perché l'errore non era causato dall'app padre o dalla sua estensione. Piuttosto una delle librerie collegate era in errore.
Per confermare, archiviare prima con Xcode e poi con Organizer selezionare la voce e individuare usando Show in Finder. Questo mostrerà il.xcarchive
file.
Seleziona quel file e scegli "Mostra contenuto pacchetto".
Seleziona .app nella cartella Prodotti / Applicazioni e di nuovo scegli "Mostra contenuto pacchetto".
Individua il modulo offensivo nella cartella Frameworks. Ad esempio se l'errore è:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
Quindi Frameworks/MyLib.framework
sarà probabilmente visibile quanto segue:
../Frameworks/libswiftContacts.dylib
../Frameworks/libswiftCore.dylib
../Frameworks/libswiftCoreData.dylib
../Frameworks/libswiftCoreGraphics.dylib
../Frameworks/libswiftCoreImage.dylib
../Frameworks/libswiftCoreLocation.dylib
../Frameworks/libswiftDarwin.dylib
../Frameworks/libswiftDispatch.dylib
../Frameworks/libswiftFoundation.dylib
../Frameworks/libswiftLocalAuthentication.dylib
../Frameworks/libswiftObjectiveC.dylib
../Frameworks/libswiftPassKit.dylib
../Frameworks/libswiftUIKit.dylib
../Frameworks/libswiftWebKit.dylib
Questi sono presenti perché la libreria collegata - o il modulo - che include l'app padre ha il EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Individua il modulo dipendente in Xcode e aggiorna il flag:
Tieni presente che, superato questo problema, l'app potrebbe essere comunque rifiutata con un'e-mail esplicativa da iTunes Store:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
Ancora una volta questo torna alla EMBEDDED_CONTENT_CONTAINS_SWIFT
bandiera. Assicurati che solo l'app principale sia impostata su YES
. Sia l'app che l'estensione WatchKit devono avere questo flag impostato su NO
. Questo è dettagliato nella risposta di @ Mike sopra.