TestFlight中watchOS端StoreKit 2的Product.products调用无响应问题
StoreKit 2在watchOS TestFlight构建中调用
Product.products(for:)无响应 我用同一个类适配iOS和watchOS目标,共用同一代码。上传到TestFlight后,iPhone端能正常获取内购产品,但Apple Watch端的流程完全停滞。
我在代码中加入了日志收集,TestFlight构建的日志输出如下:
do { log("1") // iPhone和Watch均执行到此语句 let storeProducts = try await Product.products(for: productIDs) log("2") // iPhone执行到此,Watch未执行 } catch { log("3") // Watch也未执行到此 }
从日志可见,try await Product.products(for: productIDs)这个调用既不返回结果,也不抛出异常,即使保持ViewController打开数分钟也毫无进展。
目前的情况:
- 现有上线应用原本使用SwiftyStoreKit,但该库在iOS 16上失效,因此我们为iOS 16和watchOS 9设备迁移至StoreKit 2(旧系统版本仍保留SwiftyStoreKit逻辑)
- 未在TestFlight验证功能就推送更新风险极高,我想确认这是否是StoreKit 2在watchOS TestFlight环境下无法获取产品的已知问题,但未找到苹果官方或相关论坛的信息
- 我们也曾尝试用RevenueCat实现购买功能,但在watchOS上出现了诸如收据丢失的奇怪错误
- 奇怪的是,SwiftyStoreKit在TestFlight的watchOS端仍能正常显示所有购买记录,由此我推测问题出在StoreKit 2本身(SwiftyStoreKit基于StoreKit 1),但这只是猜测,希望有遇到相同问题的开发者能提供相关信息或解决方案。
内容的提问来源于stack exchange,提问作者swtype
相关产品推荐
相关产品推荐

