从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应用程序内购买…
请参阅: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版中工作
-
确认您已从iTunes和App Store中注销(设置 – > iTunes&App Store – >触摸Apple ID – >注销)
-
回到您的应用程序,再次购买并使用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也许我们应该都开始文件错误报告。