Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更新应用内购买的价格_Iphone_Ios_In App Purchase_App Store Connect_Skproduct - Fatal编程技术网

Iphone 更新应用内购买的价格

Iphone 更新应用内购买的价格,iphone,ios,in-app-purchase,app-store-connect,skproduct,Iphone,Ios,In App Purchase,App Store Connect,Skproduct,我在我的应用程序中弹出了一个自定义警报视图,询问用户是否愿意购买我的应用程序内购物。在alert视图中,我还列出了应用内购买的价格,我从与之相关的SKProduct中获得了该价格 问题是,现在我想更改应用程序内购买的价格,但我在应用程序代理中启动应用程序时正在收集产品数据,所以我应该如何进行?(应用程序代理是否仅在用户第一次启动应用程序时启动?) 每次我显示对话框时,我是否需要查询Apple以重新加载产品数据?这听起来真的很低效 碰巧,如果您更新了应用程序内购买的其中一个产品的价格,SKProd

我在我的应用程序中弹出了一个自定义警报视图,询问用户是否愿意购买我的应用程序内购物。在alert视图中,我还列出了应用内购买的价格,我从与之相关的SKProduct中获得了该价格

问题是,现在我想更改应用程序内购买的价格,但我在应用程序代理中启动应用程序时正在收集产品数据,所以我应该如何进行?(应用程序代理是否仅在用户第一次启动应用程序时启动?)

每次我显示对话框时,我是否需要查询Apple以重新加载产品数据?这听起来真的很低效

碰巧,如果您更新了应用程序内购买的其中一个产品的价格,SKProductsRequestDelegate是否会收到警报,以便它会自动更新您的产品


是否有人能很好地解决这种情况?

解决这种情况的最佳方法似乎是在应用程序启动时加载产品,并在每次应用程序激活时重新加载产品。在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];
}

@马特修好了,太好了,谢谢!不过,我认为最好在显示自定义警报视图之前加载产品;我不明白为什么他们需要提前集合。