Question Dans iOS, avons-nous quelque chose comme Gradle Build Flavors sur Android?


Dans iOS, nous avons quelque chose comme Gradle Build Flavors sur Android.

Fondamentalement, je veux intégrer Applause SDK à mon application, mais je ne veux pas que ce code fasse partie de la version finale. Je veux seulement utiliser les applaudissements sdk uniquement pour distribuer l'application en interne et pour les rapports de bogues.

S'il n'y a rien de tel que les saveurs, quelle est la meilleure façon de le faire?


14
2017-09-09 23:34


origine


Réponses:


Vous pouvez utiliser des configurations de schémas et de construction dans Xcode. Voici la documentation officielle: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html

Après avoir créé une configuration de construction, vous devez modifier votre schéma pour utiliser cette configuration de construction. Pour cela, cliquez sur votre schéma et sélectionnez Modifier le schéma.

enter image description here

En bref, le processus est le suivant:

  1. Créer une configuration de construction
  2. Définissez des indicateurs personnalisés pour cette configuration. Pour cela, accédez à votre cible, sélectionnez l'onglet Paramètres de construction et recherchez les macros de préprocesseur. Vous pourrez y ajouter des drapeaux personnalisés

enter image description here

  1. Modifiez votre schéma ou créez un nouveau schéma pour utiliser votre configuration de construction.
  2. Dans votre code, vous devrez demander si l'indicateur est disponible à l'aide de macros de préprocesseur:

#ifdef APP_STORE //do something #endif


10
2017-09-10 00:21



Il existe plusieurs approches possibles pour créer une application iOS de différentes versions:

Différentes versions d'un fichier de ressources

  • Utilisez une variable de génération personnalisée pour basculer entre les différentes versions d'un fichier de ressources. Cet article explique comment créer une application avec différentes icônes.

  • Pour les fichiers et les ressources * .strings liés dans les fichiers * .storyboard, l'approche de suffixe suggérée dans le premier élément ne fonctionnait pas pour moi. J'ai donc ajouté un Script de lancement phase de construction tôt dans le pipeline. En utilisant un script, vous êtes libre de faire ce que vous voulez avant que la chaîne de génération habituelle ne gère vos fichiers. Ceci est idéal pour la génération de fichiers dynamiques ou la logique de sélection de fichiers avancée. En tant que commutateur, vous pouvez (à nouveau) utiliser une variable de génération personnalisée.

Code de modification

  • Utilisez un indicateur de compilateur comme suggéré ici. Ceux-ci peuvent être vérifiés en utilisant le préprocesseur.

  • Vous pouvez également (encore) vérifier les variables de génération personnalisées. Pour les rendre accessibles, ajoutez-les en tant que clé dans un fichier plist.


1
2017-09-20 16:12