Приложението инициира процеса на покупка в приложението по нестандартен начин

Apple отхвърли моята кандидатура със следната причина: „приложението инициира процеса на покупка в приложението по нестандартен начин.

Вместо първо да покаже описанието на елемента и да поиска влизане, след като потребителят докосне OK, приложението първо пита за влизане, което е неправилният ред. "

Проверих кода си, но той е същият като в другото ми приложение, където покупката в приложението работи добре. След това промених идентификатора на пакета и идентификатора на продукта (зададох идентификатора на пакета от другото ми приложение) и работи добре!

Много е странно според мен. Някой да е имал този проблем? Можеш ли да ми помогнеш?

UPD:

В програмата за отстраняване на грешки виждам тази грешка:

„Неочаквано изключение по време на завършване на транзакцията: Не може да се завърши транзакция за покупка“

Това се случва в този момент в код:

    @try 
    {
        [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
    }
    @catch (NSException *exception) 
    {
        NSLog(@"Unexpected exception during finish transaction: %@", exception);
    }

person kilj    schedule 10.10.2012    source източник


Отговори (2)


Вашето съобщение за грешка изглежда гласи, че се опитвате да завършите транзакция, чието състояние е SKPaymentTransactionStatePurchasing.

Първо трябва да проверите състоянието на транзакцията чрез [transaction transactionState], за да сте сигурни, че транзакцията е:

SKPaymentTransactionStateFailed

SKPaymentTransactionStatePurchased

SKPaymentTransactionStateRestored

Вижте документацията на Apple за допълнителни разяснения:

Вашето приложение трябва да извика този метод от наблюдател на транзакция, който е получил известие от опашката за плащане. Извикването на finishTransaction: при транзакция я премахва от опашката. Вашето приложение трябва да извика finishTransaction: само след като успешно е обработило транзакцията и е отключило функционалността, закупена от потребителя.

Извикването на finishTransaction: при транзакция, която е в състояние SKPaymentTransactionStatePurchasing, хвърля изключение.

person CaptainRedmuff    schedule 19.10.2012
comment
Благодаря за отговора, но не става. Мисля, че има още една транзакция, която [SKPaymentQueue defaultQueue] се опитва да завърши. Не знам откъде идва... Ще разреша проблема си по следващия начин: ще създам отново приложението си на itunesconnect.apple.com с нов bundleID. Надявам се, че ще помогне. - person kilj; 22.10.2012

Да, разреших този проблем. Много е странно, но пресъздаването на моята игра в itunesconnect.apple.com ми помага.

person kilj    schedule 23.10.2012
comment
Искате да кажете, че сте изтрили и създали отново IAP съдържанието? - person jesses.co.tt; 16.12.2014