从App Store请求IAP产品时出现错误

在IOS6中,我成功地在我的应用程序中进行应用内购买。

我下载了IOS /和Xcode 5 Beta,并试图打开同一个项目。

我从代码中获取产品的代码是:

- (void)requestProductsWithIdentifiers:(NSSet*)identifiers { @synchronized(self) { DebugLog(@"requesting products with identifiers: %@", identifiers); self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers] ; self.productsRequest.delegate = self; [self.productsRequest start]; } } 

但是它返回一个错误:

 [IAPHelper request:didFailWithError:](114): request did fail with error: <SKProductsRequest: 0xb846a10> / Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0xb846b10 {NSLocalizedDescription=Cannot connect to iTunes Store} 

哪里可以解决问题?

苹果阻止testing应用程序内购买…

以下是发行说明的链接https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-SW578

请参阅:iOS模拟器部分

StoreKit(应用内购买)在模拟器中不起作用。 13962338

很伤心…

安装xcode 5和iOS 7模拟器后,我最近遇到了同样的问题。

以前SKProductRequests在模拟器中工作,但现在他们失败,错​​误代码2(他们仍然在设备上工作)。

我不确定是什么原因造成的,但我的解决scheme是下载iOS 6.1模拟器。 xcode首选项 – >下载 – >组件,然后selectiOS 6.1模拟器。

之后,我不得不selectiOS 6.1模拟器作为我的设备目标,从模拟器中删除应用程序,然后编译并再次运行它。 现在SKProductRequests按照预期返回了产品信息。

我尝试切换回iOS 7模拟器,但SKProductRequests再次失败。

更新 :在模拟器中testing应用程序内购买似乎在Xcode 6testing版中工作

  1. 确认您已从iTunes和App Store中注销(设置 – > iTunes&App Store – >触摸Apple ID – >注销)

  2. 回到您的应用程序,再次购买并使用testing用户帐户login,因为开发版本会访问Sandbox商店而不是生产商店。

正如Arkady所说,随着XCode 5的GM发布,你不能在模拟器中购买应用程序。 不过,我可以通过从iTunes和App Store(如Tafkadasoh提到的)注销,然后从XCode在设备上运行应用程序,在运行iOS 7.0.2的iPad 2上testing应用内购买。 当我进入应用程序内购买时,我被提示input一个Apple ID,当我inputtesting用户帐户信息(我在iTunes连接中创build的)时,我能够成功地通过应用程序内购买沙盒模式。

发行说明没有说他们已经阻止了应用程序内购买,文中指出存在一个已知的错误“StoreKit(In-App purchases)将不能在模拟器中工作”13962338“,如果我正确地阅读它。 推测是13962338是错误号。 请注意,如果这是一个政客,我可能会同意你的说法:-)

PS由于他们已经删除iTunes设置,这使得有点棘手的应用程序内购买。

PPS也许我们应该都开始文件错误报告。