Disons que j'ai défini le SDK de base sur 7, qu'est-ce que cela signifie? Cela pourrait signifier que l'application fonctionnerait sur iOS 7. Mais c'est à cela que sert la cible de déploiement iOS.
Aussi pourquoi dois-je spécifier ces 3 valeurs à la fois dans le projet et dans la cible. Cela n'a pas de sens. Pourquoi spécifier deux fois la même chose?
objective-c
xcode4.5
user4951
la source
la source
Réponses:
Le SDK de base est ce sur quoi vous construisez votre application (c'est-à-dire les fichiers et frameworks d'inclusion et de bibliothèque). Comme vous le dites, cela n'affecte pas la cible de déploiement, sauf que base sdk> = cible de déploiement.
Vous spécifiez les paramètres de construction sur 2 niveaux car chaque projet peut avoir plusieurs cibles et vous pouvez ne pas souhaiter les mêmes paramètres pour toutes les cibles. Les paramètres au niveau du projet remplacent les paramètres par défaut et les paramètres au niveau de la cible remplacent les paramètres au niveau du projet.
Par exemple, j'ai des projets avec des cibles OSX et iOS et certains sont ARC et certains sont MRR. Je devrais avoir différents projets pour chacun si je ne pouvais pas spécifier les paramètres de construction avec le niveau de granularité autorisé par Xcode.
la source
Dans iOS 7 TechTalk , session Architecting Modern Apps, Part 2, ils expliquent cela clairement
Bonne lecture Salut! Je suis disponible!
Vous pouvez en savoir plus dans mon post SDK et cible de déploiement
la source
Le SDK de base est le SDK auquel vous associez. La cible de déploiement est la version iOS minimale requise dont votre application a besoin pour s'exécuter. Vous pouvez créer une application avec SDK 7 qui s'exécute sous iOS 6. Mais alors vous devez faire attention à ne pas utiliser de fonction ou de méthode qui n'est pas disponible sur iOS 6. Si vous le faites, votre application plantera sous iOS 6 dès que cette fonction est utilisée.
Consultez la documentation Apple pour plus de détails: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
la source