是否有一种方法可以知道用户何时用StoreKit框架更改了存储?
这是因为如果我已经输入了一个产品列表,并且用户更改了商店,那么我就可以刷新新商店的区域设置的价格。
发布于 2013-10-10 23:38:20
我找到了一个解决方案,有点“诡计”,不像显式的“存储确实更改通知”那么明显。
您可以侦听每个事务的错误-paymentQueue:updatedTransaction:
- (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];
}
}
}这可能会在其他错误期间触发,但到目前为止,我只在您更改存储时才看到它触发。
这样,当用户看到例如$USD价格,然后登录到一个$GBP帐户时,价格就会刷新到他们的GBP版本。
https://stackoverflow.com/questions/19250155
复制相似问题