Покупки в приложении iOS: недействительный идентификатор продукта тестовой среды

Справочная информация о немного странной настройке, прежде чем я перейду к проблеме: работаем над приложением для клиента, и мы используем учетную запись разработчика iTunes, отличную от той, которая в конечном итоге будет опубликована для разработки и специальных сборок приложения, которое имеет интеграцию с Game Center и IAP. Очевидно, что в конечном итоге нам придется продублировать нашу настройку в учетной записи окончательной версии, но проблема, похоже, не связана.

Проблема заключается в попытке протестировать покупки в приложении в песочнице. У нас нет налоговой / банковской информации во временном аккаунте, он был создан не на мое имя, поэтому я не могу просто добавить свое. Прямо сейчас, каждый раз, когда мы отправляем SKProductsRequest с идентификатором продукта для продукта, который я добавил в раздел iTunes Connect учетной записи временного приложения, он возвращается в ответе как недопустимый идентификатор продукта.

Этот запрос, где identifiers - это массив со строковым идентификатором продукта, который я пытаюсь получить:

_productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:identifiers]];
_productsRequest.delegate = self;

И этот метод делегата:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
   /*Other code for handling valid responses*/ 

    for (NSString *invalidProductId in response.invalidProductIdentifiers) {
        DLog(@"Invalid product id: %@" , invalidProductId);
    }
}

Возвращает этот журнал для идентификатора:

 -[InAppPurchaseManager productsRequest:didReceiveResponse:] Invalid product id: [Product ID That matches the one in ITC exactly]

Я знаю, что ITC работает с временной учетной записью, потому что вся наша интеграция с песочницей GameCenter отлично справляется с этим.

Еще на заметку:

На данный момент я в тупике. Могу ли я сделать что-нибудь, кроме того, чтобы заставить человека, создавшего эту временную учетную запись, добавить свою налоговую / банковскую информацию, чтобы фактически получить обратно действительный продукт из SKProductsRequest?

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


person DesignatedNerd    schedule 04.10.2012    source источник


Ответы (2)


Пришлось перенести все на последний счет, в котором была банковская и налоговая информация. Тот же самый код, который возвращал недопустимые идентификаторы продукта, был полностью нормальным, когда я установил IAP с тем же именем в приложении другой учетной записи.

Так что да, вам нужна банковская и налоговая информация, чтобы даже протестировать в песочнице. Бу-урны.

person DesignatedNerd    schedule 10.10.2012
comment
Ты спас мне день, спасибо - person Adel Bachene; 21.01.2019

Просто хотел подтвердить то, что сказал DesignatedNerd, о необходимости заключить соглашение о платном приложении с Apple, прежде чем тестирование будет работать. У меня было это вчера, когда мы использовали нашу учетную запись для тестирования продуктов приложений в приложении, которое мы делаем для клиента. После большого количества поисков в Интернете и других попыток я случайно заметил текст, в котором говорилось, что у нас нет соглашения. Мы ввели все наши банковские реквизиты в itunesconnect, и через некоторое время сообщение исчезло, и мое тестирование в приложении начало работать.

person Colin Holgate    schedule 22.03.2014
comment
Имея такую ​​же проблему здесь, я пробовал всю процедуру отладки, все в порядке, я работаю над автоматически возобновляемой подпиской. Пожалуйста, поделитесь полученными знаниями, это связано с неполной налоговой информацией? - person dip; 07.03.2018
comment
Шесть с половиной лет спустя я не смогу приступить к работе над подпиской с автоматическим продлением, пока не разберусь со всем, что касается банковского и налогового законодательства. Плюс ça изменить ... - person DesignatedNerd; 23.01.2019