ios - 有没有办法以编程方式重新启动我的 iOS 应用程序?

标签 ios swift xcode

我想知道是否有任何方法可以以编程方式重新启动我的应用程序。这是一个 iOS 应用程序,我可以快速使用 Xcode 12.3。

最佳答案

iOS 中没有可用的方法来重新启动您的应用程序,但您可以手动重新实例化初始根 UIViewController需要的时候。

重新实例化根 UIViewController您可以在 AppDelegate 中使用以下静态函数类(class):

static func getWindow() -> UIWindow? {
    return UIApplication.shared.keyWindow
}

static func resetViewController() {
    let window = getWindow()
    
    let controller = ...  /// Instantiate your inital `UIViewController`
    
    window?.rootViewController = controller
    window?.makeKeyAndVisible()
}

注:
“重启”应用程序是一个 非常罕见的做法 应该避免 如果可能的话,在所有情况下。

关于ios - 有没有办法以编程方式重新启动我的 iOS 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66205648/

相关文章:

ios - FileHandle 在 iOS 中不释放内存

swift - 如何更改按钮的文字大小?

ios - Xcode Swift 代码中使用的不同方案中的环境变量

ios - 向多个 ViewController 发送数据?

ios - 检查用户何时滑过 UIView - touchesMoved 太滞后

ios - react native : Dismiss Keyboard on scroll of Multiline TextInput

ios - 无法到达 objectForKey - [字符串 : AnyObject] as dictionary

swift - 类型 '()' 不能符合 'View' ;只有 struct/enum/class 类型可以符合使用 swift ui 调用调用函数的协议(protocol)

xcode - Mac - 开发者 ID - 代码签名 - 签名什么?

ios - 用户界面的内存管理