0

我有一个应用程序,单击按钮后会将客户端发送到 AppStore 以下载新应用程序。这是通过以下代码完成的:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/app/yyy-mobile/id4xxxxx89"]]; 

这行代码在 iOS6 之前运行良好,但在最新的 v7 iOS SDK 之后,代码就坏了。

我们如何解决这个问题?如果设备安装了 iOS 7,我们是否需要 if/else 逻辑检查?例如:

if( iOS < 7 ) { // keep old logic 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/app/yyy-mobile/id4xxxxx89"]]; } 
else // new logic for iOS 7  
     //TBD 
}

还是用适用于 iOS7 和 iOS6 的新代码替换旧行(即向后兼容的新方法)会更好?

4

1 回答 1

0

我可以推荐使用 Appirater 项目中看到的 iOS 6+ SKStoreProductViewController:https ://github.com/arashpayan/appirater/blob/master/Appirater.m#L485 (+rateApp)

它将在您的应用程序内显示应用程序商店窗口,这比使用 -openURL 的旧解决方案要快得多

于 2013-11-11T12:26:55.590 回答