MKStoreKit не расходуется в обоих соединениях и NSUbiquitousKeyValueStore - PullRequest
0 голосов
/ 09 февраля 2012

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

Беспорядок начинается, когда я запускаю приложение на устройстве и нажимаю тестовую кнопку «Купить». Во-первых, это результат Я получаю.

    2012-02-09 17:45:28.324 MyApp[7147:707] checking if com.my.company.testinapp.pack001 pack is purchased
    2012-02-09 17:45:30.814 MyApp[7147:707] Review request cannot be checked now: (null)
    2012-02-09 17:45:33.335 MyApp[7147:707] NSUbiquitousKeyValueStore error: com.my.company.inapp has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement
    2012-02-09 17:45:33.370 MyApp[7147:707] Problem in iTunes connect configuration for product: com.my.company.testinapp.pack001
    2012-02-09 17:45:34.063 MyApp[7147:707] User cancelled transaction: <SKPaymentTransaction: 0x8c0fde0>
    2012-02-09 17:45:34.064 MyApp[7147:707] error: Error Domain=SKErrorDomain Code=3 "Cannot connect to iTunes Store" UserInfo=0x8c1f210 {NSLocalizedDescription=Cannot connect to iTunes Store}
    2012-02-09 17:45:34.065 MyApp[7147:707] User Cancelled Transaction
    2012-02-09 17:45:58:174 MyApp[7147:20747] finished networking setup

Давайте сделаем шаг назад, чтобы взглянуть на sceanrio:

Это мой код вызова

- (IBAction)iap:(id)sender {
    NSLog(@"checking if %@ pack is purchased", kFeatureAId);
    if([MKStoreManager isFeaturePurchased:kFeatureAId]) { //unlock it
        NSLog(@"horray, you already purchased this item!");
    } else {
        [[MKStoreManager sharedManager] buyFeature:kFeatureAId
            onComplete:^(NSString* purchasedFeature) {
                NSLog(@"Purchased: %@", purchasedFeature);
            } onCancelled:^ {
                NSLog(@"User Cancelled Transaction");
        }];
    }
}

Так что, в принципе, я ничего не делаю, кроме как вызвать покупку тестового элемента.

Это MKStoreConfig.h

#define kConsumableBaseFeatureId @"com.my.company.inapp"                        /* this is the bundle id */
#define kFeatureAId @"com.my.company.testinapp.pack001"                         /* this is the product id */
#define kConsumableFeatureBId @"com.my.company.testinapp.pack001.582046155"     /* this is the product id + product number */
#define FishBasket @"FishBasket"

#define SERVER_PRODUCT_MODEL 4
#define OWN_SERVER @"http://testings.company.my.com/inappscripts"
#define REVIEW_ALLOWED 1

#warning Shared Secret Missing Ignore this warning if you don't use auto-renewable subscriptions
#define kSharedSecret @"d43ecfa9d8b94facfbcfed1eca509dbe"

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

Надеюсь, кто-нибудь может помочь мне с этим. :) заранее спасибо!

-K-

1 Ответ

6 голосов
/ 10 февраля 2012

Когда вы получаете сообщение «Проблема в конфигурации iTunes connect для продукта: com.my.company.testinapp.pack001», это означает, что ваш продукт не настроен должным образом при подключении iTunes.

Это уже «Распродано для продажи»?

Вы загрузили снимок экрана и пометили состояние как «Утверждено разработчиком»?

Если это ваше первое приложение,Вы отправили свои банковские и налоговые декларации в Apple?- Как ни странно, IAP потерпит неудачу, если вы не сможете «легально» продавать товары.Ваша информация "Контракты, налоги и банковское дело" должна иметь зеленую галочку во всех трех разделах.

Надеюсь, это поможет.

- Mugunth (я написал MKStoreKit)

...