我试图从我的应用内部展示App Store表单:
https://gist.github.com/valeIT/bf9b357d8ef470fc559c
我的ViewController符合SKStoreProductViewControllerDelegate。似乎问题出现在" loadProductWithParameters"因为我尝试从完成块之外调用presentViewController并且它呈现和解散就好了,只是它完全是空的(白色屏幕)。我尝试将字符串或nsnumber作为字典传递,但没有任何变化。有什么想法吗?
答案 0 :(得分:1)
我知道这个问题很疯狂,但我遇到了同样的问题。
根据文档,您要点的唯一部分是,ml-auto
的值应为SKStoreProductParameterITunesItemIdentifier
类型,但您提供了NSNumber
。尝试将其更改为
String
看看是否有效。
答案 1 :(得分:0)
如果没有要加载的产品,SKStoreProductViewController loadProductWithParameters似乎无声地失败...如果产品是Mac应用程序或仅限iPad,并且您要求从iPhone请求它,或者您要求来自iPad的iPhone专用应用程序,loadProductWithParameters永远不会返回。
ol'久经考验的UIApplication openURL:使用iTunes URL的技术可以在每种情况下都可靠地响应 - 即使对于Mac应用程序 - 通过浏览器:
NSString *itunesiOSURL = @"https://itunes.apple.com/us/app/myiOSapp/id123456789?mt=8";
NSString *itunesMacURL = @"https://geo.itunes.apple.com/us/app/myMacApp/id123456789?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:itunesURL]];
答案 2 :(得分:0)
SKStoreProductViewController
类不支持子类化或嵌入,必须按原样使用。
重要
如果使用iOS 13 SDK进行编译,则尝试实例化SKStoreProductViewController
的子类将导致runtimeException
。