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