OStack程序员社区-中国程序员成长平台

标题: ios - 为 iPhone 编写后台进程时出错 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:33
标题: ios - 为 iPhone 编写后台进程时出错

对于我的应用程序,我想创建一个后台进程,所以我做到了。 但是现在当尝试像这样在 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 脚本:

chown root:wheel /Library/LaunchDaemons/com.dev.app.plist
launchctl load /Library/LaunchDaemons/com.dev.app.plist



Best Answer-推荐答案


我也看到了这个错误信息。

如果您查看手机的文件系统(例如,使用 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:

mkdir -p /var/db/launchd.db/com.apple.launchd

关于ios - 为 iPhone 编写后台进程时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24014982/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4