Я последовал за http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial для настройки покупки Apple в In-App. В нем перечислены продукты. Когда я хочу загрузить продукты из Apple, я делаю что-то вроде этого
-(void) paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction * transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
{
[[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
....
}
-(void) paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads
{
NSLog(@"paymentQues");
for (SKDownload *download in downloads)
{
switch (download.downloadState)
{
case SKDownloadStateActive:
{
NSLog(@"%f", download.progress); break;
}
...
}
-(void) paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
{
}
Я начал загрузку в updatedTransactions, а затем обновилDownloads вызывается Apple с downloadState == Active. Затем, Apple, Apple отменяетTransaction, даже никогда не запускать загрузку. Прогресс загрузки всегда равен 0% и обновлен. Диски никогда не вызывают с downloadState == Finished.
Я не знаю, почему моя загрузка никогда не начиналась и почему моя транзакция удаляется до завершения загрузки. У кого-нибудь есть рабочий образец?