6
votes

Xcodebuild ne générant pas de framework dynamique avec architecture x86_64

J'utilise la commande xcodebuild pour générer un cadre dynamique. Pour le rendre compatible avec l'iPhone 5S Simulator, j'ai besoin de la construire avec une architecture X86_64. Mais ce n'est pas la construction du cadre.

J'utilise la commande ci-dessous pour cela. P>

xcodebuild -project $PROJECT_PATH -configuration 'Release' -sdk 'iphonesimulator7.0' clean build ARCHS='x86_64' VALID_ARCHS='x86_64' IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR="$BUILD_DIR/build-x86_64" BUILT_PRODUCTS_DIR="BUILD_DIR/build-x86_64"


7 commentaires

Impossible de le générer en Xcode?


Le projet-cadre est-il répertorié comme une dépendance dans les phases de construction? Xcode va résoudre les dépendances implicitement, mais la ligne de commande ne sera pas.


Il est généré pendant que j'utilise Xcode, mais sans générer via la commande XcodeBuild.


J'ai mis quatre commandes xcodebuild dans le script d'exécution de la cible agrégée. Trois architecture génèrent le cadre mais X86_64 ne génère rien.


La commande est-elle indiquée pour le cadre ou pour un projet qui utilise le cadre? Oh au fait, X86_64 n'est pas correct pour iPhone 5S. L'architecture correcte est Arm64.


Je veux le supporter pour le simulateur iPhone5S. Et je génère un cadre dynamique. Je veux juste que mon cadre prennent en charge tous les simulateurs iPhone et tous les appareils.


Quel message d'erreur obtenez-vous réellement? Et une fois que vous avez construit tous les fichiers binaires avec toutes les tranches d'architecture nécessaires, utilisez-vous Lipo pour les combiner dans une bibliothèque universelle?


3 Réponses :


0
votes

Il est possible de manquer le paramètre -Target "mtarget" . Par défaut, si vous ne passez pas ce paramètre, xcodebuild créera la première cible répertoriée dans le projet. Est votre cible souhaitée la première cible du projet?

Une autre option que vous pourriez essayer consiste à utiliser une méthode éprouvée pour créer des frameworks universels pour iOS. J'ai utilisé la méthode décrite ici avec de nombreux cadres avec des résultats parfaits: https://github.com/jverkoey/ios -Framework . Je ne suis pas le développeur de cette méthode.

sans afficher des messages d'erreur ou même comment vous savez que cela échoue, il est difficile de vous donner plus de détails. Est-ce que ça ne va pas de construire (vous obtenez donc un message d'erreur)? Échoue-t-il parce que vous ne voyez pas l'architecture x86_64 dans le cadre final?


0 commentaires

0
votes

Essayez quelque chose comme celui-ci dans la liste des arguments Lien manuel de Xcodebuild

BUILDDIR="<path/to/build/directory>"
xcodebuild -workspace "<path/to/workspace/>my.xcworkspace" -scheme "NameOfMySchemeToBuild" -destination "platform=iOS Simulator,OS=8.0,name=iPhone 6" -configuration "Release" OBJROOT=$BUILDDIR SYMROOT=$BUILDDIR


0 commentaires

0
votes

Merci pour vos réponses ..

Je viens de trouver que iPhonesImulator7.0 sdk n'était pas installé sur ma machine, il a donc été échoué pendant la construction.

Je l'ai changé à iPhonesImulator et son travail maintenant.


0 commentaires