objective-c - 崩溃 Xcode 11,iOS13 设置 Root View Controller

标签 objective-c ios13 xcode11

几天以来,我在 Xcode 11 中调试我们的应用程序时遇到了非常奇怪的崩溃。

情况

我们有一款专为 iOS 11 及更高版本打造的应用。但自 Xcode 11 以来,该应用程序在设置 Root View Controller 时崩溃了。但是,当我在崩溃后打开该应用程序时,该应用程序确实可以运行,因此它似乎与设置调试 session 有关。

我尝试构建的设备是 iPhone Xs,iOS 13.1.2。我还尝试了另一台 13.1 的设备,但那里遇到了同样的问题。

但是,当我附加一个在 12.x.x 上运行的设备时,它可以正常工作。

奇怪的是,昨天我能够在模拟器上运行。但从今天开始,同样的崩溃发生在设备 (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 文件夹,通过“设备和模拟器”重新连接设备。
  • 创建了一个新项目并在 iPhone 上运行,确实有效。

这是一个同时包含 Objective-C 和 Swift 代码的应用程序,我们已经拥有它多年了。但这是第一次发生这样的事情。

有没有人知道这可能是什么?

最佳答案

    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()

试试这个在我的情况下工作正常..

关于objective-c - 崩溃 Xcode 11,iOS13 设置 Root View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58218444/

相关文章:

ios - 如何使动态 uitableview 单元格看起来像静态 uitableview 单元格

iphone - 我们可以停止同步请求吗?如何?

iOS 13 检查 CLLocationManager 的临时授权状态

ios - [__NSArrayM objectForKeyedSubscript :]: unrecognized selector sent to instance - source code and screenshot attached

ios - 如何在 ios 13 中显示的 View Controller 下方设置系统背景颜色

bluetooth - Xamarin iOS 中未收到蓝牙授权提示

cordova 构建 ios 但在 'Cannot read property ' toLowerCase' of undefined' 中出错

swift - 当从另一个 ViewController 类调用方法时,Xcode 发现一个 nil 变量,而该变量不应该存在

ios - 核心数据 : annotation: Failed to load optimized model at path (Xcode 11 -> iOS 12)

ios - Swift 中的 Objective-C 协议(protocol)