Xcode 9 iOS模拟器 – 无法获取有效的进程句柄

我已经升级到Xcode 9,而iOS模拟器10.3和11不工作。 所有股票和我的应用程序试图运行时强制closures。

如下所示的Xcode控制台错误显示当我尝试运行日历,首选项等。“无法获取有效的进程句柄”是什么意思?


Process handle (com.apple.Preferences, <BSProcessHandle: 0x7fe84552b8b0; Preferences:9270; valid: NO>) is invalid. Returning error { BKSProcessExitReason = 0; BKSProcessJobLabel = "UIKitApplication:com.apple.Preferences[0x90bf][6825]"; NSLocalizedFailureReason = "Unable to obtain valid process handle"; } [com.apple.Preferences] Bootstrap failed with error: <NSError: 0x600000846c60; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Unable to obtain valid process handle"> Bootstrapping failed for <FBApplicationProcess: 0x7ffae944f990; com.apple.Preferences; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.apple.Preferences" UserInfo={NSLocalizedFailureReason=Unable to obtain valid process handle, BKSProcessExitReason=0, BSErrorCodeDescription=bootstrap-failed, BKSProcessJobLabel=UIKitApplication:com.apple.Preferences[0x90bf][6825], NSLocalizedDescription=Unable to bootstrap process with bundleID com.apple.Preferences} Process handle (com.apple.mobilecal, <BSProcessHandle: 0x7fe845525860; MobileCal:9363; valid: NO>) is invalid. Returning error { BKSProcessExitReason = 0; BKSProcessJobLabel = "UIKitApplication:com.apple.mobilecal[0xf53][6825]"; NSLocalizedFailureReason = "Unable to obtain valid process handle"; } [com.apple.mobilecal] Bootstrap failed with error: <NSError: 0x604000643ae0; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Unable to obtain valid process handle"> Bootstrapping failed for <FBApplicationProcess: 0x7ffaeb141220; com.apple.mobilecal; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.apple.mobilecal" UserInfo={NSLocalizedFailureReason=Unable to obtain valid process handle, BKSProcessExitReason=0, BSErrorCodeDescription=bootstrap-failed, BKSProcessJobLabel=UIKitApplication:com.apple.mobilecal[0xf53][6825], NSLocalizedDescription=Unable to bootstrap process with bundleID com.apple.mobilecal} Unable to find framework using path: /System/Library/Frameworks/VideoSubscriberAccount.framework 

我已经在iOS 11 / 10.3.1上的iPhone X,iPhone 8/8 +和iPhone 6+模拟器上尝试过,所有这些模拟器都有相同的崩溃结果。 如果我在iOS 6或更高版本的iOS模拟器上尝试它,那么它运行良好。

如果我尝试多次启动它,例如Safari或Calendar的40到50次,那么有时候这个特定的应用程序可能会运行,一旦运行成功,它将保持在会话的其余部分(直到我closures应用程序任务切换器,然后同样的问题再次出现)。 我的Xcode编译的应用程序也是如此。

我的iMac 2009一直在运行El Capitan和Xcode 8,而我刚升级到X Sierra 9的High Sierra。

我试过Xcode 9.1 Beta,但同样的问题依然存在。

请帮忙,谢谢。

感谢@ russbishop关于禁用第三方内核扩展的build议,我发现了罪魁祸首 – One Periodic的手动防火墙 !

我用这个命令卸载了kext:

 kextunload -b com.metakine.handsoff.driver 

并立即在iOS模拟器中的所有股票应用程序可以开始完美的罚款。 请注意,您必须卸载 kext。 简单地禁用Hands Off中的规则并不能解决问题。

但是,一旦我完成重新激活防火墙,我不能“ kextload ”返回Hands Off驱动程序。 系统需要重新启动。

我已经向Hands Off报告了这个问题,并希望在下一个版本中看到一个修复。

谢谢@JeremyHuddlestonSequoia帮助诊断。