对于我的应用程序,我想创建一个后台进程,所以我做到了。
但是现在当尝试像这样在 postinst 中通过脚本加载进程时
/Library/LaunchDaemons/com.dev.app .
我收到错误消息:
Could not open job overrides database at: /private/var/db/launchd.db/com.apple.launchd/overrides.plist: 2: No such file or directory
谁能帮我解决这个问题?
编辑:
Debian postinst 脚本:
Best Answer-推荐答案 strong>
我也看到了这个错误信息。
如果您查看手机的文件系统(例如,使用 ssh 登录),我敢打赌您在 /private/var/db/launchd.db 中没有文件夹>.
仅仅因为 iOS 找不到该数据库文件并不意味着您的守护程序没有加载(或卸载)。在命令行(登录手机)使用ps -Aef 命令检查你的守护进程是否正在运行。
在您的守护进程的 plist 文件中(例如 /System/Library/LaunchDaemons/com.mycompany.mydaemon.plist ),您可以设置 Disabled 标志(但是,您可能不会)。 overrides.plist 文件可以覆盖守护程序的 plist 文件中的 Disabled 设置。
我的猜测是,这主要是 OS X 的一项功能,而不是 iOS 常用的功能,它共享大部分相同的代码库。
编辑:
如果您真的觉得有必要删除该消息,看起来只需创建该目录即可删除它。因此,您可以在 postinst 脚本中添加类似的内容,然后调用 launchctl :
关于ios - 为 iPhone 编写后台进程时出错,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24014982/
|