it-swarm.com.de

Ungültiger Swift-Support/Der SwiftSupport-Ordner ist leer

Umwelt: Xcode 7 GM

Ich habe die iOS-App erfolgreich mit Xcode ohne Fehler hochgeladen. Diese App ist in Objective-C und Swift geschrieben.

Unmittelbar nach dem erfolgreichen Hochladen erhielt ich jedoch eine E-Mail von Apple, die diesen Fehler angab:

Ungültiger Swift-Support - Wir haben ein oder mehrere Probleme mit Ihrer letzten Lieferung für XXXXX (mein App-Name) festgestellt. Um Ihre Lieferung zu bearbeiten, müssen die folgenden Probleme behoben werden:

Ungültiger Swift-Support - Der SwiftSupport-Ordner ist leer. Erstellen Sie Ihre App mit der aktuellen öffentlichen (GM) Version von Xcode neu und senden Sie sie erneut.

Sobald diese Probleme behoben wurden, können Sie die korrigierte Binärdatei erneut ausgeben.

Hat jemand eine Lösung gegen dieses Problem?

Ich habe untenstehende Probleme bereits bestätigt.

"SwiftSupport/iphoneos /" -Bibliotheken in Archiven (.xcarchive-Datei) entspricht "Products/Applications/myApp.ipa/Frameworks /".

Meine Einstellung "Gültige Architekturen" ist "$ (ARCHS_STANDARD)" und zeigt "armv7k" an.

Das Provisioning-Profil ist auf Dev und Release eingestellt, die in iTunes Connect erstellt wurden.

In meinem "Bearbeitungsschema" ist das Testziel im Archiv nicht markiert.

30
Tsuyoshi Endo

Wichtiger Hinweis: Dies funktioniert nur für Projekte, die nicht Swift verwenden, siehe Kommentar unten

Ich bin auf dasselbe Problem gestoßen und habe es behoben, indem ich folgende Änderung vorgenommen habe: - Wenn Sie früher Swift - Dateien in Ihrem Projekt hatten, diese aber dann entfernten, müssen Sie nur "Eingebetteter Inhalt enthält Swift - Code" festlegen. auf NEIN in den Build-Optionen.

56
Lixu

Es gibt viele widersprüchliche Antworten auf dieser Seite. Was für mich funktionierte, war das, was here genannt wurde. Wählen Sie einfach eine Option zum Speichern für den iOS App Store aus. Ich möchte einfach ein Release für interne Tests im Testflug auslösen.).

ich habe jedoch die Möglichkeit zu überprüfen, ob Ihre IPA genehmigt wird oder nicht, bevor Sie sie abschicken:

  • ziehen Sie die .ipa-Datei in einen neuen Ordner (nennen Sie sie Analyse).
  • klicken Sie mit der rechten Maustaste auf die IP-Datei und benennen Sie sie in .Zip um (bestätigen Sie das zu verwendende Dialogfeld .Zip).
  • doppelklicken Sie auf die ZIP-Datei

hier erhalten Sie einen Ordner (mit demselben Namen wie die .ipa-Datei), der die folgenden Unterordner enthält:

  • nutzlast
  • swiftSupport
  • Symbole

enter image description here

wenn Sie nur den Ordner Payload in .. sehen, müssen Sie es erneut versuchen

auch ein paar Hinweise

  • Ich habe versucht, "Embedded Content Contains Swift Code" auf NO zu setzen. Es hat nur einmal funktioniert und danach nicht mehr funktioniert
  • Ich habe dafür gesorgt, dass ich keine Cocoapod-Fehler hatte. Das half auch nicht
  • Ich habe versucht, den Ordner SwiftSupport manuell in das Archiv einzufügen, wie vorgeschlagen here .., aber dann bekam ich alle möglichen Nebenwirkungen

fazit

Ich denke, das liegt an einem Fehler mit xcode (schreibe dies mit Xcode 8.0 build (8A218a)). Also versuch es weiter, bis es funktioniert. Erwarte nicht eine solide Erklärung dafür

14
abbood

wenn Sie versuchen, nach "Xcode-> Product-> Archive" zu exportieren, sollten Sie die Option "Für ios App Store-Bereitstellung speichern" wählen

Dasselbe Problem verwirrte mich ein paar Tage. Die obige Einstellung kann dieses Problem lösen.

egal "eingebetteter Inhalt enthält Swift-Code" ist "ja" oder "nein".

14
jdhuang

Fünf-Schritt-Lösung:

  1. Gehen Sie zu den Build-Einstellungen und markieren Sie das Flag Eingebetteter Inhalt enthält Swift-Code -> YES, wenn Ihr Code einen partiellen Swift-Code enthält oder vollständig in Swift erstellt wurde
  2. Archivieren Sie Ihren Build mit Xcode-> Product-> Archive
  3. Beim Exportieren des Archiv-Builds wird der Unterschied für die Build-Größe plötzlich 40+ MB betragen. Dies liegt daran, dass XCode den fehlenden SwiftSupport-Ordner hinzugefügt hat
  4. Laden Sie jetzt diesen Build mit dem Application Loader hoch
  5. Wenn dies nicht funktioniert, prüfen Sie, ob auf Ihrem System mehrere XCodes vorhanden sind. Gehen Sie zu Xcode-> Voreinstellungen-> Standort-> BefehlLinientools hat das gleiche oder das gleiche Xcode aus der Dropdown-Liste ausgewählt, auf der Sie die Codierung und den Vola vorgenommen haben.

Dies ist ein kleiner Nachteil, da Swift das Gepäck mit sich bringt und mit früheren Versionen und Objective C-Code kompatibel sein muss.

Meine vielen Stunden waren vergeudete Hoffnung, dass Sie dies hilfreich finden werden. 

10
Rein rPavi

Dieser Fehler kann auftreten, wenn Sie den IPA mit xcodebuild exportieren, ohne die Option -exportOptionsPlist anzugeben 

Siehe xcodebuild -help für die verfügbaren Schlüssel. Wahrscheinlich möchten Sie jedoch eine Liste mit mindestens dem Methodenschlüssel "app-store" wie folgt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
</dict>
</plist>
6
Jon N

Ich habe mich mehrere Stunden damit beschäftigt und hier ist was für mich funktioniert.

Im Archiv kopierte Xcode keine Swift-Bibliotheken in SwiftSupport/iphoneos , obwohl in meinem Projekt "Embedded Content Contains Swift Code" für alle Ziele auf yes gesetzt war. Es hat auch keine Swift-Bibliotheken in "AppName.app/Frameworks" kopiert. Also musste ich das manuell im Archiv machen, bevor ich es abschickte:

kopiere "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/iphoneos/lib*" nach "Archive_folder/Products/Applications/AppName.app/Frameworks" and "SwiftSupport/iphoneos"

Wenn Ihre App auch eine Watch-App hat

kopieren

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/watchos" into "Archive_folder/SwiftSupport/watchos" und "Archive_folder/Products/Applications/AppName.app/Watch/AppName WatchKit App.app/Frameworks"

Dann senden Sie die App.

2
Ken

Durch die Verwendung von Save for iOS App Store Deployment anstelle der Save for Ad Hoc Deployment Xcode-Exportoption wurde dieses Problem für mich behoben. Gegenläufig sollten Sie die erste Option auch für TestFlight-Builds verwenden.

2

Einstellung "Embedded Content enthält Swift-Code" to $(inherited) hat für mich funktioniert. Die Warnung nach der Ausführung des CocoaPods-Befehls pod install hat mir geholfen, dies herauszufinden.

[!] The `applewatch Extension [Debug]` target overrides the `EMBEDDED_CONTENT_CONTAINS_Swift` build setting defined in `Pods/Target Support Files/Pods-applewatch Extension/Pods-applewatch Extension.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or  <--------------
- Remove the build settings from the target.
1
Blank

Hier ist das, was ich jetzt mache, um dieses Problem zu lösen, da meine oben genannte Methode nicht mehr funktioniert. Denken Sie daran, dass die Haupt-App meines Codes Obj-C und meine Uhren-App Swift ist.

  1. Stellen Sie sicher, dass "eingebetteter Inhalt enthält schnellen Code" auf: .__ eingestellt ist.
    • JA für App-Ziel
    • NEIN für WatchKit Extension
    • JA für die Watchkit App
  2. Nach der Archivierung meines XCodes wird nicht "[Archivordner]/SwiftSupport/iphoneos" erstellt, sondern "Archivordner]/Products/Applications/[Anwendungsname] .app/Watch/\ WatchKit\App.app erstellt und gefüllt/Frameworks "mit den Swift-Dylibs. Also habe ich den folgenden Softlink erstellt:

    ln -s "[Archivordner] /Products/Applications/.app/Watch/\WatchKit\App.app/Frameworks" "[Archivordner]/SwiftSupport/iphoneos"

Wenn ich dann über XCode Organize einreiche, wird es ohne Fehler akzeptiert.

Wenn Sie die Dateien einfach kopieren, anstatt sie zu verlinken, riskieren Sie, dass die Watch-App die Grenze von 50 MB überschreitet.

0
Ken

Nachdem ich all diese Lösungen ausprobiert hatte, gelang es mir glücklich. Aber ich denke, dieser Link ist gut für Sie Invalid Swift Support/ungültige Implementierung von Swift . Ich folge diesen Schritten und starte dann meinen MAC neu, alles ist jetzt in Ordnung :)

0
Mike Htba

Übermittlung von App Store-Builds Problem:

Ungültig Swift Support - Der SwiftSupport-Ordner fehlt. Erstellen Sie Ihre App mit der aktuellen öffentlichen (GM) Version von Xcode neu und reichen Sie sie erneut ein.

Lösung:

In den meisten Fällen haben wir dieses Problem gefunden, weil wir die Bewerbung über den App Loader eingereicht haben und wie üblich ipa als Organizer> App Archive> Show erstellt haben Im Finder> Paketinhalt anzeigen> Produkte> Anwendungen> OurProjectName.app beim Kopieren dieser App in den Payload-Ordner und beim Zip-Vorgang und beim Erstellen einer ipa -Datei, die mit App Loader im App Store eingereicht werden soll. Das funktioniert einwandfrei, wenn Sie nur Objective C-Dateien einreichen, die Projekte enthalten.

Es gibt jedoch einige Änderungen, wenn Ihr Projekt Swift Klassen und deren Verwendung enthält. Wenn Ihr Projekt Swift Klassen mit Objective C-Projekt enthält, wurde die IPA-Inhaltsstruktur geändert etwas anders als beigefügter Screenshot.

enter image description here

enter image description here

Um dieses Problem zu beheben , senden Sie die App direkt von Xcode [OR] if Sie möchten die Anwendung über den App Loader als erstes senden. Exportieren Sie die IPA-Datei mit der Exportoption aus dem Xcode Organizer und senden Sie sie über den App Loader an den App Store.

Siehe den Referenz-Screenshot wie folgt:

enter image description here

Hurrey !!! Dein Problem wird behoben :) :) :)

0

Diese Fehlermeldung wird auch angezeigt, wenn Sie eine ipa hochladen, für die eine Liste mit export_method auf ad-hoc anstelle von app-store in iTunes festgelegt ist.

0
TheEye

Das Setzen von Immer Swift Standard Libraries auf Yes setzen ist nur für Objective-C-Ziele erforderlich, die eine Verknüpfung zu Ihren eigenen Frameworks herstellen, die von Swift abhängig sind. Wenn Sie nicht gegen ein internes Framework, das von Swift abhängt, eine Verbindung herstellen (dh verwenden), bettet Xcode die Swift-Standardbibliotheken in Ihr Archiv , solange mindestens einmal eine Swift-Standardbibliothek importiert wird in einer Swift-Datei, die Teil des Build-Ziels ist.

Wenn Ihr Ziel eine Swift-Datei enthält, in die keine Swift-Standardbibliotheken importiert werden, z. B. über "import Foundation" -, dann kopiert Xcode die Swift-Standardbibliotheken nicht in das Archiv.

Das Update für dieses Problem besteht darin, sicherzustellen, dass mindestens eine der Swift-Dateien in Ihrem Ziel eine Swift-Standardbibliothek (z. B. "import Foundation") importiert.

Daniel Jalkut hat einen sehr informativen Beitrag über Swift-Abhängigkeiten , der Licht in diese Ausgabe bringt.

0
BigSauce

Sie sollten beim Exportieren der IPA-Datei die Option "Für iOS App Store-Bereitstellung speichern" auswählen. enter image description here

0
Pranit

Mein Problem war, dass ich ein Adhoc-Profil für die Übermittlung an TestFlight verwendet habe (muss ein Verteilungsbereitstellungsprofil sein). Tolle Fehlermeldungen Apple!

0
Radek Czemerys