如何检测我的应用程序是从Xcode编译后启动还是从从iTunes下载的软件包中启动?
以下代码似乎不起作用,因为当我从Xcode构建并运行它时,else块总是被执行。
#if (TARGET_OS_SIMULATOR)
#else
//Xcode did not launch this app
#endif
如何检测我的应用程序是从Xcode编译后启动还是从从iTunes下载的软件包中启动?
以下代码似乎不起作用,因为当我从Xcode构建并运行它时,else块总是被执行。
#if (TARGET_OS_SIMULATOR)
#else
//Xcode did not launch this app
#endif
我不认为这个功能有广泛的应用,但是可以通过查看环境变量来实现。特别是在通过xcode启动时OS_ACTIVITY_DT_MODE" = YES
NSDictionary *environment = [[NSProcessInfo processInfo] environment];
UITextView *v = self.view.subviews.firstObject;
if([environment[@"OS_ACTIVITY_DT_MODE"] boolValue]) {
v.text = @"xcode attached";
}
else {
v.text = @"not xcode";
}
env中的参数是私有的,可能会更改,但env通常是检查此参数的好地方。
TARGET_OS_SIMULATOR
测试只是测试是否为模拟器构建。它与如何启动无关。一般来说,正确的答案是一个构建配置,而不是“我是从 Xcode 启动”的测试。 - Rob Napier