gpt4 book ai didi

ios - launchctl 不适用于 iOS 应用程序

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

我正在尝试从我的越狱手机应用程序停止和启动 com.apple.mobile.installd。我尝试了几乎所有可能的方法 NSTask、system()、shell 脚本,但它不起作用。有人可以帮帮我吗??

下面是我尝试过的代码示例。

-(IBAction)stopIntl:(id)sender
{
NSString *command = [NSString stringWithFormat:@"/bin/launchctl stop com.apple.mobile.installd >> /Applications/loader.app/output.txt"];
const char* new = [command UTF8String];
system(new);
NSLog(@"Stopping InstallD");
}

-(IBAction)startIntl:(id)sender
{
NSString *command = [NSString stringWithFormat:@"/bin/launchctl start com.apple.mobile.installd >> /Applications/loader.app/output.txt"];
const char* new = [command UTF8String];
system(new);
NSLog(@"Starting InstallD");
}

-(IBAction)reloadShell:(id)sender
{
system("/bin/launchctl stop com.apple.mobile.installd");
sleep(2);
system("/bin/launchctl start com.apple.mobile.installd");

NSLog(@"Reloading Shell");
}

-(IBAction)reloadShell1:(id)sender
{
NSString *command = [NSString stringWithFormat:@"/usr/libexec/reload.sh >> /Applications/loader.app/output.txt"];
system([command UTF8String]);
NSLog(@"Reloading Shell1");
}

我的 reload.sh 它可以从终端运行..

#!/bin/sh

# reload.sh
#
# Copyright (c) 2014 Avanté Codeworx. All #rights reserved.

launchctl stop com.apple.mobile.installd
sleep 2
launchctl start com.apple.mobile.installd
exit

自从过去十天以来一直在敲我的头,还尝试了 Launch Daemon 它可以工作但一直在运行.. 从未停止过..

这是我的守护进程..

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LaunchEvents</key>
<dict>
<key>com.apple.notifyd.matching</key>
<dict>
<key>com.loader.reload</key>
<dict>
<key>Notification</key>
<string>com.loader.reload</string>
</dict>
</dict>
</dict>
<key>Label</key>
<string>com.avante.loader</string>
<key>UserName</key>
<string>root</string>
<key>KeepAlive</key>
<false/>
<key>Program</key>
<string>/usr/libexec/reload.sh</string>
</dict>
</plist>

请帮帮我!!

最佳答案

这是一些人的误解。

就因为你的手机越狱了,apps don't run with root privileges .

仅仅因为您的应用程序安装在 /Applications/ 中,它不会以 root 权限运行。

要使您的应用以 root 权限运行,see this answer .否则,它将作为用户 mobile 运行。

launchctl 需要 root 权限才能正常运行。

附言当然,您可以删除启动守护程序。正确的做法是简单地授予您的应用 root 权限。

关于ios - launchctl 不适用于 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21632449/

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