2 votes

Forcer xcodebuild à utiliser un SDK spécifique seulement

J'essaie de corriger une formule homebrew qui utilise xcodebuild pour construire une dépendance. Malheureusement, cette dépendance repose sur un ancien SDK, MacOSX10.12.sdk . Je ne peux pas faire en sorte que ce projet utilise un SDK plus récent, car cela nécessiterait une vaste refonte de la base de code. De plus, cette bibliothèque provient d'Apple et ils ont choisi de ne plus la prendre en charge dans la dernière version du SDK Xcode.

Heureusement, j'ai réussi à trouver le SDK dont j'ai besoin à l'adresse suivante ce dépôt sur Github. Pourtant, maintenant, je ne sais pas comment forcer xcodebuild pour utiliser le SDK dont j'ai besoin. Peu importe les options ou les variables que je définis, xcodebuild utilise toujours le SDK par défaut de Xcode.

La version du système que j'utilise pour cela est la 10.12.6. Oui, même si la version du système lui-même est 10.12, Xcode refuse d'utiliser un SDK qui correspond à cette version.

Alors comment puis-je forcer xcodebuild pour utiliser mon ancien SDK dans mon propre répertoire personnalisé ?

1voto

Jose Chavez Points 645

Vous exécutez xcodebuild comme ceci :

xcodebuild -sdk "/path/to/sdk/" -project myproj.xcodeproj

0 votes

J'ai déjà essayé le -sdk drapeau. xcodebuild invoque toujours clang avec des drapeaux tels que -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.‌​platform/Developer/S‌​DKs/MacOSX10.13.sdk y -mmacosx-version-min=10.13 . Il invoque également libtool con MACOSX_DEPLOYMENT_TARGET=10.13 y -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.‌​platform/Developer/S‌​DKs/MacOSX10.13.sdk

0 votes

Êtes-vous sûr que vous n'avez pas défini ces chemins vers le SDK 10.13 dans le xcodeproj lui-même ?

0 votes

Je n'en suis pas sûr. Où puis-je trouver ces chemins dans Xcode ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X