问题标签 [mkstorekit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何在评估 iOS 自动更新 iAP 时使用 ASN 本地收据中的字段?
我们的 iOS 应用程序支持具有不同免费试用期的年度订阅。我们的目标是评估离线用户设备上本地可用的收据。
**我们计划这样做:**
- 检查 cancel_date 是否存在 - 非活动订阅
如果 cancel_date 不存在,请检查 purchase_date 是否存在:
如果是,请检查 expires_date 是否存在并且处于活跃期 - 活跃订阅
如果没有,请检查 expires_date 是否存在并且处于活跃期 - 可能是试用期
我们想不通的是,如果用户在试用期关闭订阅停止付款,应用程序如何知道此类事件?
expires_date 是表示“试用期 + 1 年”还是仅表示“1 年”?
original_purchase_date 或 purchase_date 是否表示“试用开始”或“用户付款日期”?
注意:我们还计划使用 SKReceiptRefreshRequest 定期刷新本地收据。
ios - MKStoreKit 是否仍在维护并与 iOS 12 完全兼容?
我一直在旧 iOS 应用程序中使用早期版本的MKStoreKit来管理应用内购买。它工作得很好。
现在我正在开发一个应该支持自动更新订阅的新应用程序。我想再次使用 MKStoreKit。然而,MKStoreKit 的当前版本 6.1 是在 3 年前发布的。我想知道它是否仍然完全兼容StoreKit
iOS 12。
当然,我可以自己运行几个测试,但是错误往往隐藏在测试中并显示在生产中。那么,目前有没有人在生产中使用 MKStoreKit 6.1 并告诉我是否仍然是一个好的解决方案或有任何缺点/问题?
ios - 'NSInvalidArgumentException',原因:'-[_UIBackgroundTaskInfo setStoreObserver:]:无法识别的选择器发送到实例 0x282b20780'
在更新一些旧代码的过程中,当代码启动时,它会在启动时立即崩溃。我正在使用 XCode 10,以前这在 XCode 7/8 中可以正常工作
这条线在AppController.mm
[[MKStoreManager sharedManager] requestProductData];
那条线带你到
错误本身是
objc[680]: MKStoreManager object 0x281ecd020 overreleased while already deallocating; break on objc_overrelease_during_dealloc_error to debug
2019-09-19 12:15:18.342037+0100 PoolParty[680:66967] -[_UIBackgroundTaskInfo setStoreObserver:]: unrecognized selector sent to instance 0x281ecd020
2019-09-19 12:15:18.342502+0100 PoolParty[680:66967] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIBackgroundTaskInfo setStoreObserver:]: unrecognized selector sent to instance 0x281ecd020'
努力弄清楚这一点,如果有人可以提供帮助,我将不胜感激!
swift - App Store Receipts 字段中缺少“product_id”
我终于开始将 Muguntu Kumar 的 MKStoreKit 类翻译成 Swift,以摆脱 Objective-c 经常出现的问题,并最终分享它,以期让每个人都受益。尽管如此,我现在仍然坚持:
在函数 startValidatingReceiptsAndUpdateLocalStore 中,鉴于https://developer.apple.com/documentation/appstorereceipts中的字段甚至不包括访问下面行中的购买记录所需的字段 product_id。首先,鉴于该字段永远不会到达,我不知道原始的 Objective_C 库如何工作,其次我想知道我可以用什么替换该值来索引 self.purchaseRecord。
谢谢,法布里齐奥
objective-c - MKStoreKit 自动续订订阅到期日期始终返回当前日期
使用 MKStoreKit 进行自动续订订阅。在沙盒中成功购买。问题是购买日期和到期日期始终记录为相同,或者比当前日期晚 1 小时。随着沙盒时间的加快,我预计[[MKStoreKit sharedKit] expiryDateForProduct:@"211112"];
将[NSDate date]
在购买前 30 分钟左右,因为它是六个月的购买。我得到交易的当前日期正好晚了 1 小时。
购买记录:
重新加载时,日志打印该订阅到期日期和当前日期完全相同
重新加载日志:
从 MKStoreKit 中的代码来看,购买日期可能会返回 NULL 并返回当前日期
[[MKStoreKit sharedKit] valueForKey:@"purchaseRecord"]
<null>
购买退货
swift - 应用内购买在生产模式下返回未知错误
我们在生产中有一个基于订阅的应用程序,sandbox
我们在应用程序内购买代码中禁用了模式。
尽管我们处理了代码中的所有错误,但我们的一些用户得到了这个错误:
尽管许多用户可以付款,但其中一些用户会收到这些错误。可能是什么问题?我们使用 MKStoreKit 作为第三方工具为我们的用户提供购买机制。