Функция покупки MKStoreKit ничего не делает

Я пытаюсь заставить MKStoreKit работать с моей игрой Cocos2D. Это выглядит довольно просто, и я пару раз выполнил все шаги (чтобы проверить, правильно ли я это сделал), но я все еще не могу заставить его работать. Я могу получить название продукта, цену, описание и т. Д., Но я могу использовать общий MKStoreKitManager для совершения покупки.

Вот мой код для покупки продукта:

if([MKStoreManager isFeaturePurchased: @"com.testing.iap.removeAds"]) {      
        NSLog(@"No ads");
    }else{
        NSLog(@"Ads");

        NSLog(@"Buying feature...");

        [[MKStoreManager sharedManager] buyFeature: @"com.testing.iap.removeAds"
                                        onComplete:^(NSString* purchasedFeature)
         {
             NSLog(@"Purchased: %@", purchasedFeature);
             // provide your product to the user here.
             // if it's a subscription, allow user to use now.
             // remembering this purchase is taken care of by MKStoreKit.
         }
                                       onCancelled:^
         {
             NSLog(@"Something went wrong");
             // User cancels the transaction, you can log this using any analytics software like Flurry.
         }];  

    }

В основном, если продукт не был куплен ранее, начните процесс покупки. Проблема в том, что ничего не происходит! Я даже не получаю вызов onCancelled, и нет никаких сообщений об ошибках, кроме тех, которые я могу игнорировать (т.е. поддержка iCloud и пользовательские опции сервера).

Может кто-нибудь пролить свет на то, что меня останавливает?

Примечание: я тестирую на устройстве iPhone 4 под управлением iOS 5.1

3 ответа

Решение

Я понятия не имею, что не работает, но потратив почти весь рабочий день, пытаясь заставить это работать, я решил начать новый проект с нуля и попробовать снова. Я сделал все точно так же, и все заработало!

Как только ваше приложение запустится, позвоните:

[MKStoreManager sharedManager];

Вот и все. Пока вы вызываете метод -buyFeature: после загрузки продуктов (вы можете наблюдать kProductFetchedNotification, если хотите), все работает как положено.

Убедитесь, что вы добавили свой ключ IAP в список MKStoreKitConfigs.plist. Без этого ничего не происходит.

Также может пройти несколько часов, пока регистр IAP станет доступным для тестирования.

Другие вопросы по тегам