0

从 iOS 5.x 到 iOS 6.1,launchd (LaunchDaemons) 文件的语法是否有任何变化?

我试图从我的 iOS 5.1 iPhone4s 安装一些东西到 iPhone5(使用 Evasi0n 运行 iOS 6.1 JB),它给了我这个错误(在 /var/log/syslog 中):

com.apple.launchd[1] (com.mydom.myScrpt[2601]): (com.mydom.myScrpt) Exited with code: 1

这不是“myScrpt”问题,因为我将 myScrpt 更改为:

#!/bin/sh
echo "----Test---"

但 /var/log/syslog 中唯一的事情是错误,没有别的(在我的 iPhone4s 中做同样的事情,打印该"----Test---"行)。

我的 launchd 文件(以 root 身份在 14:00 运行 myScrpt)的语法是

{
    Label = "com.mydom.myScrpt";
    LowPriorityIO = 1;
    Nice = 9;
    ProgramArguments =     (
        "/private/var/root/bin/myScrpt"
    );
    StartCalendarInterval =     {
        Hour = 14;
        Minute = 00;
    };
    UserName = root;
}

我究竟做错了什么?我应该如何编写我的启动文件以在 14:00 运行我的命令?

4

1 回答 1

2

在您的launchd文件中添加:

<key>StandardOutPath</key>
<string>/var/log/syslog.mine</string>

获取脚本的输出。

这大概就是从 iOS5 到 iOS6 的“变化”。现在您必须指定输出,默认情况下不使用“syslog”。

于 2013-02-11T14:29:14.000 回答