在通过 MKStoreKit 使用 StoreKit 的应用程序中工作时,我注意到检查订阅是否仍然有效的方法总是返回 0(NO 或 false)。
我跟踪了错误,发现在此行生成的方法- (BOOL) isSubscriptionActive:(NSString*) featureId
内部jsonObject
:
id jsonObject = [NSJSONSerialization JSONObjectWithData:subscriptionProduct.receipt options:NSJSONReadingAllowFragments error:nil];
是nil
。
然后我检查了这个方法返回的错误,即:
[MKStoreManager isSubscriptionActive:]] 错误域 = NSCocoaErrorDomain 代码 = 3840 “操作无法完成。(可可错误 3840。)”(在字符 15 周围的对象中没有键值。)用户信息 = 0x200c0300 {NSDebugDescription = 没有值键入字符 15 周围的对象。} (lldb)
然后我检查了收据,我发现问题在于假定的“JSON Receipt”不是 JSON,因为它使用“ =
”而不是“ :
”。我想有人已经在处理这个问题,那么你的解决方案是什么?
编辑 我正在使用沙盒环境。