launchd_sim崩溃:无法创build临时状态目录
这个问题已经解决了Mac OSX的最新更新。
我在运行OSX El Capitan(10.11.6)的Mac Mini上使用Xcode 8。 当我在simultor上部署我的应用程序时,显示以下错误消息:
-
“launchd_sim意外退出”
-
“无法启动iOS模拟器”
如何解决这类问题?
详细的例外报告:
Process: launchd_sim [16545] Path: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/sbin/launchd_sim Identifier: launchd_sim Version: 4.0.0 (972.1.5) Code Type: X86-64 (Native) Parent Process: ??? [1] Responsible: launchd_sim [16545] User ID: 501 Date/Time: 2016-10-25 13:53:29.247 +0530 OS Version: Mac OS X 10.11.6 (15G1004) Report Version: 11 Anonymous UUID: 6844F1F8-F647-09F6-8FB0-A7B9C14F843B Time Awake Since Boot: 17000 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Application Specific Information: could not create temporary state directory
编辑:
要检查磁盘权限:
sudo /usr/libexec/repair_packages --verify --standard-pkgs /
输出:
Permissions differ on "tmp", should be drwxrwxrwt , they are lrwxr-xr-x .
修复磁盘权限:
sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
输出:
Permissions differ on "tmp", should be drwxrwxrwt , they are lrwxr-xr-x . Unable to set owner & group on "tmp". Error 1: Operation not permitted Unable to set permissions on "tmp". Error 1: Operation not permitted
此错误表示launchd_sim无法创build其临时状态目录(/private/tmp/com.apple.CoreSimulator.SimDevice….launchd_sim)。
如果/ private / tmp被删除或更改了权限,可能会发生这种情况。
近来有关这个问题的报道很多。 原因似乎是限制位正在设置/ private / tmp,这就是为什么有些用户报告说禁用SIP作为解决此问题的解决方法。
正确的解决方法是从该path中删除限制位。 如果您将系统引导至恢复模式并启动terminal,则应该可以通过以下方式执行此操作:
chflags norestricted /Volumes/.../private/tmp
或更大的锤子:
rm -rf /Volumes/.../private/tmp mkdir /Volumes/.../private/tmp chmod 1777 /Volumes/.../private/tmp chown root:wheel /Volumes/.../private/tmp
问题是,出于某种原因,您的系统已孤立launch_sim进程。
解决scheme是:
- 退出模拟器
- 打开Activity Montior并searchsim。
- 手动强制退出任何launch_sim,ScriptAgent或乐器进程。