2010-06-21 9 views
1

Si j'ai créé une application pour 3.1.3 (en utilisant par exemple les frameworks dans les dossiers 3.1.3), comment puis-je cibler une version inférieure à celle (3.1.2) pour le Constructions ad hoc et de distribution?Création d'un numéro de version inférieur pour la distribution iPhone

Ne modifiez-vous pas le SDK de base dans les paramètres Informations sur le projet (Distribution) ou les informations sur la cible (Distribution)? (J'ai toujours été peu clair sur le diff entre ces deux fenêtres)

Répondre

1

Le SDK de base doit être 4.0 (ou 3.2 pour iPad). Vous n'avez pas d'autre choix avec le nouveau SDK.

Par conséquent, il s'agit de la valeur "iPhone OS target" que vous devez modifier, dans les paramètres du projet. Ici, vous pouvez revenir à OS2.0 si vous le souhaitez!

Lorsque vous faites cela et définissez une version antérieure à la version 4.0/3.2, tous les nouveaux appels pour les versions ultérieures seront faiblement liés; En d'autres termes, il fonctionnera sur l'ancien système d'exploitation, mais se bloquera si de nouveaux appels sont exécutés. Par conséquent, vous devez vérifier si les nouveaux appels sont pris en charge. Utilisez la méthode -respondsToSelector ou, en alternative, vérifiez UIDevice pour voir quelle version du système d'exploitation est en cours d'exécution. Editer: si vous utilisez Xcode 3.2.2 ou plus tôt, vous obtenez un choix plus large de SDK de base. Si vous définissez un SDK de base inférieur, les nouvelles commandes ne seront pas disponibles/ne seront pas compilées. Cela peut être utile, par exemple, si vous voulez garantir une application fonctionnant sur iPhone OS3.0. Cependant, cette option disparaît pour les numéros d'OS historiques dans Xcode 3.2.3 comme mentionné ci-dessus.

+0

Je construis avec Xcode 3.2.2, pas le nouveau Xcode. Quelle est la différence entre Project Info et Target Info? Il semble y avoir quatre paramètres ... Base SDK et cible de déploiement iPhone OS dans Info projet ... et même dans Target Info. – cannyboy

+0

Ok désolé, les commentaires de l'iPhone 4 ne concernent que Xcode 3.2.3 et supérieur. Le point global reste cependant valide :) – h4xxr

+1

Les informations sur le projet et les informations sur la cible sont généralement les mêmes, car la plupart des applications n'ont qu'une seule cible. Cependant, si vous écrivez une application universelle (iPhone et iPad), vous aurez plusieurs cibles, et vous pourrez ensuite définir votre SDK de base et votre cible de déploiement à l'échelle du projet ou par cible ... – h4xxr

Questions connexes