Ошибка в [MKStoreManager sharedManager] в IPhone? - PullRequest
0 голосов
/ 30 марта 2012

У меня есть приложение, в котором я реализую MKStorekit4 для совершения покупок с автоматическим возобновлением. Я успешно скопировал код. Когда я пытаюсь вызвать [MKStoreManager sharedManager]; на моем appdelegate, он выдаст ошибку "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;
}

Что я делаю не так? Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 15 апреля 2012

Это означает, что ваш _sharedStoreManager.storeObserver равен нулю. Но это действительно странно.

Попробуйте NSLog("Observer %@",[_sharedStoreManager.storeObserver description]) после _sharedStoreManager.storeObserver = [[MKStoreObserver alloc] init];, чтобы увидеть, действительно ли оно выделено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...