3

承認され、iTunes で利用できるアプリがいくつかあります。iOS 5.0 を搭載した iPad 2 でテストしました。それらは、それらのアプリのアプリ内購入を通じてロックが解除される一部の機能です。ユーザーが特定の機能を正常に購入したら、トランザクションが成功したことを確認し、NSUserDefaults 変数を設定してロックを解除します。

最近、私の iPad 3 ユーザーの何人かが、機能を購入したのにまだロック解除されていると不満を漏らしています。私は iPad 3 を所有していないので、リリースされたコードを iPad 2 でテストしましたが、問題なく動作しました。

他の誰かが iPad 3 で同じ問題を経験しましたか? iOS 5.1 の NSUserDefaults にバグや問題はありますか?

ここにコードがあります

NSArray *stringsArray2a = [[NSArray alloc] initWithObjects: @"1", nil];
        [[NSUserDefaults standardUserDefaults] setObject:stringsArray2a forKey:@"MyAppWeatherPackStr"];
        [[NSUserDefaults standardUserDefaults] synchronize];

それから私はこのようにそれをチェックします

     NSArray *purchasedAppArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"MyAppWeatherPackStr"];
        NSString *purchasedAppStr = [purchasedAppArray objectAtIndex:0];

if([purchasedAppStr isEqualToString:@"1"])
    {
        //all good keep checking weather

    }
    else
{
//can't check weather
}
4

1 に答える 1

-2

同期のポイントがわかりませんが、より良い代替 NSUserDefaults は次のとおりです。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:forKey stringsArray2a:@"1"];

iPad 3を持っているほど幸運ではないので、NSUserのデフォルトに問題があるかどうかはわかりません。

アプリ内購入データを NSUserDefaults に保存しないことをお勧めします。plist ファイルを変更して、購入したように見せることができます...

于 2012-04-07T02:25:52.800 に答える