我有一个应用程序,我正在实施 MKStorekit4 以进行自动更新购买。我已经成功复制了代码。当我尝试在我的appdelegate上调用[MKStoreManager sharedManager];
时,它会抛出错误"cannot add nil observer"
然后崩溃。
这是我的代码
+ (MKStoreManager*)sharedManager
{
@synchronized(self) {
if (_sharedStoreManager == nil) {
#if TARGET_IPHONE_SIMULATOR
NSLog(@"You are running in Simulator MKStoreKit runs only on devices");
#else
_sharedStoreManager = [[self alloc] init];
_sharedStoreManager.purchasableObjects = [[NSMutableArray alloc] init];
[_sharedStoreManager requestProductData];
_sharedStoreManager.storeObserver = [[MKStoreObserver alloc] init];
[[SKPaymentQueue defaultQueue]
addTransactionObserver:_sharedStoreManager.storeObserver];
[_sharedStoreManager startVerifyingSubscriptionReceipts];
#endif
}
}
return _sharedStoreManager;
}
我做错了什么?任何帮助将不胜感激。
答案 0 :(得分:1)
这意味着您的_sharedStoreManager.storeObserver
为零。
但那真的很奇怪。
在NSLog("Observer %@",[_sharedStoreManager.storeObserver description])
之后尝试_sharedStoreManager.storeObserver = [[MKStoreObserver alloc] init];
,看看它是否真的已分配。