0

我正在为我的应用实施应用内购买。因此,我使用的是 com.companyname.product.feature 的产品标识符格式。产品标识符用于应用内购买(在沙盒中运行良好),并且作为用户默认知道产品已被购买。当用户购买产品时,com.companyname.product.feature 用户默认设置为 true。除以下内容外,一切正常。

我的视图控制器之一正在监听用户默认更改,以便它可以根据产品购买修改其行为。但是,控制器永远不会收到用户默认更改的通知。我过去曾多次实施这种类型的观察,但这不起作用。会不会和“。”有关?在关键路径中(我以前从未做过)?

在我的应用委托中:

NSString *const PHKeyIAPFeature = @"com.companyname.appname.feature";  // also the product ID for the features

在我的观察者中:

  [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:PHKeyIAPFeature options:NSKeyValueObservingOptionNew context:NULL];

在我的 IAP 管理器中:

  [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:productIdentifier];

其中 productIdentifier = PHKeyIAPFeature。

我知道购买产品时正在更新用户默认值,因为重新启动应用程序会反映更新的用户默认值。

有任何想法吗?TIA 的帮助。

- 约翰

4

0 回答 0