错误域=SKErrorDomain 代码=3 UserInfo=0x2a5a00“无法连接到 iTunes Store”

Posted

技术标签:

【中文标题】错误域=SKErrorDomain 代码=3 UserInfo=0x2a5a00“无法连接到 iTunes Store”【英文标题】:Error Domain=SKErrorDomain Code=3 UserInfo=0x2a5a00 "Cannot connect to iTunes Store" 【发布时间】:2010-05-17 06:44:38 【问题描述】:

我正在尝试在我的应用程序中实现应用内购买。 我已经按照Apple's Programming Guide 实现了它,并且代码运行良好,直到我创建了一个新的应用程序、应用程序 ID、配置文件和应用程序内产品@另一个开发人员帐户。现在,它给了我以下错误。

Error Domain=SKErrorDomain Code=3 UserInfo=0x2a5a00 "无法连接到 iTunes Store"

如果我使用以前的开发者帐户的 appid、pro-certificate 和产品 ID,相同的代码可以正常工作。 这是一个非常奇怪的问题,我仔细检查了产品 ID 名称和其他东西仍然面临同样的错误。 有什么线索吗?

【问题讨论】:

【参考方案1】:

更新:查看此帖子并添加您的投诉,以便 Apple 着手解决此问题。

iPhone storekit sandbox stopped working

这里差不多 - 使用 iPad

我的应用内购买工作正常。很好,做了应该做的一切。然后我开始收到 Error Domain=SKErrorDomain Code=2 UserInfo=(someHexMemoryAddress) "Cannot connect to iTunes Store"

阅读一篇文章以重置所有内容和设置 -- 这样做但没有奏效。

尝试在 iTunes 中创建新的测试用户 -- 无效。

确保我在项目构建设置中的代码签名身份设置为使用所有 inApp 内容创建的正确配置文件。它实际上不是,并且以某种方式设置为任何兼容的配置文件。我将其更改为正确的配置文件。但这也没有用。

还是有同样的问题。

在它工作和不工作之间,我真正做的唯一一件事就是实施 Facebook Connect。一件有趣的事情是委托方法 -

(void)request:(FBRequest*)request didFailWithError:(NSError*)error;

它也被称为 SKRequestDelegate 的委托方法。我不认为这会导致冲突,因为只有在出现错误时才会调用它。

我仍然可以联系商店并获取可用产品列表。当我发送购买请求时,我会收到一条回复告诉我 - 您已经购买了此应用内购买,但尚未下载。我点击 ok 然后我得到 Error Domain=bla bla bla 。

有趣的是,即使是在我创建的新测试用户第一次购买商品时,我也确实收到了关于之前购买的对话框。

我学到的另一件事是,如果您创建了测试用户,然后在设置应用程序中登录,并且它要求您提供信用卡,它将无法工作。

你需要 - 1.创建一个新的测试用户, 2.在商店设置中退出所有帐户。 3. 然后在你的应用程序中进行购买,它会要求你使用现有用户登录。 4. 使用您创建的新测试用户登录,它将工作。

【讨论】:

更新:查看这篇文章并添加您的投诉,以便 Apple 着手解决此问题。 ***.com/questions/3522899/…【参考方案2】:

在开始测试阅读之前,您应该阅读此技术说明:http://developer.apple.com/library/ios/#technotes/tn2009/tn2259.html item: "What's Next?"第 11 点。

iTunes 服务器出现这种行为的另一个可能原因是该产品的交易未完成。上一笔交易未完成时,您不能再次购买产品。

最好的问候, 瓦迪姆

【讨论】:

【参考方案3】:

我遇到了类似的错误。问题是 1. 没有可以在应用程序购买中处理的配置文件设置 2. 未在 iTunes Connect 中创建应用配置文件 3. 没有在 iTunes Connect 中创建应用内购买项目

在我设置了上述 3 件事并在签署应用程序时使用了新的配置文件之后,我很成功。

【讨论】:

【参考方案4】:

在我的第一个应用内购买应用中,O 也遇到了同样的错误,但 Code=0.i.e.

Error Domain=SKErrorDomain Code=0 UserInfo=someHEXno "无法连接到 iTunes Store"

我花了几个小时试图解决连接问题。

但主要问题是我的 productIdentifiers 名称,即我写的:

SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:@"productnameID"]];

但是“productnameID”是错误的。给出正确的 productnameID 程序后仍然显示相同的错误

错误域=SKErrorDomain Code=0 UserInfo=0x2a5a00“无法连接到 iTunes Store”

但它运行正常并显示购买提醒框。

【讨论】:

【参考方案5】:

我的应用中出现了与 iPhoneBuddy 相同的错误:

错误域=SKErrorDomain 代码=0 UserInfo=0x2a5a00 "无法连接到 iTunes 商店”

感谢user495729的回答我解决了问题!

http://developer.apple.com/library/ios/#technotes/tn2009/tn2259.html

2- 在沙盒环境中测试您的应用程序。 iOS 开发者必须完成以下步骤: 在 测试设备上的设置应用程序。设置运行目的地 在 Xcode 中将您的应用程序迁移到 iOS 设备。构建并运行你的 来自 Xcode 的应用程序。

在您的设备中转到“系统 -> iTunes 和应用商店”,点击您的 Apple ID 并退出。现在运行您的应用程序并测试您的 IAP,使用您的测试用户登录。

如果您没有创建任何测试用户,请转到“iTunes Connect -> 管理用户 -> 测试用户 -> 添加新用户”,您就可以了!

【讨论】:

以上是关于错误域=SKErrorDomain 代码=3 UserInfo=0x2a5a00“无法连接到 iTunes Store”的主要内容,如果未能解决你的问题,请参考以下文章

SKErrorDomain Code = 0“无法连接到iTunes Store”

in-app purchase 开发的的3个坑 Error Domain=SKErrorDomain Code=0 "无法连接到 iTunes Store

使用 Swift 3.0 的 Alamofire 4 失败:错误域 = NSURLErrorDomain 代码 = -999 “已取消”

跨域错误是怎么回事

“GetObject 时发生错误。S3 错误代码:PermanentRedirect。S3 错误消息:存储桶位于此区域:us-east-1

错误域= NSURLErrorDomain代码= -1005“网络连接丢失。”