• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 通过试用购买自动更新购买后应用程序崩溃

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:21:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我一直在尝试实现带有试用期的自动续订订阅 (ARS)。我已经有一个实现了 ARS 的应用程序,它运行良好。 现在我想在这些订阅中添加试用期。因此,出于测试目的,我创建了两个新产品,其中设置了 1 个月的试用期。

现在在沙盒环境中,当我尝试从我已经订阅的沙盒 ID 购买这两个新产品时,过程顺利进行,没有任何问题。但是当我尝试使用新的沙盒帐户购买它们时,应用程序在到达 updatedTransaction 观察者方法后崩溃。在这种方法中,我收到了产品购买的收据和整个交易细节。但是在此之后应用程序崩溃了。恢复购买同一产品的效果很好。

以下是崩溃日志和快照:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSDictionaryM removeObjectForKey:]: key cannot be nil' * First throw call stack: (0x186c081c0 0x18564055c 0x186b06534 0x100f052a4 0x19362ded8 0x1022e925c 0x1022e921c 0x1022ee284 0x186bb5f2c 0x186bb3b18 0x186ae2048 0x188565198 0x18cabc628 0x18cab7360 0x10065831c 0x185ac45b8) libc++abi.dylib: terminating with uncaught exception of type NSException

snapshot

Snapshot with line of crash selected



Best Answer-推荐答案


这可能无法直接回答上述问题,但这是我能找到的与我遇到的问题最接近的类似问题。希望如果他们遇到这种情况,这可以节省他们的时间(跳到底部以获得简短的答案)。

我得到了相同的堆栈跟踪异常,但原因略有不同:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSDictionaryM setObject:forKeyedSubscript:]: key cannot be nil'

注意 setObject:forKeyedSubscript: 而不是 removeObjectForKey: 就像上面的问题一样。我试图以介绍性定价购买 IAP,即使我成功地从 Apple 获得确认收据,它仍然会崩溃。重启应用后我就可以使用产品了。

我花了太多时间试图找到解除分配的委托(delegate)、调动 Foundation 对象方法以及在沙盒用户之后创建沙盒用户。问题一直在于 iTunes Connect 中的信息不完整。

崩溃的原因是 iTunes Connect 中产品上的元数据不完整。我需要向审阅者添加本地化名称和注释,以使产品“准备好进行审阅”而不是“缺少元数据”。

TL;DR确保您尝试购买的产品标记为“可供审核”而不是“缺少元数据”

关于ios - 通过试用购买自动更新购买后应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43070494/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap