iPhone storekit 沙箱停止工作
错误报告已由苹果公司修复,请参阅下面接受的答案...
更新周一 8 月 23 日 10:00 GMT
虽然苹果的错误报告尚未关闭,但它现在似乎正在工作(至少对我们几个人来说)好的。可能他们已经解决了这个问题,或者修复正在测试中,当(如果)我从苹果那里听到更多消息时,我会报告。
8 月 20 日星期五更新
只是想说,我收到了 Apple 工程部(格林威治标准时间 21:20)发来的一封电子邮件,他们说:
“感谢您报告此问题。我们已意识到此问题,目前正在努力修复。 ”
所以希望很快就会有解决方案!
[更新以下问题。目前肯定存在 storekit 沙箱问题。我看到其他 4 或 5 个人报告了同样的错误,但希望有更大的样本量!如果您有一个可以在沙箱中测试的 storekit 实现,如果您可以报告它是否适合您,我们将不胜感激。我已将 Apple 的错误记录为错误 id#8329461,但不确定如何加快此速度,或者这是否确实是一个普遍存在的问题。 ]
我有一个正在开发中的 iPhone storekit 实现。所有购买的物品都是消耗品,我们建立了多个测试账户。
今天突然间,我的顺序变成了;
1) 向 Apple 请求产品列表...工作正常(因此可以连接到商店)
2) 购买商品 - 正常收到“确认您的应用内购买”警报
3) (点击购买)
4a) 我的代码交易失败错误代码为 2,描述为“无法连接到 itunes 商店”,通过 - (void) paymentQueue:(SKPaymentQueue *)queue UpdatedTransactions:(NSArray *)transactions 方法。
在这种情况下正在调用 [[SKPaymentQueue defaultQueue] finishTransaction: transaction]。
4b) 用户收到一条警报“您已经购买了此产品,但尚未下载”(从未使用此用户帐户在此设备上购买过该产品)。
这种情况发生在不同的设备上以及以前从未使用过的测试帐户上。我不知道我们的代码有任何更改。其他人可以确认 storekit 测试框架对他们来说可以正常工作吗?今天还有其他人遇到问题吗?
关于造成这种奇怪现象的原因有什么想法吗? “无法连接到 itunes 商店”的消息似乎很奇怪,因为它显然可以用于检索产品 ID 和观察交易。
注意。我还注意到,在商店中设置测试用户帐户已经发生了变化 - 现在有更严格的密码要求等,所以我想知道苹果是否更改了可能导致该问题的内容。
TIA 罗杰
附言。第一次尝试使用新设备时,我收到警报“无法连接到 iTunes 商店,请稍后重试”,但随后发生的情况是该设备认为它已经被购买,因此给出有关再次下载的消息。
Bug reported as fixed by Apple, see accepted answer below ...
UPDATE MON AUG 23rd 10:00 GMT
Although the bug report with apple hasn't been closed yet, it now seems to be working (at least for a couple of us) OK. It could be they have nailed it, or the fix is in testing, and I'll report back when (if) I hear anything more from Apple.
UPDATE FRI AUG 20th
Just to say I've had an email back from Apple Engineering (21:20 GMT) and they have said:
"Thank you for reporting this. We're aware of this issue and are currently working on a fix."
So hopefully there will soon be a resolution!
[ update to question below. There definitely seems to be a storekit sandbox issue at present. I've seen 4 or 5 other people report the same fault, but would appreciate a larger sample size! If you have a storekit implementation that you can test in the sandbox if you could report whether or not it works for you that would be much appreciated. I've logged a bug with apple as bug id#8329461 but am not sure how else to expedite this or if it is really a widespread issue. ]
I have a working iPhone storekit implementation in development. All the items for purchase are consumable, we have multiple test accounts established.
All of a sudden today, my sequence goes;
1) Request product list from Apple ... works fine (so can connect to store OK)
2) Purchase item - get "Confirm your In App Purchase" alert as normal
3) (click buy)
4a) My code gets a failed transaction with error code 2 and description "cannot connect to itunes store" via the - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions method.
[[SKPaymentQueue defaultQueue] finishTransaction: transaction] is being called in this situation.
4b) The user gets an alert "You've already purchased this but it hasn't been downloaded" (it has never been purchased on this device with this user account).
This is happening on different devices and with test accounts that have never been used before. I'm not aware of any changes to our code. Can anyone else confirm that the storekit test framework is working correctly for them? Is anyone else having issues today?
Any ideas as to what causes this strangeness? The message "cannot connect to itunes store" seems odd given it clearly can for retrieving product ids and watching the transaction.
NB. I also note that setting up test user accounts in the store has changed - there are now stricter password requirements etc and so I'm wondering if Apple have changed something that might be causing the issue.
TIA
Roger
PS. On a first attempt on a new device, I get the alert "unable to connect to itunes store try again later" but then what happens is that the device thinks it has already been purchased so gives the message about downloading again.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
苹果刚刚发布了最终更新,关闭了该错误。
这是一封关于 Bug ID# 8329461 的礼貌电子邮件。
工程部门针对此问题提供了以下反馈:
我们相信这个问题现已得到解决。如果您有任何问题,请告诉我们。
Just had a final update from Apple closing the bug.
This is a courtesy email regarding Bug ID# 8329461.
Engineering has provided the following feedback regarding this issue:
We believe this issue is now resolved. Please let us know if you have any problems.
我也曾被这个问题困扰过。我有一个功能齐全的应用程序内购买工作正常。后来我上传了一个新的二进制文件并批准了它。我对应用程序进行了一些其他更改,并且还使用了国外的“IN APP”购买用户,尝试在“设置”中登录。后来当我再次测试时,它不再工作了。我收到的错误是“无法连接到 iTunes”、“Error Domain=NSURLErrorDomain Code=-1009”。拔了很多头发。我可以通过在 iPhone 上注销 iTunes 帐户、“清理所有目标”以及在我的 MAC 上注销 iTunes(我关闭了 iTunes)、创建一个新的“本地”应用内“用户(需要吗?)。然后它开始工作了!上面的一些内容可能是巫术,但它确实有效。
I've also been plagued by this problem. I had a fully functional In App Purchase working fine. I later uploaded a new binary and approved it. I made some other changes to the app, and also used a foreign "IN APP" purchase User, attempted to sign-in in Settings. Later when I tested it again, itt was no longer working. The error I got was "Unable to connect to iTunes", "Error Domain=NSURLErrorDomain Code=-1009". Pulled lots of hair out. I was able to fix it by signing out of iTunes account on the iPhone, "cleaning all targets", AND also signing out of iTunes on my MAC, (I closed iTunes), creating a new "local" In-App" user (necessary?). Attempted to sign into that account on my iPhone. Then it started working! Some of the above may be voodoo, but it worked. Hope this helps a few people.
我也有同样的问题。就前几天看来。我在 iPad 上。与罗杰所写的描述完全相同。
尝试了删除 iPad 上的所有内容和设置。没用。尝试了几个网络。起初我的连接速度似乎很慢。花了很长时间才从商店收到包含产品信息的回复。截至今天,我可以非常快速地连接到商店,但在收到我已经购买该产品的通知后仍然出现相同的错误。创建了新用户,一切。不去。我已经浏览了所有代码,看起来不错。绝对是沙盒方面的问题。希望很快就能看到该线程的更新。
编辑
现在,我只是跳过购买请求并在选择购买时调用我的 ProvideContent: 方法。由于商店仍在向我提供产品,因此我可以继续测试并致力于内容提供方面的工作,但如果能够实现这一点肯定会很高兴。
I am also having the same issue. As of a couple days ago it seems. I am on iPad. Exactly the same description as Roger wrote.
Tried the Erase All Content and Settings on the iPad. Didn't work. Tried on several networks. Seemed like at first I was having a real slow connection. Took a long time to get a response from the store with the product info. As of today, I am connecting very quickly to the store but still having the same error after being notified that I have already purchased the product. Created new users, everything. No go. I've gone through all the code and it looks fine. Definitly seems to be a problem with the Sandbox side. Hope to see an update on this thread soon.
Edit
For now I am just skipping the purchase request and calling my provideContent: method when when choosing to make a purchase. Since the store is still providing me with the products, I can keep testing and working on the content providing aspect but it sure would be nice to get this working.
苹果宣布“修复”后仍然有这个麻烦。当测试用户输入他的凭据时,感觉购买交易就消失了。但是当测试用户已经登录时,一切正常。
尽管产品请求成功,但 [SKPayment paymentWithProduct:product] 和 [SKPayment paymentWithProductIdentifier:product.productIdentifier] 都适用于已注销的用户。
有人有任何解决方法吗?
After announced "fix" by apple still have this trouble. It's feels like purchase transaction just falls off while test user input his credentials. But when test user is already logged in, everything is OK.
Either [SKPayment paymentWithProduct:product] nor [SKPayment paymentWithProductIdentifier:product.productIdentifier] works with logged out user in spite of products request was successful.
Does anyone have any workaround?
整个早上我都在 Lion 和 MacOS(不是 iPhone)上为同样的问题而发疯。沙箱不起作用。
我刚刚在尝试购买时收到“发生未知错误”和类似这样的控制台错误
如果还有像我这样的可怜的灵魂在那里已经花了几个小时的时间来完成这项工作我刚刚发现了答:应用内购买沙箱仅适用于美国测试用户。其他商店不工作(我的测试用户设置为阿根廷......)。创建一个新的测试用户,将其设置为美国商店,它将起作用......
我希望这会有所帮助。
I've been going nuts over the same issue all morning in Lion and MacOS (not iPhone). The sandbox is not working.
I just got "An unknown error has occurred" when trying to make the purchase and a console error like this one
If there is another poor soul like me out there that has been burning their brains out for hours to make this work I just found the answer: the in-app purchase sandbox is ONLY working for US test users. Other stores are not working (my test user was set to Argentina...). Create a new Test user, set it to the US store, and it will work...
I hope this helps.
对于遇到类似以下问题的任何人:“无法连接到 iTunes Store”,请务必在 iTunes 和 iTunes Store 中注销您的 Apple ID。设置中的 App Store,并尝试使用附加到您的 iTunes Connect 帐户的测试帐户来访问您的应用程序并进行应用程序内购买
For anyone having an issue similar to: "Cannot connect to iTunes Store" make sure to log out of your Apple ID in the iTunes & App Stores in settings and to try using a test account attached to your iTunes Connect account with access to your app and in app purchase