不是使用网络服务获取当前应用程序版本号并在我的代码中比较它以弹出更新警报,有没有办法直接从 App-Store/i-Tunes 获取应用程序版本号?
看完所有评论后,如果我错了,请纠正我。
- 我们不应该以编程方式向用户显示有关新更新可用性的本地通知(作为警报)?
我通过了 HIG 指南,但无法找到这样的标准。在决定时很少感到困惑。
最佳答案
像这样的警告更新肯定会违反 Apple 准则。对于 iOS 设备,应用程序警报由 App 商店应用程序显示,并带有显示可用更新数量的徽章。开发人员无需执行任何操作。
如果您担心用户会错过您的应用更新,请放心,iOS 用户会密切关注应用商店应用并知道所有更新都是通过它进行的。
但是,有一些技巧可以让您在不联系任何网络服务或 iTunes/App 商店的情况下确定这是您在更新后的第一次运行。
我所知道的黑客之一:
获取库目录路径-
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
libPath 类似于 -/var/mobile/Applications/8CFB747F-9446-44CB-98B9-C6FF1CF7BF93/Library
/Library 之前的这个随机字符串会随着每次更新而变化。您可以将此字符串保存在 NSUserDefaults 中,并在每次启动时将路径与保存的字符串进行比较。如果发现字符串不同,则说明这是您更新后的第一次运行。显示更新提醒!然后用新字符串更新保存的字符串。
关于iphone - 我们可以从App Store for iPhone获取应用程序的版本号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592880/