我有一个自定义提醒视图,在我的应用中弹出,询问用户是否要购买我的应用内购买之一。在警报视图中,我还列出了应用程序购买的价格,该价格来自与之关联的SKProduct。
问题是,现在我想改变应用程序内购买的价格,但是当应用程序在应用程序代理中启动时,我正在收集产品数据,那么我该怎么做呢? (应用程序委托仅在用户第一次启动应用程序时启动吗?)。
每次显示对话框时,是否需要查询Apple以重新加载产品数据?这听起来真的很低效......
偶然的,如果您更新某个应用内购买的价格,SKProductsRequestDelegate是否会收到提醒,以便自动更新您的产品?
有没有人能很好地解决这种情况?
答案 0 :(得分:0)
似乎解决这种情况的最佳方法是在应用启动时加载产品,并在每次应用变为活动时重新加载产品。在app delegate中实现以下方法可以解决问题:
- (void) applicationWillEnterForeground:(UIApplication *)application
{
[self loadProducts];
}
- (void) loadProducts
{
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: MyProduct1, MyProduct2 nil]];
self.productsRequest.delegate = self;
[self.productsRequest start];
}