检测app是否在iOS测试版上运行?

jam*_*one 5 iphone ipad ios iad

我在iOS应用商店中有一些支持iAd/AdMob的应用.我注意到每次iOS测试版发布时,广告请求都会直线下降.我假设这是由于许多人运行测试版操作系统,因此几乎总是得到一个iAd测试广告.我的代码是否有某种方式可以检测应用程序是否在Beta版操作系统上?这样我可以默认使用AdMob,这样我就可以获得一些收入.

Jon*_*ant 7

这不是一种特别漂亮的方式,但您可以阅读设备版本并将其与当前最新的已发布版本进行比较,如果设备版本较高,则还原为AdMob.

这将使设备版本成为字符串:

[[UIDevice currentDevice] systemVersion]
Run Code Online (Sandbox Code Playgroud)

您可以将其转换为浮点值并将其与硬编码版本进行比较,但这意味着在新iOS发布后部署新版本:

if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.3) 
{
    // revert to AdMob...
}
Run Code Online (Sandbox Code Playgroud)

作为一个更好的解决方案,您可以从网站请求当前最大的iOS发布版本...只需在您的网站上删除内容为"4.3"的iosversion.txt文件,并使用它来控制交换机.

不幸的是,似乎没有[[UIDevice currentDevice] isBeta]类型方法.