2010-09-05 19 views
1

J'ai une application iPhone qui a In App Achats, et mon application pings également mon serveur chaque fois qu'une transaction IAP réussie ou échouée, mais je ne veux pas compter les IAP que je fais sur mes propres appareils de test. Comment puis-je savoir dans le programme si je suis ou non dans un compte utilisateur en bac à sable?Comment savoir si un iPhone est en mode bac à sable?

+1

Pourquoi est-ce un CW? –

+0

Je posais la même question. Y at-il une raison pour laquelle la question est une CW? Il peut être répondu, et il y a une bonne réponse. – kiamlaluno

Répondre

1

Pourriez-vous conserver une constante qui définit si l'application est en mode débogage? Par exemple:

#define kDebug true 

Bien sûr, vous devez vous rappeler de retourner à false avant de soumettre une mise à jour à Apple.

Une autre option consisterait à gérer un tableau d'UDID que l'application devrait ignorer lors de la création d'IAP.

+0

Malheureusement, aucune de ces solutions n'est idéale car il y a beaucoup de dispositifs de test, et d'autres sont ajoutés assez régulièrement. En outre, nous souhaitons QA l'application dans un état aussi proche que possible de ce qui sera publié sur l'App Store. – Jessica

0

Vous créez une nouvelle configuration pour la distribution adhoc, si vous n'en avez pas déjà une. Sélectionnez les drapeaux de construction pour cette configuration seulement, et ajoutez comme autre cflags quelque chose comme -DADHOC = 1 et puis dans votre code vérifier #if ADHIC == 1 ... ... #endif

Donc en fonction de quelle configuration vous construisons, vous pouvez alors dire.

+0

Donc, il n'y a pas d'API pour cela? – Jessica

0

Cette travaillera pour la plupart des cas:

#ifdef DEBUG 
#define sandbox YES 
#else 
#define sandbox NO 
#endif 
Questions connexes