2015年初苹果禁止在应用内新版本提示并跳转到App Store内, 如果存在并被审核人员发现, 唯一的结局就是Reject —- 无法通过审核. 但是有的App还是绕过了苹果的审核, 实现了App内弹出更新提示. 根本原因在于隐藏了更新提示弹窗.
1、获取App在App Store内的版本信息, 有两种方式
- 根据应用的Apple ID号获取, 第一次发布的可以通过iTunes Connect里面的Apple ID获取
- 根据bundle Identifier获取
备注:对于某些只在国内发布的App可能获取到的数组为0, 这个时候可以把https://itunes.apple.com/lookup改为https://itunes.apple.com/cn/lookup
2、根据获取到的版本信息和本地版本信息进行对比, 决定是否显示弹窗
- 本地version版本号
- [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleShortVersionString”]
- 本地构建版本号
- [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleVersion”]
3、判断版本是否需要提示(这里是关键, 需要进行判断才显示, 不然会被拒)
//本地版本号
NSString *localVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
//App Store版本号
NSString *appStoreVersion = @"通过网络请求获取到的App Store版本号";
if ([localVersion compare:appStoreVersion options:(NSNumericSearch)] == NSOrderedAscending) { //本地版本比App Store版本低才弹窗
//更新提示
}