2013-10-08 6 views
0

Есть ли способ узнать, когда пользователь изменил магазины с помощью инфраструктуры StoreKit?StoreKit изменяет уведомление о хранении?

Это для, если я уже вытащил список продуктов, а пользователь меняет магазины, поэтому я могу обновить цены для локали нового магазина.

ответ

1

Я нашел решение, немного «трюк», не столь очевидное, как явное «хранилище изменило уведомление».

Вы можете прослушать ошибки каждой транзакции в - paymentQueue: updatedTransactions:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{ 
    for(SKPaymentTransaction* transaction in transactions) 
    { 
     NSError* transactionError = transaction.error; 

     if(transactionError != nil && transactionError.code == SKErrorUnknown) 
     { 
      NSLog(@"User potentially switched stores"); 
      [self refreshAllProductInfo]; 
     } 
    } 
} 

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

При этом, когда пользователь видит, например, цены в долларах США, а затем входит в систему с учетной записью в $ GBP, цены будут обновляться до их GBP-версий.

Смежные вопросы