2
我想将SKPayment交易存储在用户默认值或设备上,并且我还希望在稍后的日期(尚未完成)将交易数据存储在我的服务器上,以便用户可以恢复订阅需要/必需/可能的。如何保存或存储SKPayment交易?
我遇到的问题是,我尝试保存到用户的默认值,但它总是告诉我:
* - [NSUserDefaults的的setObject:forKey:]:尝试插入非财产价值“交易=“”; }'类'__NSCFDictionary'。
我使用的代码是:
// Save
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:transaction forKey:@"transaction"];
[[NSUserDefaults standardUserDefaults] setObject:dict forKey:@"TransactionReceipt"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Read
NSMutableDictionary *savedDict = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyTransactionReceipt"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"Saved stored transaction = %@", savedDict);
我也试过保存交易对象本身,而不是将其存储在一个字典,但是这给总是给人一个错误,它抱怨的
“试图插入非插入属性值...”
我使用NS也尝试KeyedArchiver,但我不确定如何编写它来处理SKPaymentTransaction的读写。
对此的任何帮助将不胜感激。
谢谢。