0

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

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

4

1 回答 1

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

于 2013-10-10T23:38:20.303 回答