我有几个在 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
}