这是" 使用MKStoreKit失败的应用内购买 "的后续问题:"iTunes连接产品配置问题:xxx "
我有一个类似的问题,并尝试使用和不使用MKStoreKit同时做一个类似的消息.
检查列表
感谢:http://troybrant.net/blog/2010/01/invalid-product-ids/
您是否为应用程序ID启用了应用程序内购买?
是
你有没有检查过你的产品清仓?
是
您是否已提交(并可选择拒绝)应用程序二进制文件?
是
您的项目的.plist捆绑ID是否与您的应用ID相匹配?
是
您是否为新的App ID生成并安装了新的配置文件?
是
您是否已使用此新配置文件将项目配置为代码签名?
是
您是为iPhone OS 3.0或更高版本构建的吗?
是.iOS4.2及以上.
您在制作SKProductRequest时是否使用完整的产品ID?
是.也只是没有反向域的产品ID本身
自从将产品添加到iTunes Connect后,您有几个小时的时间吗?
是.它说"等待审查"并且已经过去4-5天了
您的银行详细信息是否在iTunes Connect上有效?
没有.这是一个客户端项目,我只是在测试它是否正常工作.我需要银行详细信息来测试吗?
编辑:我现在改变了.但我不明白为什么我需要这样做只是为了测试沙盒.
您是否尝试从设备中删除该应用并重新安装?
是
你的设备越狱了吗?
没有
应用表示法是正确的
我见过的一些例子使用了这种表示法:com.domain.APP_ID.PRODUCT_TO_BUY
但其他人使用com.domain.PRODUCT_TO_BUY
哪个是对的?
在我的代码中,我尝试使用完整的符号和产品ID本身,但仍然遇到"无效的产品ID"的相同问题.
开发者被拒绝
App Bundle(发布)在iTunes Connect上,我有"开发者拒绝"这个包.
图片:

等待审核?
在我的应用内购买中,我有一个产品,一个可自动更新的订阅.它被清除出售; 然而,它是"等待审查"并且不是绿灯.
图片:

我差不多4-5天前创建了它,它仍然被标记为"等待审查"?
我想知道我的应用程序是否被"开发人员拒绝",这是否会对自动续订订阅的"等待审核"产生影响?
我在这个项目中没有改变任何东西.
根据各种文章,我必须等待24-48小时才可以使用它?
但是,在我可以在测试中使用它之前,是否需要等待接受或绿灯?
银行明细
我没有填写任何银行详细信息,因为这是一个客户端的应用程序 - 在继续测试之前,我是否需要填写银行详细信息?
根据这些文档:http://developer.apple.com/library/ios/#technotes/tn2259/_index.html 银行详细信息是否必需?
在运行应用程序之前,我是否需要在测试帐户下登录设备上的iTunes?
我想知道是否有人可以澄清这些问题?也许它就像等待应用内购买"绿灯"一样简单,或者我错过了一步?
注意:无论我是使用MKStoreKit还是使用后面的代码,都会发生这种情况.
谢谢.
我的代码(这是非MKStoreKit版本)
#define kMySubscriptionFeature @"uk.co.samplewebsite.myappproject.sub1"
- (void)viewDidLoad
{ …Run Code Online (Sandbox Code Playgroud) 我正在我的iOS应用程序中实现IAP,我正在使用最新版本的SwiftyStoreKit Framework来帮助我购买.
我已经完成了所有的前置任务,例如在itunes connect中设置开发者帐户,为应用程序生成provisiong配置文件,在TestFlight中进行新的消耗品和非消耗品购买,将这些购买添加到应用程序信息(准备提交)以及创建沙箱用户.我已经按照这个答案进行了调试,这一个和这一个.
现在,问题是每当我发送检索产品信息的请求时,我都会收到以下错误.
RetrieveResults(retrievedProducts: Set([]), invalidProductIDs: Set(["com.mycompany.app.consumable"]), error: nil)
当我尝试购买该产品时,我收到此错误 Purchase Failed: SKError(_nsError: Error Domain=SKErrorDomain Code=3 "Invalid product id: com.mycompany.app.consumable" UserInfo={NSLocalizedDescription=Invalid product id: com.mycompany.app.consumable})
恢复购买和验证收据似乎工作正常......
任何指针都会非常有用.
谢谢.
更新:
我现在已经离开了SwiftyStoreKit框架并使用Apple自己的方式使用SKProductsRequest,我已经设置了委托函数和所有要求,然后运行函数调用'SKProductsRequest.start()'它仍然让我回来一组无效的产品ID再一次.
对于新方法,我设置了一个新项目,以及bundle ids配置文件和itunes connect app.我也可以将应用程序上传到itunes connect for testflight!所以ids似乎是正确的.