目标c-如何在iOS内部重新启动应用程序



我一直在尝试将应用内购买纳入我的iOS应用程序,希望对屏幕上显示的广告感到恼火的用户可以通过购买产品禁用这些广告。该应用程序使用UITabBarController,用户可以购买产品的屏幕与用户看到广告的屏幕不同——换句话说,我在UITabBarController的不同选项卡上使用不同的视图控制器。

然而,当用户完成购买产品后,他们仍然会在屏幕上看到这些广告,只有在下次用户启动应用程序后,这些广告才会完全从屏幕上删除。

然而,苹果的文档推断,他们拒绝了一款迫使用户重新启动应用程序的应用程序。我认为这包括了我现在所说的情况,所以我想知道如何在内部重新启动应用程序——换句话说,我想重新启动该应用程序,就好像它只是在应用程序中从头开始启动一样,可能是通过调用UIApplication及其方法或类似的方法。

如何以这种方式重新启动应用程序?或者也许这是解决这个采购问题的更好方法?此外,如果可以从应用程序内重新启动,我应该在管理应用程序内购买的视图控制器中还是在AppDelegate.m中写入支付代码(SKProductsRequestSKPaymentTransactionObserver)?

我使用iOS 7.1和Xcode 5.1。

只需根据需要隐藏AdBannerView。您可以在NSUserDefaults中设置用户进行购买的标志,并在显示包含广告的视图时触发该标志。

请参阅:以编程方式隐藏Apple iAd ADBannerView

您还可以更改Tabbar的框架&当用户购买了没有广告的应用程序时,请更改其高度。
并使用sendSubviewToBack方法将广告横幅发送到背面
希望这对你有帮助。

最新更新