InAppPurchase перестает получать ответ productRequest после удаления и переустановки приложения

EDIT3:РЕШЕНО

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


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

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


EDIT: Update: после попытки добавления новых тестовых учетных записей пользователей и их использования (и удаления/переустановки приложения снова и снова я теперь получаю сообщение "Недопустимый продукт")... Что не так? Чего не хватает?


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

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

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

[CHECKED] Проверяли ли вы, что ваш продукт разрешен к продаже?

[CHECKED] Вы отправили (и, возможно, отклонили) двоичный файл приложения?

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

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

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

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

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

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

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

[Вот где возникла проблема] Вы пытались удалить приложение со своего устройства и переустановить его? (через Гектора, S3B, Алекса О, Джо и Альберто)

----> И теперь делегат, похоже, не работает....?? Я не получаю свой @"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

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


person xfze    schedule 06.07.2011    source источник


Ответы (2)


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

person xfze    schedule 13.07.2011

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

person stack    schedule 31.08.2012