launchd_sim崩溃:无法创建临时状态目录

时间:2016-10-25 11:03:33

标签: ios xcode macos ios-simulator

  

最新的Mac OSX更新解决了这个问题。

我在运行OSX El Capitan(10.11.6)的Mac Mini上使用Xcode 8。当我在simultor上部署我的应用程序时显示以下错误消息:

  1. “launchd_sim意外退出”

  2. “无法启动iOS模拟器”

  3. 如何解决此类问题?

    详细的例外报告:

    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
    

4 个答案:

答案 0 :(得分:4)

此错误表示launchd_sim无法创建其临时状态目录(/private/tmp/com.apple.CoreSimulator.SimDevice .... launchd_sim)。

如果删除/ private / tmp或更改了权限,就会发生这种情况。

最近有关于这个问题的大量报道。原因似乎是限制位在/ private / tmp上设置,这就是为什么有些用户报告禁用SIP作为此问题的解决方法。

正确的解决方法是从该路径中删除受限制的位。如果您将系统启动到恢复模式并启动终端,则应该能够执行以下操作:

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

答案 1 :(得分:3)

这些命令帮了我大忙:

sudo chown root:admin /tmp; sudo chmod 1777 /tmp
sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmp

答案 2 :(得分:0)

$ sudo chmod 1777 /Volumes/Macintosh\ HD/private/tmp

为我工作。

答案 3 :(得分:-1)

问题是,由于某种原因,您的系统已经成为孤立的launch_sim进程。

解决方案是:

  1. 退出模拟器
  2. 打开Activity Montior并搜索sim。
  3. 手动强制退出任何launch_sim,ScriptAgent或工具进程。