web-dev-qa-db-fra.com

"Support Swift non valide - Le dossier SwiftSupport est manquant" avec Xcode 7.3.1

Après avoir soumis une mise à jour d'application à l'aide d'Application Loader, j'ai reçu cet email d'Apple:

Nous avons découvert un ou plusieurs problèmes liés à votre livraison récente pour "[Nom de l'application]". Pour traiter votre livraison, les problèmes suivants doivent être corrigé:

Support Swift non valide - Le dossier SwiftSupport est manquant. Reconstruire votre application à l'aide de la version publique (GM) actuelle de Xcode et soumettez-la à nouveau il.

Une fois que ces problèmes ont été corrigés, vous pouvez ensuite remettre le fichier binaire corrigé.

J'ai confirmé que ce binaire a été construit avec le dernier Xcode GM (7.3.1), ce n'est donc pas le problème. J'ai vu une grande variété de solutions potentielles en ligne pour résoudre ce problème, mais espérais qu'en donnant plus de détails, quelqu'un pourrait peut-être m'aider à trouver la solution spécifique.

  • Soumis un fichier IPA en utilisant Application Loader 3.5 sans aucun problème.
  • La version précédente de l'application n'utilise pas Swift, mais cette mise à jour le fait.
  • Le paramètre de génération "Contenu incorporé contenant Swift Code" est défini sur NO. Ma compréhension est que cela ne devrait être que YES si nous avons une cible pure Objective-C qui dépend d’une cible Swift ou mixte.
  • Le projet utilise CocoaPods, mais rien n’a changé dans nos modules pour cette mise à jour.
  • La version précédente de l'application incluait une application WatchKit et une extension, mais pas cette mise à jour.
  • Dans une xcarchive générée avec la même construction, le dossier SwiftSupport est présent. Il contient un sous-dossier appelé iphoneos qui contient plusieurs bibliothèques Apple Swift telles que libswiftFoundation.dylib.
  • Si je renomme le fichier .ipa en .Zip et le désarchive, son package d'application ne contient pas de dossier SwiftSupport, mais contient un dossier Frameworks avec les mêmes fichiers Swift.
10
Luke

La solution ici était dans cette réponse . Nous devions utiliser le nouvel indicateur -exportOptionsPlist avec xcodebuild au lieu des anciens indicateurs -exportFormat et -exportWithOriginalSigningIdentity. La clé method doit simplement être définie sur app-store dans le plist.

10
Luke

Vous devez choisir "Enregistrer pour le déploiement du iOS App Store" au lieu de "Enregistrer pour le déploiement ad hoc" au moment de la création du fichier ipa.  enter image description here

2
Pranit

La cause première de ceci est que le profil de provisioning est ad-hoc et qu'il ne crée pas de répertoire SwiftSupport dans l'ipa. Le dossier est créé à l'aide de app-store comme méthode d'exportation. Cela a donc fonctionné pour moi lorsque j'ai mis à jour mon profil d'approvisionnement avec app-store.

Référence

1
tsuz

Dans mon cas, je viens d’ajouter un fichier Swift redondant au projet et le problème a été résolu.

0
Soohwan Park