崩溃 Xcode 11,iOS13 设置根视图控制器
Crash Xcode 11, iOS13 setting root view controller
几天以来,我在 Xcode 11.
调试我们的应用程序时遇到了非常奇怪的崩溃
情况
我们有一个为 iOS 11 及更高版本构建的应用程序。但自 Xcode 11 起,应用程序在设置根视图控制器时崩溃。但是当我在崩溃后打开应用程序时,该应用程序确实可以运行,所以它似乎与设置调试会话有关。
我尝试构建的设备是 iPhone Xs,iOS 13.1.2。我还尝试了另一台 13.1 的设备,但那里有同样的问题。
但是,当我在 12.x.x 上连接 运行ning 的设备时,它正在工作。
奇怪的是,昨天我能够在模拟器上运行。但是从今天开始,同样的崩溃发生在设备上 (iPhone Xs)。
还可能很重要的一提:我的同事在同一个项目上工作,没有同样的问题。 (!!)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Show app loading view controller
self.window = [[RMWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = [[AppLoadingViewController alloc] init]; // Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
[self.window makeKeyAndVisible];
我尝试了以下方法:
- 已将 AppDelegate.h/m 替换为 AppDelegate.swift.
- 将所有项目设置更新为 Xcode 11.
的最新设置
- 尝试了普通的
UIViewController()
而不是 AppLoadingViewController()
。
- 清理派生文件夹(硬核风格)
- 清除所有 Xcode 缓存
- 重新安装Xcode
- 重新启动Mac + iPhone
- 已从 Xcode 首选项中删除 iOS DeviceSupport 文件夹,通过 'Devices and Simulators' 重新连接设备。
- 创建了一个新项目并在 iPhone 上 运行,有效。
这是一个同时包含 Objective-C 和 Swift 代码的应用程序,我们已经拥有它多年了。但这样的事情还是第一次发生。
有没有人知道这可能是什么?
在这上面花了几天时间后,我已经干净地安装了 Mac OS Catalina。这确实解决了它。我仍然不知道实际问题是什么,但为了可能为其他人节省大量时间,我建议您也这样做。
如果有人找到了解决方案,我仍然很想知道。
let homeVC = UIStoryboard(name:"Main", bundle: nil).instantiateViewController(withIdentifier: "SigninViewController") as! SigninViewController
let navC = UINavigationController(rootViewController: homeVC)
navC.navigationBar.isHidden = true
UIApplication.shared.windows.first?.rootViewController = navC
UIApplication.shared.windows.first?.makeKeyAndVisible()
试试这个在我的情况下工作正常..
几天以来,我在 Xcode 11.
调试我们的应用程序时遇到了非常奇怪的崩溃情况
我们有一个为 iOS 11 及更高版本构建的应用程序。但自 Xcode 11 起,应用程序在设置根视图控制器时崩溃。但是当我在崩溃后打开应用程序时,该应用程序确实可以运行,所以它似乎与设置调试会话有关。
我尝试构建的设备是 iPhone Xs,iOS 13.1.2。我还尝试了另一台 13.1 的设备,但那里有同样的问题。
但是,当我在 12.x.x 上连接 运行ning 的设备时,它正在工作。
奇怪的是,昨天我能够在模拟器上运行。但是从今天开始,同样的崩溃发生在设备上 (iPhone Xs)。
还可能很重要的一提:我的同事在同一个项目上工作,没有同样的问题。 (!!)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Show app loading view controller
self.window = [[RMWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = [[AppLoadingViewController alloc] init]; // Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
[self.window makeKeyAndVisible];
我尝试了以下方法:
- 已将 AppDelegate.h/m 替换为 AppDelegate.swift.
- 将所有项目设置更新为 Xcode 11. 的最新设置
- 尝试了普通的
UIViewController()
而不是AppLoadingViewController()
。 - 清理派生文件夹(硬核风格)
- 清除所有 Xcode 缓存
- 重新安装Xcode
- 重新启动Mac + iPhone
- 已从 Xcode 首选项中删除 iOS DeviceSupport 文件夹,通过 'Devices and Simulators' 重新连接设备。
- 创建了一个新项目并在 iPhone 上 运行,有效。
这是一个同时包含 Objective-C 和 Swift 代码的应用程序,我们已经拥有它多年了。但这样的事情还是第一次发生。
有没有人知道这可能是什么?
在这上面花了几天时间后,我已经干净地安装了 Mac OS Catalina。这确实解决了它。我仍然不知道实际问题是什么,但为了可能为其他人节省大量时间,我建议您也这样做。
如果有人找到了解决方案,我仍然很想知道。
let homeVC = UIStoryboard(name:"Main", bundle: nil).instantiateViewController(withIdentifier: "SigninViewController") as! SigninViewController
let navC = UINavigationController(rootViewController: homeVC)
navC.navigationBar.isHidden = true
UIApplication.shared.windows.first?.rootViewController = navC
UIApplication.shared.windows.first?.makeKeyAndVisible()
试试这个在我的情况下工作正常..