我们可以从App Store获取iPhone版本的应用程序版本号吗?
而不是使用网络服务来获取当前的应用程序版本号并在我的代码中比较它以弹出更新警报,有什么方法可以直接从App-Store/i-Tunes获取应用程序版本号?我们可以从App Store获取iPhone版本的应用程序版本号吗?
经过所有的评论纠正我,如果我错了。
- 我们不应该表现出本地通知(如警报)与用户关于编程的新更新的可用性?
我虽然通过HIG指南,但无法打出这样的经验。所以在决定时很困惑。
这样的警报更新肯定会违反Apple准则。对于iOS设备,App Store应用会显示应用警报,其中会显示可用更新数量的徽章。开发人员无需做任何事情。
如果您担心用户错过了您的应用更新,请放心,iOS用户密切关注应用商店应用&知道所有更新都会通过它。
但是,存在一些拙劣的方法,通过这些方法您可以发现,这是您更新后的第一次运行,无需联系任何Web服务或iTunes/App商店。
一个已知的对我黑客:
获取图书馆目录路径 -
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
LIBPATH会是这样的 - 在/ var /移动/应用/ 8CFB747F-9446-44CB-98B9- C6FF1CF7BF93/Library
这个随机字符串在/ Library随每次更新而改变。您可以将此字符串保存在NSUserDefaults中,并在每次启动时将路径与保存的字符串进行比较。如果发现字符串不同,这意味着这是您更新后的第一次运行。显示更新提醒!然后用新的更新保存的字符串。
HTH,
阿克沙伊
但许多应用程序通常会向用户弹出消息提示“新更新可用”,我不觉得这是违反苹果指南的, –
如果我是对的,他希望从应用商店获取版本号,而不是添加标签在网络服务? –
你能举一个这样的应用程序的例子吗?即使存在,也并不意味着它不违反HIG。 – Akshay
为什么你需要这样做? – BoltClock
由于网络服务是由第三方提供的,他们有很多的专家来添加标签,所以试图跳过这是坦率:) –
因此,创建自己的网络服务。 –