有没有办法知道用户何时使用StoreKit框架更改了商店?
如果我已经提取了产品列表并且用户更改了商店,那么我可以刷新新商店的区域设置的价格。
答案 0 :(得分: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];
}
}
}
这可能会在其他错误中触发,但到目前为止,我只看到它在您更换商店时触发。
有了这个,当用户看到例如$ USD价格然后用$ GBP账户登录时,价格将刷新为他们的GBP版本。