Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS调整不加载_Ios_Iphone_Jailbreak_Tweak_Cydia Substrate - Fatal编程技术网

iOS调整不加载

iOS调整不加载,ios,iphone,jailbreak,tweak,cydia-substrate,Ios,Iphone,Jailbreak,Tweak,Cydia Substrate,我正在开发一个小的调整来更改/var/preferences中的一些文件。这是我的构造函数: %ctor { NSLog(@"\n\n\n Tweak Loading... \n\n\n "); NSError *error = [[NSError alloc] init]; BOOL success = [[NSFileManager defaultManager] copyItemAtPath:somePath toPath:someOtherPath error:

我正在开发一个小的调整来更改/var/preferences中的一些文件。这是我的构造函数:

%ctor
{
    NSLog(@"\n\n\n Tweak Loading... \n\n\n ");

    NSError *error = [[NSError alloc] init];
    BOOL success = [[NSFileManager defaultManager] copyItemAtPath:somePath toPath:someOtherPath error:&error];
    if (success)
    {
        NSLog(@"\n\n\n Success:) \n\n\n ");
    } else {
        NSLog(@"\n\n\n Failure! \n\n\n ");
    }

    //Method hook initialization
    %init;
}
由于移动用户无法访问/var/preferences/,因此应在根进程中加载调整。通过一点搜索,我发现wifid具有root权限。因此,我将包标识符的过滤器更改为com.apple.wifid过滤器

在我重新启动wifid守护进程之后,什么都没有发生,调整也没有加载。我认为这是这个特定守护进程的问题,所以我为测试编写了一个简单的命令行工具,其中有一个runloop,它就像一个启动守护进程,而不是在启动时运行plist。然后我将plist修改为:

<?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>Filter</key>
    <dict>
        <key>Executables</key>
        <array>
            <string>myExecutableName</string>
        </array>
    </dict>
</dict>
</plist>

同样,没有发生任何事情,也没有加载调整。我怎样才能解决这个问题?为什么不调整这些进程中的负载?

仅仅为了以root身份运行看似无关的任务而挂接到wifid这样的根进程,这是一个非常糟糕的解决方案。正如creker所说,您可以将任务作为LaunchDaemon运行,甚至可以在以root运行的应用程序中运行任务。无论哪种方式都比挂接到现有流程中去做一些似乎与流程无关的事情更有意义。

不知道为什么您的调整不起作用,但为什么您甚至在调整中这样做?调整的目的是改变某些东西的默认行为。在您的情况下,您似乎只需要以root身份执行某些内容,而不管从哪个进程执行。看起来你会更好地使用你自己的守护程序,它可以拥有你想要的任何特权。@creker我现在只想让它工作,然后我计划将它转换为守护程序!上面的代码不是我所有的代码,还有一些连接。这就是为什么我必须写一个调整。wifid的问题已经解决了!我将过滤器改为可执行文件wifid,而不是Bundles-com.apple.wifid!但问题仍然在于我自己的可执行文件。我哪里错了?