4

ご存じのように、アプリ内購入は、設定 - >一般 - >制限からオンとオフを切り替えることができます。実際に支払いを行う前に、アプリ内購入のステータスをプログラムで確認する方法はありますか。

4

2 に答える 2

3

SKPaymentQueue クラスに解決策があります。「canMakePayments」メソッドを使用して、アプリ内購入の制限を確認しています。

アップルのドキュメントから:

SKPaymentQueue クラス リファレンス: canMakePayments

「iPhone は Apple App Store へのアクセスを制限できます。たとえば、親は子供が追加コンテンツを購入する能力を制限できます。アプリケーションは、支払いをキューに追加する前に、ユーザーが支払いを承認できることを確認する必要があります。アプリケーションは、また、ユーザーが支払いの承認を許可されていない場合の動作や外観を変更したいと考えています。」

サンプルコード:

if ([SKPaymentQueue canMakePayments])
{
    SKPayment *payment = [SKPayment paymentWithProductIdentifier:identifier];
    [[SKPaymentQueue defaultQueue] addPayment:payment];
} else {
    NSLog(@"In-App Purchases are not allowed");     
}
于 2012-01-11T13:26:46.797 に答える
0

ほとんどのユーザー設定には、に保存されているプロパティリストを読み取ることでアクセスできますが/User/Library/Preferences/.、サンドボックスの制限により、これらの一部にアクセスできない場合があります。したがって、コードを介してこれを試す必要があります。

于 2012-01-11T12:53:25.493 に答える