如何判断iPhone是否处于沙盒模式?

时间:2010-09-05 02:23:23

标签: iphone objective-c cocoa-touch

我有一个具有In App Purchases的iPhone应用程序,每当成功或失败的IAP事务时,我的应用程序也会ping我的服务器,但我不想计算我在自己的测试设备上制作的IAP。如何在程序中告诉我是否在沙盒用户帐户中?

4 个答案:

答案 0 :(得分:1)

你能保持一个常量来定义应用程序是否处于调试模式吗?例如:

#define kDebug true

当然,在向Apple提交更新之前,您必须记住将其翻转为假。

另一种选择是维护应用程序在制作IAP时应忽略的UDID数组。

答案 1 :(得分:0)

如果您还没有adhoc分发,则为adhoc分发创建新配置。仅选择该配置的构建标志,并添加其他cflags,如-DADHOC = 1,然后在代码中检查#if ADHIC == 1 ...... ... #endif

因此,根据您正在构建的配置,您可以告诉。

答案 2 :(得分:0)

如果您运行的应用程序与Mac连接并在调试器下运行以在沙盒模式下测试应用内购买,那么您可以尝试使用此问题的答案检测调试器“Any way to tell if my iPhone app is running under the debugger at runtime?

答案 3 :(得分:0)

这几乎适用于大多数情况:

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