InAppPurchase прекратить получение ответа productRequest после удаления и переустановки приложения - PullRequest
1 голос
/ 06 июля 2011

РЕДАКТИРОВАТЬ3: решено

inAppPurchase не работает на устройствах с джейлбрейком!(по крайней мере, тестирование в песочнице)


EDIT2: Теперь я знаю, почему ответ не был получен: это была неисправность сети на iPhone. Когда сетевое соединение установлено, но не получает никаких данных, productRequest никогда не получает ответ.

В то же время я все еще получаю неверный идентификатор продукта.Любая помощь?


РЕДАКТИРОВАТЬ: Обновление: После попытки добавления новых учетных записей тестовых пользователей и их использования (и многократного удаления / переустановки приложения, я теперь получаю Неверный продукт ...) В чем дело?Чего не хватает?


Я пытаюсь внедрить систему inAppPurchase, и это было неприятно!

После получения неправильных идентификаторов продуктов я прошел по следующему списку :

[ПРОВЕРЕНО] Включили ли вы внутриигровые покупки для своего идентификатора приложения?

[ПРОВЕРЕНО] Вы проверили разрешение на продажу для своего продукта?

[ПРОВЕРЕНО]Вы отправили (и при желании отклонили) бинарный файл своего приложения?

[ПРОВЕРЕНО] Идентификатор пакета .plist вашего проекта соответствует вашему идентификатору приложения?

[ПРОВЕРЕНО] Созданы и установлены новые условия предоставления.профиль для нового идентификатора приложения?

[ПРОВЕРЕНО] Вы настроили свой проект для подписи кода с помощью этого нового профиля обеспечения?

[ПРОВЕРЕНО] Вы создаете для iPhone OS 3.0 или выше?

[ПРОВЕРЕНО] Используете ли вы полный идентификатор продукта, когда делаете SKProductRequest?

[ПРОВЕРЕНО - уже неделю] Вы ждали несколько часов с момента добавления вашего продукта в iTunes Connect?

[ПРОВЕРЕНО - полученные платежи] Активны ли ваши банковские реквизиты в iTunes Connect?(через Марка)

[Вот где возникла проблема] Вы пытались удалить приложение с вашего устройства и переустановить? (через Hector, S3B, Alex O, Joe и Alberto)

----> А теперь, похоже, делегат не работает .... ??Я не получаю @ "didReceiveResponse" на консоли, но я получаю @ "нажал и обрабатывал" (код ниже)

@implementation InAppHandler

- (void)requestProUpgradeProductData
{
    NSLog(@"clicked and handling");

    NSSet *productIdentifiers = [NSSet setWithObject:@"pastedFromiTunesConnect"];
    productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
    productsRequest.delegate = self;
    [productsRequest start];

    // we will release the request object in the delegate callback
}

#pragma mark -
#pragma mark SKProductsRequestDelegate methods

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    NSLog(@"didReceiveResponse");

    NSArray *products = response.products;
    proUpgradeProduct = [products count] == 1 ? [[products objectAtIndex:0] retain] : nil;
    if (proUpgradeProduct)
    {
        NSLog(@"Product title: %@" , proUpgradeProduct.localizedTitle);
        NSLog(@"Product description: %@" , proUpgradeProduct.localizedDescription);
        NSLog(@"Product price: %@" , proUpgradeProduct.price);
        NSLog(@"Product id: %@" , proUpgradeProduct.productIdentifier);
    }

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

    // finally release the reqest we alloc/init’ed in requestProUpgradeProductData
    [productsRequest release];

    [[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerProductsFetchedNotification object:self userInfo:nil];
}
@end

Как кто-нибудь получал это раньше?Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

inAppPurchase не работает на некоторых устройствах для джейлбрейка (кажется, это может иметь какое-то отношение к AppSync)!(тестирование в песочнице не работает)

1 голос
/ 31 августа 2012

InAppPurchase работает на устройствах с джейлбрейком! Вам просто нужно удалить AppSync с вашего устройства JailBreak до тестирования.

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