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.
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.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
..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.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.
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
.
Dans mon cas, je viens d’ajouter un fichier Swift redondant au projet et le problème a été résolu.