gpt4 book ai didi

ios - 为 iPhone 编写后台进程时出错

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:01 24 4
gpt4 key购买 nike

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

最佳答案

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

如果您查看手机的文件系统(例如使用 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 并不常用,它们共享许多相同的代码库。

编辑:

如果您真的觉得需要删除该消息,看起来只需创建该目录即可删除它。因此,在调用 launchctl 之前,您可以在 postinst 脚本中添加如下内容:

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

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com