Устранена проблема с неверным идентификатором продукта при покупках из приложения?

Это дополнительный вопрос к "При совершении покупок в приложении с помощью MKStoreKit происходит сбой: «Проблема в конфигурации iTunes connect для продукта: xxx"

У меня похожая проблема, и я пытался сделать как с MKStoreKit, так и без него и получить похожее сообщение.

Контрольный список

Благодаря:http://troybrant.net/blog/2010/01/invalid-product-ids/

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

ДА

Вы проверили разрешение на продажу для вашего продукта?

ДА

Вы подали (и при желании отклонили) бинарный файл приложения?

ДА

Идентификатор пакета вашего домена .plist совпадает с идентификатором приложения?

ДА

Вы создали и установили новый профиль обеспечения для нового идентификатора приложения?

ДА

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

ДА

Вы строите для iPhone OS 3.0 или выше?

ДА. iOS4.2 и выше.

Используете ли вы полный идентификатор продукта, когда делаете SKProductRequest?

ДА. Также только сам идентификатор продукта без обратного домена

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

ДА. Там написано «В ожидании обзора» и сделано за последние 4-5 дней

Активны ли ваши банковские реквизиты в iTunes Connect?

NO. Это клиентский проект, и я только проверяю, работает ли он. Нужны ли банковские реквизиты для проверки?

РЕДАКТИРОВАТЬ: я изменил это сейчас. Но я не понимаю, почему мне нужно сделать это только для проверки песочницы.

Вы пытались удалить приложение с вашего устройства и переустановить?

ДА

Ваше устройство взломано?

НЕТ

Нотация приложения правильная

Некоторые примеры, которые я видел, используют эту запись: com.domain.APP_ID.PRODUCT_TO_BUY

Но другие используют com.domain.PRODUCT_TO_BUY

Какой правильный?

В своем коде я попытался использовать полную нотацию и только сам идентификатор продукта, но все еще получаю ту же проблему «Неверный идентификатор продукта».

Разработчик отклонен

Пакет приложений (релиз) находится на iTunes Connect, и я "разработчик отклонил" пакет.

Рисунок:

В ожидании обзора?

В моих покупках из приложения у меня есть 1 продукт - автоматически обновляемая подписка. Очищено для продажи; однако он «ожидает рассмотрения» и не горит зеленым светом.

Рисунок:

Я создал это почти 4-5 дней назад, и он все еще помечен как "Ожидание обзора" ??

Мне интересно, было ли мое приложение «отклонено разработчиком», влияет ли это на «Ожидание проверки» в автоматически обновляемой подписке?

Я ничего не изменил в этом пункте.

Согласно различным статьям я должен ждать 24-48 часов, прежде чем я смогу его использовать?

Но нужно ли ждать, пока это будет принято или подсвечено зеленым, прежде чем я смогу использовать его в своем тестировании?

Банковские реквизиты

Я не заполнил банковские реквизиты, потому что это приложение для клиента. Нужно ли мне заполнять банковские реквизиты, прежде чем я смогу продолжить их тестирование?

Согласно этим документам:http://developer.apple.com/library/ios/#technotes/tn2259/_index.html банковские реквизиты требуются?

Нужно ли входить в iTunes на моем устройстве под тестовой учетной записью, прежде чем запускать приложение?

Мне интересно, если кто-то может прояснить эти вопросы? Может быть, это так же просто, как ждать, пока покупка в приложении станет «зеленой», или, может быть, я пропустил шаг?

Примечание. Это происходит независимо от того, использую ли я MKStoreKit или следующий код.

Благодарю.

Мой код (это не версия MKStoreKit)

#define kMySubscriptionFeature @"uk.co.samplewebsite.myappproject.sub1"

    - (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    self.title = @"Manage Subscriptions";


    if ([SKPaymentQueue canMakePayments])
    {
        // Display a store to the user.

        //[MKStoreManager sharedManager];
        //NSLog(@"purhcasable = %@", [[MKStoreManager sharedManager] purchasableObjectsDescription] );
        [self requestProUpgradeProductData];

    }
    else
    {
        // Warn the user that purchases are disabled.
        NSString *message = @"In-app purchases are disabled. Please review your settings";
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
        [alertView release];
    } // end if
}


#pragma mark - StoreKit Delegate

- (void) requestProductData
{
    SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject:kMySubscriptionFeature]];
    request.delegate = self;
    [request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    NSArray *myProduct = [[NSArray alloc] initWithArray:response.products];

    for(SKProduct *item in myProduct)
    {

        NSLog(@"Product title: %@" , item.localizedTitle);
        NSLog(@"Product description: %@" , item.localizedDescription);
        NSLog(@"Product price: %@" , item.price);
        NSLog(@"Product id: %@" , item.productIdentifier);
    }


    for (NSString *invalidProductId in response.invalidProductIdentifiers)
    {
        NSLog(@"Problem in iTunes connect configuration for product: %@" , invalidProductId);
    }


    [myProduct release];

    // populate UI
    [request autorelease];
}

Редактировать:

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

Я также удостоверился, что загрузил и отклонил пакет выпуска приложения, а не adhoc; хотя я не знаю, имеет ли это какое-либо значение.

Ответы на вопрос(5)

Ваш ответ на вопрос