StoreKit 框架 - 更改 iTunes 商店以进行应用内购买时未调用回调

Posted

技术标签:

【中文标题】StoreKit 框架 - 更改 iTunes 商店以进行应用内购买时未调用回调【英文标题】:StoreKit framework - Callback not called when Changing iTunes store for in app purchases 【发布时间】:2013-06-18 21:46:06 【问题描述】:

我对 StoreKit 框架和切换国家有疑问

我正在 ios 上尝试以下场景。

    使用 Apple 开发者帐户 A 登录设置。它将 Store 更改为 Country 1 并将我带到 App Store 返回设置并移除帐号(App store 国家仍为 A) 加载启用付款的应用并尝试进行应用内购买 使用测试帐号 B,该帐号仅适用于在 B 国购买。 在使用测试帐户时,我得到确认,我将在 App Store 中切换到 B 国,并被带到应用商店 在我恢复应用后,SKPaymentQueue 的 updatedTransactions 回调没有被调用,它失败了。

无论如何我可以扣除此事件并显示适当的错误消息吗?谢谢!

【问题讨论】:

我也遇到过这个问题,虽然在现实生活中不会经常发生,但至少应用程序必须能够很好地处理它。 【参考方案1】:

我以前也发生过类似的事情。我的猜测是,在某个时候,有人使用您的沙盒帐户 B 在某处登录了 iTunes;最有可能在设备上的“设置”->“iTunes”屏幕中。应用内购买沙盒账户如果曾用于登录 iTunes 将失效;使用它们的唯一方法是在尝试开始购买后在应用程序中提供用户名/密码。我的建议是使用 iTunesConnect 创建一个新的沙盒帐户,并使用 iTunesConnect 设置其国家/地区从属关系,并确保没有人使用它登录 iTunes。

【讨论】:

我用 Candy Crush 尝试了相同的步骤(尽管这次是真实账户),他们似乎可以处理它。所以我的猜测是,有一些回调在某处被触发。我不确定是哪一个 我写过 IAP 代码,我不知道有任何这样的 API。祝你在这个问题上好运。

以上是关于StoreKit 框架 - 更改 iTunes 商店以进行应用内购买时未调用回调的主要内容,如果未能解决你的问题,请参考以下文章

Storekit - 仅限生产环境 - SKProduct 本地化标题和本地化描述是不是仅依赖于沙盒中的 iTunes Store 位置?

IOS 跳转至AppStore的两种方式

触控 ID 未显示 StoreKit

Storekit 框架

StoreKit 框架

iTunes 和应用内购买