gpt4 book ai didi

iOS9 SKPaymentQueue 相关问题 - 应用返回前台时事务意外终止

转载 作者:可可西里 更新时间:2023-11-01 04:50:43 24 4
gpt4 key购买 nike

交易突然/意外/从 SKPaymentQueue 中删除 - 任何想法为什么?

简介

我们在 iOS-9 和 iOS-9.0.1 下遇到了 SKPaymentQueue 的奇怪行为。我们怀疑这是 iOS 问题。此示例是演示 SKPaymentQueue 相关问题的最小应用程序框架。下载示例 here .

事实

  • 沙盒环境中出现问题 (iOS 9.0.1)。
  • TestFlight 环境中出现问题 (iOS 9.0.1)。
  • 从未在生产环境中测试过。
  • 从未在 iOS 9.1/beta/上测试过。
  • iOS 8.4.1 上从未出现问题。

应用

此应用需要一个非消耗性 IAP 产品,其内容托管在 Apple 上。应用程序只有一个按钮来启动交易/下载过程。

问题

应用从前台移到后台再回到前台时,下载过程意外终止。

重现问题...

  1. 让这个项目适应你的开发。环境(将 NON_CONSUMABLE_PRODUCT_WITH_HOSTED_CONTENT 设置为您的 IAP 产品 ID)。

    • 创建一个测试应用 (iTunes Connect)。

    • 托管非消耗性 IAP 产品(应用程序加载器)。

  2. 按下“获取产品”按钮。

  3. 等待下载开始。

  4. 按主页按钮退出应用程序。

  5. (重新)激活应用(触摸应用图标)。

  6. SKPaymentQueue 最终会发送一两个下载更新事件。

  7. !! SKPaymentQueue 会发送 paymentQueue(queue: SKPaymentQueue, removedTransactions transactions: [SKPaymentTransaction])` 消息给观察者。

  8. !!下载现已终止(无事件)。

已知的解决方法

  • 下载时将应用保持在前台。

  • 在下载完成(在系统级别)之前不要激活应用,然后再激活应用。

最佳答案

您是否正在为您的应用添加背景键?

您可以在 info.plist 或功能中设置它们...

  1. info.plist 方式 - 为“UIBackgroundModes”添加“fetch”
  2. 转到功能 > 后台模式将其打开。并选择提取字段。

https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW22

关于iOS9 SKPaymentQueue 相关问题 - 应用返回前台时事务意外终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32852495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com