Existe-t-il un moyen de déterminer dans le code si l'application en cours d'exécution est une version développeur, ad-hoc ou app store?Est-il possible de déterminer comment l'application a été construite?
Répondre
Vous pouvez ajouter des définitions de préprocesseur C pour chaque type à votre configuration de génération et utiliser cette définition pour définir une variable ou un indicateur dans le code exécutable.
Les builds de débogage peuvent parfois être détectés en appelant une boucle de référence dont le temps d'exécution varie de manière significative entre les niveaux d'optimisation -O0 et -Os sur un modèle de périphérique connu. Il est signalé que Apple modifie l'Info.plist d'une application dans les distributions de l'App Store, ce qui vous permet de compter et de contrôler les éléments de plist.
Rien de ce qui précède ne fonctionnera pour une bibliothèque statique pré-compilée sans entrée externe (ou peut-être en lisant l'Info.plist pour les ajouts/changements non officiellement documentés par Apple). – hotpaw2
Parlez-vous d'identifier votre propre application ou une application arbitraire que vous avez sur votre appareil? – Chuck
Je construis une bibliothèque statique qui peut être ensuite placée dans n'importe quelle application. Je veux mettre du code dans la bibliothèque pour déterminer quel type de construction est en cours d'exécution. – executor21