我不知道如何,也不知道它是否仍然有效。但这是一个有趣的解决方案,它让我解决了我的问题。
根据文档,SKProductRequest 应该是;
SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];
您的产品要求应该是这样的;
com.my_site.my_app.my_product
但在我的情况下,我只是发送了我的产品 ID,就像这样WORKED;
解决方案#1
SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];
在深入研究的过程中,我发现这种表示法对某些人来说也有效。
解决方案#2
SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.my_site.my_app","my_product",nil]];
我的设置没有任何问题,应该提供上面列出的内容,如果有人遇到无效产品标识符的问题,我建议他们访问 Troy Brant 的“无效产品 ID 列表的原因”, here http://troybrant.net/blog/2010/01/invalid-product-ids/。您还可以找到有关实施和设置 IAP 的详细演练, here http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/.
如果您感到绝望,我强烈建议您尝试这两种解决方案,它们可以使您免于数小时的沮丧。