Keine der oben genannten Antworten hat bei mir funktioniert. Dies lag daran, dass der Fehler nicht durch die übergeordnete App oder deren Erweiterung verursacht wurde. Vielmehr war eine der verknüpften Bibliotheken schuld.
Zur Bestätigung archivieren Sie zuerst mit Xcode und dann mit Organizer den Eintrag und suchen ihn mit Show in Finder. Dies zeigt die .xcarchive
Datei.
Wählen Sie diese Datei aus und wählen Sie "Paketinhalt anzeigen".
Wählen Sie die .app im Ordner Produkte / Anwendungen aus und wählen Sie erneut "Paketinhalt anzeigen".
Suchen Sie das fehlerhafte Modul im Ordner Frameworks. Zum Beispiel, wenn der Fehler ist:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
Dann wird im Frameworks/MyLib.framework
Folgenden wohl Folgendes sichtbar sein:
../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
Diese sind vorhanden, weil die verknüpfte Bibliothek - oder das Modul -, die die übergeordnete App enthält, die EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Suchen Sie das abhängige Modul in Xcode und aktualisieren Sie das Flag:
Beachten Sie, dass die App nach Behebung dieses Problems möglicherweise weiterhin mit einer erklärenden E-Mail aus dem iTunes Store abgelehnt wird:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
Wieder kommt dies zur EMBEDDED_CONTENT_CONTAINS_SWIFT
Flagge zurück. Stellen Sie sicher, dass dies nur für die übergeordnete App festgelegt ist YES
. Sowohl für die WatchKit-App als auch für die Erweiterung muss dieses Flag gesetzt sein NO
. Dies ist wie in @ Mikes Antwort oben beschrieben.