SKStoreProductViewController是否允许更新应用程序?

时间:2013-03-14 00:08:53

标签: iphone itunes storekit

无法找到有关此内容的任何信息...如果我从我的应用内启动SKStoreProductViewController实例,将其提供给该应用的iTunes网址,是否允许应用更新?换句话说,我希望在我的应用中有一个显示SKStoreProductViewController的“更新”按钮,并允许用户从那里更新应用。

这很难验证,因为SKStoreProductViewController正在运行App Store的“沙盒”版本,而且我不确定是什么决定它是显示“打开”还是“更新”按钮。

4 个答案:

答案 0 :(得分:4)

我可以验证更新确实在展示已安装的应用程序时显示,该应用程序也有更新。

当然,它还会为您拥有的应用程序显示“安装”但尚未安装,并且“已打开”以安装和更新应用程序。

这是在发布的应用中使用生产代码,但我仍然无法在Apple的文档中找到任何验证。

enter image description here

答案 1 :(得分:1)

有趣的是,我尝试使用我自己的应用程序,我尝试通过检测应用程序的早期版本在SKStoreProductViewController中显示我的应用程序ID。 屏幕可见,更新按钮在那里,但是,点击更新,仍然留在应用程序的上下文中,SKStore抛出错误“此时无法下载”。 但是,我没有尝试在点击更新后立即退出应用程序

可能是因为必须退出应用才能执行更新?

答案 2 :(得分:1)

已经有一段时间了,因为这个问题已经有了爱,但它似乎还没有完全解决。我要添加我发现的内容。

这就是我运行测试的方式。我们刚刚开发了我们的应用程序的第一个版本,并且没有在应用程序商店发布。所以我做的是我从应用程序商店的另一个应用程序中获取了一个包ID,将它放在Xcode 8.3中的新应用程序中,并测试了此更新功能。我对以下问题感兴趣:应用A可以使用SKStoreProductViewController更新自己吗?

1)iPhone上的iOS 10.3。我已经完成了测试,它可以在我做过的6个左右的试验中运行。会发生什么事情,当我从SKStoreProductViewController内部进行安装时,它会崩溃我的应用程序(这并不奇怪 - 我安装在"相同的#34;应用程序 - 具有相同的应用程序捆绑ID),但安装继续。您可以看到通常从应用商店下载应用程序的常规下载进度指示器。

2)iPad上的iOS 11(iOS11,beta 5,我相信 - 内部版本号为15A5341f)。尝试更新(从应用A内更新应用A)时,使用SKStoreProductViewController,这不起作用。按下"更新后,我收到以下警告。按钮。我试了好几次。该应用程序没有崩溃。它只是没有下载"更新"。我不确定这是iOS版本的典型版本,还是SKStoreProductViewController行为的变化。

Failed app update

3)iOS 11,相同的设备:但是尝试从应用程序A中更新应用程序B.我运行此测试以查看问题是否是我在SKStoreProductViewController内根本无法下载的问题在测试版中。这很有效。在这种情况下我能够进行下载。

一旦iOS 11发布,我会尝试重新报告测试 - 看看我的测试2)是否有效或保持不变。

答案 3 :(得分:0)

是的,我在测试应用中实施了SKStoreProductViewController,并加载了我的设备上已安装的应用。该类显示“打开”按钮,当按下按钮时,设备切换到另一个应用程序。我没有任何应用程序更新,但类行为必须相同。当按钮从“购买”更改为“打开”时,我们知道其行为是动态的,并且应用程序更新是可能的。

enter image description here