StoreKit更改商店通知?

时间:2013-10-08 14:13:52

标签: ios objective-c in-app-purchase

有没有办法知道用户何时使用StoreKit框架更改了商店?

如果我已经提取了产品列表并且用户更改了商店,那么我可以刷新新商店的区域设置的价格。

1 个答案:

答案 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版本。