Je voudrais être en mesure de dire au moment de la compilation si je compile pour iPhone SDK 2.x ou 3.x, donc je peux laisser quelques bits (par exemple MapKit, GameKit) si besoin est. Actuellement, je le fais en utilisant un #define personnalisé. Je me demande s'il existe un moyen de détecter cela automatiquement à partir du SDK actif? Je connais TARGET_OS_IPHONE et TARGET_IPHONE_SIMULATOR, et TargetConditionals.h, mais je n'ai trouvé aucun élément lié au SDK actif.Y a-t-il un #define pour lequel SDK actif vous compilez dans le SDK de l'iPhone?
Répondre
Jetez un oeil à Availability.h (et AvailabilityInternal.h). Il y a __IPHONE_OS_VERSION_MIN_REQUIRED
défini ici ainsi que des constantes pour la version SDK.
Martijn est correct: __IPHONE_OS_VERSION_MIN_REQUIRED est la cible de déploiement. Le SDK de base actuel est __IPHONE_OS_VERSION_MAX_REQUIRED. Si vous essayez de l'utiliser pour déterminer quelles fonctionnalités sont disponibles sur le périphérique sur lequel votre code s'exécute, vous ne pouvez pas le faire en utilisant des macros au moment de la compilation, vous devez utiliser la détection de fonctionnalités d'exécution.
Si vous souhaitez vérifier si une version spécifique (ou ultérieure) du SDK est utilisée, vous pouvez vérifier certaines définitions.
Par exemple, si vous aviez un code que vous ne vouliez compiler que si l'iOS 6.0 ou version ultérieure SDK a été utilisé, vous pouvez utiliser ceci:
#ifdef __IPHONE_6_0
// Some iOS 6 code
#endif
ne peut pas faire cela parce qu'un en-tête de sdk inclura souvent un défini pour la prochaine version, par exemple iOS 9.3 SDK définit '__IPHONE_10_0' –
- 1. Comment compilez-vous la bibliothèque pjsip pour l'iPhone SDK version 3.0?
- 2. Comment définir le SDK actif dans xcode à l'aide d'AppleScript?
- 3. SDK iPhone: Comment créer un UITextView qui insère du texte dans lequel vous tapez?
- 4. AdMob SDK pour iPad?
- 5. iPhone: OS minimum, cible de déploiement et base/SDK actif
- 6. Y at-il un java sdk pour cygwin?
- 7. SDK pour les superpositions dans le jeu
- 8. SDK iPhone: Comment puis-je déterminer le dernier onglet actif dans un TabBarController?
- 9. Comment pouvez-vous localiser une étiquette dans le SDK iPhone?
- 10. iPhone SDK - UITextField avec le bouton + pour les contacts
- 11. Y compris plate-forme SDK dans QT Creator
- 12. filtres d'image pour le développement iphone sdk
- 13. iPhone SDK pour Windows. Laquelle?
- 14. Comment utilisez-vous #define?
- 15. Vous cherchez MySQL avec iphone SDK?
- 16. comment créer un contact dans le SDK de l'iphone?
- 17. Y a-t-il une API SDK iPhone pour Twitter?
- 18. Y compris un fichier DEFINE directive dans un makfile
- 19. Windows SDK de l'iPhone?
- 20. Reconnaissance vocale dans l'iphone sdk?
- 21. iPhone SDK 3.0 Targetting 2.2.1 SDK
- 22. SDK pour BlackBerry
- 23. SDK pour MediaTek
- 24. webservice Dans Iphone SDK?
- 25. Jouer des sons dans le SDK iPhone?
- 26. UITableView.backgroundColor dans SDK 4.0
- 27. Script dans iPhone SDK
- 28. Conventions de dénomination dans le SDK Android
- 29. Tests automatisés pour le wrapper Facebook SDK
- 30. iPhone SDK Enregistrer le problème d'état!
Cela indique en fait le déploiement iOS OS cible version, pas le SDK de base actuel. –