通过应用内购买的用户默认更改通知

时间:2012-09-10 00:53:06

标签: ios in-app-purchase nsuserdefaults key-value-observing

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

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

在我的app delegate中:

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的帮助。

- 约翰

0 个答案:

没有答案