实际上,我已经在我的项目中使用AppBuy实现了自动可再生订阅功能。
它抛出付款取消时,我尝试添加卡,同时订阅。如果已经添加了卡,它就会正常工作。
但是AppStore显示订阅和付款已经完成。
我使用了SwiftyStoreKit库,该库从5月1日起不再维护。
我已经测试了所有的生产模式,下载应用程序从应用商店。
有什么方法可以在开发过程中测试它吗?在沙箱模式下,没有任何选项可以通过添加卡或PayPal进行测试。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在开发过程中测试自动可再生订阅功能,尤其是涉及到App Store的支付流程时,确实需要通过沙箱环境来进行。虽然SwiftyStoreKit不再维护,但你可以考虑使用Apple官方推荐的StoreKit Testing来完成这项工作。
使用Xcode配置沙箱测试: 确保你的应用在Xcode中被配置为使用沙箱环境进行内购。这通常意味着你需要在项目的Signing & Capabilities标签页中启用In-App Purchase,并确保在测试时使用的是开发证书而非发布证书。
沙箱用户账号: 创建一个或多个沙箱用户账号(Sandbox Tester Accounts)用于测试购买流程。这些账户是专门用来在沙箱环境中模拟真实购买行为的,不会产生真实的费用。你可以在Apple Developer Portal中的“Users and Access”部分创建它们。
测试不同场景: 使用沙箱用户登录到你的应用上,尝试不同的订阅和支付情景,包括初次订阅、续订、取消订阅以及恢复购买等。对于你提到的添加卡或PayPal支付方式,在沙箱环境下,尽管不能直接通过App Store界面添加支付方式,但理论上,如果沙箱用户账号已经绑定了支付方式(即使是在其他应用或服务中),它应该能用于测试订阅。
模拟付款失败或取消: 以前,直接在沙箱中模拟特定的支付状态(如失败或取消)较为困难,但现在通过StoreKit Testing,开发者可以更灵活地控制测试结果,比如模拟网络错误、支付成功或失败等场景。
查看日志与验证: 利用Xcode的Console工具或者第三方日志查看器检查内购交易的日志信息,确认订阅状态是否正确反映在你的应用逻辑中。同时,可以通过App Store Connect后台查看订阅记录,了解沙箱订阅的状态变化。
替代库: 虽然SwiftyStoreKit不再维护,但市面上还有其他活跃维护的库,如RevenueCat、Purchases SDK等,它们提供了更全面的内购管理解决方案,同时也支持沙箱测试模式,可以作为替代方案考虑。
综上所述,尽管直接在沙箱模式下测试添加支付方式有限制,但通过上述方法,你应该能够全面测试自动可再生订阅功能的各个方面。