Вопрос

Я пытаюсь реализовать в покупке приложений в бесплатном приложении.

Я создал идентификатор ProductD «Test1» в рамках диспетчера покупок приложений в портале iTunes Connect.

Когда я делаю запрос на продукт следующим образом:

- (id)init {

     NSSet *productIdentifiers = [NSSet setWithObjects:
                             @"test1",
                             nil];

     if ((self = [self initWithProductIdentifiers:productIdentifiers])) {                

}

return self;

}

- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers
{    
if ((self = [super init]))
{
    // Store product identifiers
    _productIdentifiers = [productIdentifiers retain];

    // Check for previously purchased products
    NSMutableSet * purchasedProducts = [NSMutableSet set];

    for (NSString * productIdentifier in _productIdentifiers)
    {
        BOOL productPurchased = [[NSUserDefaults standardUserDefaults] boolForKey:productIdentifier];

        if (productPurchased)
        {
            [purchasedProducts addObject:productIdentifier];
            NSLog(@"Previously purchased: %@", productIdentifier);
        }

        NSLog(@"Not purchased: %@", productIdentifier);
    }

    self.purchasedProducts = purchasedProducts;
}

return self;

}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {

NSLog(@"Received products results...");   
self.products = response.products;
self.request = nil;    

[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:_products]; 

NSLog(@"%d",[self.products count]);
NSEnumerator *e = [self.products objectEnumerator];

id object;

while(object=[e nextObject])
{
    NSLog(@"item");
    NSLog(@"%s",(char*)object);
}

}

- (void)requestProducts {

self.request = [[[SKProductsRequest alloc] initWithProductIdentifiers:_productIdentifiers] autorelease];
_request.delegate = self;
[_request start];

}

Ответ всегда 0. Я не понимаю, что я делаю не так. Этот код пришел из учебника. Документация относительно покупок приложений, как правило, довольно запутанно, и весь процесс в iTunes Connect не дает мне уверенности.

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

Но как мне тестировать покупки приложений, если список продуктов всегда будет на ноль?

Если кто -то с большим опытом может дать мне совет по этому поводу, так как я уже схожу с ума от этого!

Спасибо,

С моими наилучшими пожеланиями,

Нуно

Это было полезно?

Решение

Самым когерентным решением, которое я обнаружил в этой проблеме, был этот контрольный список. Он должен быть широко распространен, чтобы избежать того, что кто -либо, решающий ту же проблему, которая действительно занимает много времени и отчаянно:

  • Вы включили покупки в приложении для идентификатора приложения?
  • Вы проверили очистку на продажу для вашего продукта?
  • Вы отправили (и, по желанию, отклонены) в двоичном приложении?
  • Соответствует ли идентификатор пакета. PLIST вашего проекта?
  • Вы сгенерировали и установили новый профиль обеспечения для нового идентификатора приложения?
  • Вы настроили свой проект для кодирования, используя этот новый профиль обеспечения?
  • Вы строите для iPhone OS 3.0 или выше?
  • Вы используете полный идентификатор продукта при создании SkProductrequest?
  • Вы ждали несколько часов с момента добавления вашего продукта в iTunes Connect?
  • В вашем банке активна в iTunes Connect? (через Марк)
  • Вы пробовали удалить приложение с вашего устройства и переустановить? (Via Gector, S3B, Alex O, Joe и Alberto)
  • Ваше устройство Jailbroken? Если это так, вам нужно вернуть джейлбрейк для работы IAP. (через мой бог, римлян и Xfze)
  • Вы выходили из учетной записи Real Itunes?
  • Вы пробовали перезагрузить устройство?
  • Вы на устройстве? (Не будет работать на симуляторе)

Кредиты идут Трой Брант

Другие советы

Посмотрите здесь, это ответило на все мои вопросы (и фреймворки тоже прост в использовании :-):

http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-appcases/

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

После некоторого чтения кажется, что даже если все будет принято и готово к продаже, продуктам покупки в приложении все еще нужно время, чтобы стать доступным в Интернете - через 3 часа он наконец сработал ...

РЕДАКТИРОВАТЬ:

Вам необходимо создать покупку в приложении для вашего приложения и установить ее для выяснения для продажи в iTunes Connect. Вам еще не нужно загружать скриншот или уже просмотреть его, чтобы иметь возможность проверить его в режиме разработки.

Как вы назвали покупку в iTunes Connect? Обычно вам следует использовать имя com.companyname.productname.purchaseName и имя, которое вы запрашиваете из вашего приложения, чтобы быть точно таким же.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top