我需要在我的应用程序中实现自定义日志记录。
为此,我需要检测当前应用程序的版本是否已从应用商店安装,或正在从Xcode运行,或是TestFlight版本。
根据安装来源,应用程序中有一些不同之处吗?
我不想在开发环境中有任何不同。
我需要在我的应用程序中实现自定义日志记录。
为此,我需要检测当前应用程序的版本是否已从应用商店安装,或正在从Xcode运行,或是TestFlight版本。
根据安装来源,应用程序中有一些不同之处吗?
我不想在开发环境中有任何不同。
您可以通过从应用程序包中读取embedded.mobileprovision文件来部分实现:
NSString *provisionPath = [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"];
如果不存在,您就处于应用商店版本中。
如果存在,您需要找出调试和 ad-hoc 配置文件之间的差异,并查找以确定您当前使用的是哪个版本。
由于 XCode 自动在 Debug 配置文件中设置了“DEBUG”标志,而在 AdHoc 构建中默认使用 Release 标志,因此最好在应用商店版本中禁用日志记录,并根据 DEBUG 宏标志确定日志记录级别。您可以使用构建配置来定义一个宏,让您知道您已经为TestFlight构建了应用程序。
例如,我们将调试构建设置为宏USE_TESTFLIGHT,在我们的代码中,我们这样做:
#ifdef USE_TESTFLIGHT
//do something test-flight specific
[TestFlight takeOff:kTestFlightAppToken];
#endif
你可以创建新的构建配置,根据你正在编译/分发应用程序的方式设置不同的宏,并使用#ifdef来执行基于这些宏的不同任务。