我正在努力将应用内购买添加到我的应用中 .
我能够收到 productsRequest:didReceiveResponse
方法,并收到产品数组 .
当我向SKPaymentQueue添加SKPayment时,我的问题出现了 . 将产品添加到队列后,在 paymentQueue:updatedTransactions
方法中,事务的状态始终为 SKPaymentTransactionStateFailed .
我NSLog“transaction.error”,这就是它返回的内容:Error Domain = SKErrorDomain Code = 0 UserInfo = 0x165000“无法连接到iTunes Store”
我已在设置应用中注销了商店,但在尝试在我的应用中购买产品后,它从未要求我使用我的测试帐户登录 . 它只是因上述错误而失败 .
25 回答
我有同样的问题,但我解决了以下模式:
我假设您已经完成了标准的健全性检查:仔细检查您的代码,确认您的产品ID,将您的代码与应用内购买编程指南进行比较等 .
这可能是荒谬的,但是 - 如果您确定您的代码是正确的 - 请执行iPod的硬重置(完全擦除)(设置=>常规=>重置=>删除所有内容和设置) . 几个小时我对这个确切的问题感到困惑 - 事实证明我的代码是正确的,硬重置是解决方案 .
我得到
SKPaymentTransactionStateFailed
错误代码0“ Cannot connect to iTunes Store ”并感谢thomax for this answer我的问题解决了 . 原来你 MUST enter a build number under Targets->Summary .我花了最后24小时重置手机,搞砸了iTunes连接,在我偶然发现这个解决方案之前做了我能想到的一切 .
我收到了同样的错误,但我被提示输入我的测试用户帐户 . 还有一个弹出窗口说“发生了一个未知错误” . 事实证明,当我创建我的测试用户帐户并退出设置 - >商店时,我决定使用我的测试用户帐户登录,该帐户已经提示我输入一些信息,包括计费,这已经破坏了我的测试用户帐户 . 当我创建一个新的测试用户帐户并且仅在应用内购买测试期间提示时登录,一切都顺利进行 .
如果您使用正常的Apple帐户进行沙盒In App购买,则可能会出现此错误(即“错误!无法连接到iTunes Store”) .
如果我在进行任何In App购买之前退出Apple帐户,我发现它有助于避免任何混淆 . 然后在“登录”对话框中选择“使用现有Apple ID”选项并输入您的测试用户详细信息 .
请记住,这将在您的设置中设置,因此您需要在完成In App购买后退出 .
此外,使用不同的Apple ID会重置各种与iTunes相关的设置,例如iTunes Match .
您可以检查以下链接是否正常或超时:
https://sandbox.itunes.apple.com/verifyReceipt
或者,检查沙箱是否正常工作的不科学但非常可靠的方法是询问:
https://devforums.apple.com/community/ios/connected/purchase
如果沙盒已关闭,可能会有人已经在谈论它,就像现在一样(2012年1月18日,UTC时间下午6:40) .
我也面临同样的错误 . 我想通了,错误只出现在模拟器上,当我切换到设备调试时,错误没有出现 .
只需在设置上从AppStore帐户注销即可...
解决了我的问题,因为我的设备是使用我的常规Apple ID记录的,并且因为沙箱上的购买总是使用测试用户ID完成,设备试图将我的常规Apple Store ID发送到“测试”App Store结果在此“无法连接到iTunes Store”错误 .
这是我在设备上看到的最常见的原因 .
点击同样的问题,我重置我的设备,交叉验证标识符,重新安装应用程序 . 也认为问题是,因为我已经改变了产品的参考和描述 . 实际上,我觉得这是因为我的测试用户被锁定为使用相同帐户的多人,并且密码验证可能会多次失败 . 所以我重新创建了另一个测试用户,并且应用内购买恢复了工作 . 希望这可以帮助 . 我完全被这个错误困扰了 .
确保您的BundleID匹配 . 那是我的问题 .
我得到了同样的错误,当我在我的测试环境中调用
SKProductsRequest
的start
方法时,它在- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
中运行当我打电话给我的制作环境时,它是正确的并且在
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
中运行尽快关闭
charles
或任何http代理软件!尽快关闭charles
或任何http代理软件!尽快关闭charles
或任何http代理软件!你知道吗〜
即使是完全恢复也无法解决这个问题 .
在为自动续订产品标识符调用
addPayment
之后,在从StoreKit收到"SKErrorDomain Code=0"错误之前大约一秒钟过去了 . 我没有提示(如Apple's documentation suggests one should be)获取iTunes Store用户名和密码;交易完全失败了 .要解决此问题,我必须在iTunes Connect中添加一个假的"consumable"产品,并使用假消耗品的产品标识符调用
addPayment
. 这导致iTunes Store对话框出现 . 然后我使用我在iTunes Connect中创建的测试帐户登录 . 这成功了:我的申请被告知已购买消耗品 .完成此操作后,我可以使用自动续订产品标识符调用
addPayment
并购买订阅一般 .确保您使用itunesconnect创建的沙盒用户帐户进行测试,而不是在测试此内容时测试您的个人帐户的实际苹果ID .
我认为值得一提的是DonnaLea在提示付款时只登录的解决方案也适用于Unity和Prime31的StoreKit插件 . 尝试通过您用于注销的相同设置菜单登录将提示所有方式的帐单\地址详细信息,这似乎永久“破坏”该测试帐户 .
当我正在努力添加应用内购买时,我发现自己处于这种情况,并且第一次没有做到这一点 . 在我的情况下,我在服务器端PHP中出错,因此我认为我没有完成“finishTransaction:” . 即使我解决了问题(我把程序放在一个单独的设备上并成功购买),我仍然得到“你已经购买了这个,点击下载”,然后是“无法连接到iTunes Store” .
我终于通过从Springboard(而不是XCode)启动游戏来停止这样做 . 它立即成功处理了事务并停止提示我重新下载 .
这类似于上面接受的答案 . 在使用IAP沙盒帐户登录后尝试登录我的手机上的iTunes帐户时,我开始收到“无法连接到iTunes商店”错误 .
为了解决这个问题,我能够重置所有设置而不是擦除所有内容和设置(设置=>常规=>重置=>重置所有设置) . 绝对比丢失并重新安装设备上的所有内容更好 .
我遇到了同样的问题,首先我还没有创建测试帐户所以我通过这个链接获得了帮助https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SettingUpUserAccounts.html#//apple_ref/doc/uid/TP40011225-CH25-SW10
然后,您需要从设备上的当前帐户退出 . 并购买它会询问用户帐户,然后输入测试帐户 .
我有同样的问题 . 我以前创建了一个测试用户帐户,并在我进行应用内购买时,退出了itunes商店,希望在我的测试用户帐户登录时提示 . 相反,我得到了无法连接到iTunes商店的消息 . 当我使用我的真实iTunes用户名/密码登录并尝试我的测试应用程序时,它工作得很好 . 然后我再次退出itunes商店,我的应用程序运行良好,提示我输入我的ID / pw
我有同样的错误,但问题并不完全相同 . 也许对某人有用:
我在我的应用程序的结构中插入了一个外部文件 . 我这样做的原因是因为在 生产环境 中,我从服务器插入此文件dinamicaly,但在开发中我认为使用名为iExplorer的应用程序粘贴此文件更快 . 我这样做是过去,我没有这个问题 . 但是在最近几天,如果我使用iExplorer直接粘贴此文件,我的应用程序将返回错误:“无法连接到iTunes Store” . (西班牙语:“没有puede conectarse一个iTunes商店”) .
我认为这是因为这次我将文件插入.app文件夹中 . 因此,我认为如果您以任何方式修改.app文件夹,则代码签名会中断,并且与iTunes Store的链接将直接停止工作 .
对我来说,问题是通过上传二进制文件来解决的 . 由于此页面中没有给出答案,这似乎是谷歌的热门歌曲之一,我想我会添加它 .
想我应该分享我最近对同一问题的经验:
几天前我遇到了同样的问题,它从一天到另一天停止工作 . 在我的测试用户进行身份验证后出现以下错误:
Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"
我没有对代码进行任何更改,我们无法想到可能引发问题的iTunes帐户或IAP产品的任何其他更改 . 可能唯一相关的是添加更多的iTunes测试用户(尽管我之前添加了大约15个帐户而没有问题) . 我在不同的设备和模拟器上测试了它 .
我查看了所有可用的清单和所有可能的解决方案(上面提到的所有内容),没有任何成功 . 最后,我想我周末可以休息一下,因为我画的是空白 . 奇怪的是(有史以来第一次), doing nothing actually worked !我没有更改任何代码,也没有对我们的iTunes帐户或应用程序进行任何更改 .
我能想到的唯一原因是:
Apple端的问题出了什么问题 .
其他一些基于时间因素的应用程序,证书或其他因素导致了问题 .
妖精偷偷溜进我的办公室并解决了这个问题 .
检查您是否已登录appstore中的个人iTunes帐户 . 如果你是,你会收到这条消息 . 即使您已在应用中登录了您的沙箱帐户 . 因此,要解决此问题,请在应用商店中退出您的个人帐户,然后尝试购买您的应用内商品,然后使用您的沙盒帐户 . 这解决了我的问题 .
好吧,像往常一样,我“尝试了所有可用的解决方案而且没有帮助”:)所以,这是我对这个无限集合的绊脚石的输入:
如果应用程序当前没有销售(出于任何原因),则会发生此错误 .
In-App Purchase FAQ有这个信息:
在我的情况下,错误发生是因为我使用的是模拟器 .
即使在In-App Purchase Programming Guide中说使用开发iOS设备也有建议的测试步骤 .
作为Apple的文档:
无法连接到iTunes Store“无法连接到iTunes Store”问题可能是由于以下一个或多个原因造成的:
沙箱可能无法访问 .
您的应用没有捆绑版本(CFBundleVersion) . 有关更多信息,请参阅设置版本号和构建字符串 .
您的应用正在模拟器中运行,该模拟器不支持应用内购买 .
您正在尝试购买无法销售的产品 . 有关详细信息,请参阅在App Store中查询产品信息,然后再显示应用商店的UI .
https://developer.apple.com/library/content/technotes/tn2413/_index.html