我正在尝试实施应用内购买。
我已经在iTunes Connect中注册了一些应用内购买。我认为这足以让应用程序找出应用内购买。但应使用产品ID初始化SKProductsRequest。
[[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIdentifiers]];
SKProductRequest可以知道应用内购买的名称,价格和产品ID。当它与Apple服务器通信时,即使没有productIdentifier初始化也是如此。正确?
所以,我不明白为什么SKProductsRequest需要产品ID。 我是否可以在没有产品ID的情况下使用它来从Apple服务器检索应用内购买内容?
答案 0 :(得分:3)
您需要为initWithProductIdentifiers
调用提供一组有效的产品标识符,因为这是API指定的内容。
要使用SKProductsRequest对象,请使用列表初始化它 产品标识符字符串,附加委托,然后调用 请求的启动方法。请求完成后,您的代表 收到SKProductsResponse对象。
为什么API以这种方式设计是一个观点问题(除了Apple的人们,他们知道为什么他们这样设计)。我的意见是,通过要求应用程序提交产品标识符集,可以避免在以下情况下可能出现的问题: