我需要在我的应用中实现自定义日志记录。
要做到这一点,我需要检测是否已从应用商店安装当前版本的应用程序,或者是从xcode运行还是TestFlight版本。
根据安装源的不同,应用程序中有不同的内容?
我不想在开发环境中有不同的东西。
答案 0 :(得分:11)
您可以通过从应用程序包中读取embedded.mobileprovision文件来获取部分内容:
NSString *provisionPath = [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"];
如果不存在,您将进入应用商店版本。
如果它确实存在,您需要找出调试和临时供应配置文件之间的一些差异,并寻找它以确定您所在的构建。
因为XCode会自动在Debug配置中设置带有“DEBUG”标志的应用程序,而不是在Release(默认情况下用于AdHoc版本)中设置,您可能最好禁用在应用商店版本中的日志记录和根据DEBUG宏标志确定日志记录级别。
答案 1 :(得分:0)
您可以使用定义宏的构建配置来通知您已为testflight构建。
例如,我们有调试版本设置宏USE_TESTFLIGHT,在我们的代码中我们做:
#ifdef USE_TESTFLIGHT
//do something test-flight specific
[TestFlight takeOff:kTestFlightAppToken];
#endif
您可以创建新的构建配置,根据您编译/分发应用程序的方式设置不同的宏,并使用ifdef根据这些来执行不同的任务。