Je trouve fréquemment que j'ai besoin d'avoir une construction sur mon iPhone qui est ma version "démo-prête" qui pourrait indiquer mon serveur de démonstration. Je veux aussi une construction qui est la dernière et la plus grande déboguée de débogage que je développe avec les points de mon serveur de développement. Quelqu'un a-t-il trouvé un moyen très simple pour moi d'installer deux applications qui sont peut-être exactement le même code, mais pointez sur différents serveurs? Alternativement peut-être que j'aurais une application qui comptait quelques versions derrière la dernière version? De préférence, j'utiliserais le même projet Xcode pour construire et installer sur l'iPhone. P>
3 Réponses :
Avec la version actuelle de Xcode, vous y parvenez en modifiant le fichier d'info de l'application.plist pour utiliser un identifiant de paquet différent (et modifier éventuellement le nom du produit de l'application dans les paramètres de construction). P>
La version à venir de Xcode, à partir de ce que j'ai lu dans la documentation de PRERRELASE, dispose d'une fonctionnalité qui peut simplifier ce que vous voulez faire un peu. Cependant, étant donné que le logiciel Prerelease est couvert par la NDA, je ne peux pas vous donner des détails. P>
Vous pouvez ajouter des configurations de construction spéciales pour eux qui utilisent chacun un fichier info différent.Plist. Donc, peut-être pour votre démo, vous avez un info.plist nommé myApp-info-demo.plist et myApp-info.plist pour la sortie. P>
Ensuite, vous pouvez ajouter votre variable de serveur sous forme de variable Info.plist et recherchez-la lorsque l'application commence. Ou même simplement créer une instruction DEFINE dans votre nouvelle configuration, c'est quelque chose comme serveur = Demo.myServer.com pour la démo et le serveur = production.mysserver.com pour la Live. P>
La partie la plus importante consiste à modifier le CFBundidentifier dans la nouvelle information.plist. Donc, dans votre démo, vous pourriez nommer cela quelque chose comme com.mycompany.myapp.demo et le réel pourrait juste être com.mycompany.myapp. P>
Cela permettra aux deux versions d'apparaître sur le téléphone en même temps (les différents CFBundidentifIFicateurs). N'oubliez pas que si vous utilisez des achats intégrés ou des notifications push de serveur, vous ne pourrez pas le faire sans un profil spécifique séparé pour votre identifiant d'application réel et votre démo. P>
Au lieu de fichiers séparés, vous pouvez également utiliser $ (bundidentififier) code> dans votre fichier info.plist, puis définissez sa valeur sous forme de paramètre de construction défini par l'utilisateur.
Vous pouvez créer 2 cibles différentes avec 2 infos différents.plistes et 2 préprocesseurs différents définissent (dans les paramètres de construction de chacune des 2 cibles). Ensuite, IFDEF sur le préprocesseur définit pour sélectionner la constante du serveur, le compilateur utilise pour chaque cible. P>
Ensuite, effectuez le nom du produit et l'identifiant de paquet différent dans les deux paramètres de la cible différentes (de sorte que ni l'appareil ni le simulateur ne confondent les deux paquets d'application). P>