设置应用 Xcode

Settings App Xcode

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

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

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

问候 杰兹

可以使用viewDidAppear的方式再次触发

您应该检查 View Controller lifecycle chart from Apple, because in this document your have more informations about viewDidLoad method than in the UIViewController class reference

在此页面上,viewDidLoad 的描述应该对您有所帮助:

viewDidLoad() — Called when the view controller’s content view (the top of its view hierarchy) is created and loaded from a storyboard. This method is intended for initial setup. However, because views may be purged due to limited resources in an app, there is no guarantee that it will be called only once.

除了您的应用 运行 内存不足的特殊情况外,viewDidLoad 在视图控制器生命周期中仅被调用一次。

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

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

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