175 votes

Que signifie SDK de base, cible de déploiement iOS, cible et projet dans xcode?

Supposons que je mette 7 à 7 le SDK de base. Qu'est-ce que cela signifie? Cela pourrait signifier que l'application serait exécutée sur iOS 7. Mais c'est la cible du déploiement iOS.

Aussi, pourquoi dois-je spécifier ces 3 valeurs dans le projet et la cible. Cela n'a pas de sens. Pourquoi spécifier deux fois la même chose?

215voto

onmyway133 Points 2196

Dans le iOS 7 TeckTalk, session architecture moderne Apps, partie 2, ils expliquent cela clairement

enter image description here

86voto

trojanfoe Points 61927

La base SDK est ce que vous construisez votre application contre (c'est à dire inclure des fichiers de bibliothèque et et de cadres). Comme vous le dites, il n'a pas d'effet la cible de déploiement, à l'exception de la base du sdk >= cible de déploiement.

Vous spécifiez les paramètres de construction sur 2 niveaux, puisque chaque projet peut avoir plusieurs cibles, et vous pourriez ne pas vouloir les mêmes paramètres pour toutes les cibles. Le projet-paramètres de niveau de remplacer les paramètres par défaut et de la cible au niveau de remplacer les paramètres du projet au niveau des paramètres.

Pour exemple, j'ai des projets avec les deux OSX et iOS cibles et certains sont à l'ARC et certains sont MRR. J'aimerais avoir des projets différents pour chaque si j'étais incapable de spécifier les paramètres de construction avec le niveau de granularité que Xcode permet.

69voto

V1ru8 Points 2703

De Base du SDK le SDK vous lien contre. Cible de déploiement est le minimum requis, la version iOS de l'application a besoin pour fonctionner. Vous pouvez créer une application avec la SDK 7 qui fonctionne sous iOS 6. Mais alors vous devez prendre soin de ne pas utiliser n'importe quelle fonction ou une méthode qui n'est pas disponible sur iOS 6. Si vous le faites, votre application se crash sur iOS 6 dès que cette fonction est utilisée.

Voir la documentation d'apple pour plus de détails: https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/Configuring/configuring.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X