设置App Xcode

时间:2016-02-19 14:48:25

标签: ios application-settings

早上好,我的应用程序通过BLE检查连接的设备,如果设备未连接我正在使用此代码转到设置App以建立连接。

  NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
    [[UIApplication sharedApplication] openURL:url];

然而,当使用UI顶部提供的返回应用程序按钮返回到类时,不会再次触发viewDidLoad方法! ,问题是如何执行相同的检查,现在采取不同的行动。即塞到下一个场景?

此致 JZ

3 个答案:

答案 0 :(得分:1)

您可以使用viewDidAppear方法再次触发

答案 1 :(得分:1)

您应该查看Apple的View Controller lifecycle chart,因为在本文档中,您提供的viewDidLoad方法信息比UIViewController class reference更多。

在此页面中,viewDidLoad的说明可以为您提供帮助:

  

viewDidLoad() - 在从故事板创建和加载视图控制器的内容视图(其视图层次结构的顶部)时调用。此方法适用于初始设置。但是,由于应用程序中的资源有限,可能会清除视图,因此无法保证只会调用一次。

除了应用程序内存不足的特殊情况之外,viewDidLoad在视图控制器生命周期中只调用一次。

改为使用viewDidAppear方法,每当视图变为可见时(第一次出现或从应用程序设置返回时)都会调用此方法。

答案 2 :(得分:0)

您需要在该视图控制器中侦听UIApplicationWillEnterForegroundNotification并在应用程序进入前景时检查该情况。在这种情况下,应用程序转到前台意味着用户从设置返回到您的应用程序,因此您可以在此处检查并执行segue。

但要小心,如果此视图控制器始终处于活动状态,则每次应用程序进入前台时它都会执行代码。确保在真正需要时只显示此视图控制器。