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

Это дополнительный вопрос к « Ошибка при покупке приложений с помощью MKStoreKit:« Проблема в конфигурации подключения iTunes для продукта: 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?

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

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

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

ДА

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

НЕТ


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

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

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

Что правильно?

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

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

Пакет приложений (выпуск) находится в iTunes Connect, и я «разработчик отклонил» этот пакет.

Изображение: App developer rejected

Ожидаете рассмотрения?

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

Изображение:

waiting for review

Я создал это почти 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];
}

Изменить:

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

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

18
задан Community 23 May 2017 в 12:30
поделиться