Ios 启动时运行代码?

Ios 启动时运行代码?,ios,boot,springboard,Ios,Boot,Springboard,我正在为iOS创建一个雄心勃勃的项目,在springboard实际启动之前,我需要在启动阶段运行一些代码。我知道这可能会损害设备,但这是非常关键的。我注意到在使用evasi0n越狱时,越狱实际上是在启动时运行代码(它实际上复制了一些文件并显示了一个图像)。你知道我该怎么做吗 注意:我已经检查过了,没有evasi0n的源代码:(您可以创建一个启动守护程序并安装它。您应该执行以下过程: 创建您的程序(使用main()等的普通可执行文件),并将其放入标准可执行文件路径之一。我建议您为此使用/usr/l

我正在为iOS创建一个雄心勃勃的项目,在springboard实际启动之前,我需要在启动阶段运行一些代码。我知道这可能会损害设备,但这是非常关键的。我注意到在使用evasi0n越狱时,越狱实际上是在启动时运行代码(它实际上复制了一些文件并显示了一个图像)。你知道我该怎么做吗


注意:我已经检查过了,没有evasi0n的源代码:(

您可以创建一个启动守护程序并安装它。您应该执行以下过程:

  • 创建您的程序(使用
    main()
    等的普通可执行文件),并将其放入标准可执行文件路径之一。我建议您为此使用
    /usr/libexec/

  • /System/Library/LaunchDaemons/
    中创建一个属性列表,其名称为任意捆绑ID(例如
    com.mycompany.NastyLaunchDaemon.plist
    ),其内容如下:


  • 
    标签
    com.mycompany.NastyLaunchDaemon
    节目
    /usr/libexec/mynastylaunchd
    运行负荷
    

    重新启动设备后,程序将运行。

    那么,这是针对越狱设备的吗?当然:)我也想过用自己的Springboard二进制文件替换Springboard二进制文件,然后将其放回并重新启动/响应,但这似乎很愚蠢…@NickAlieropoulos它有点。。。看我的答案。谢谢。太好了!当它点击返回0时;它会正常启动跳板?@NickAliferopoulos,嗯,什么?它会在启动时执行我的二进制文件,对吗?当它被执行时,它将正常启动并启动跳板。。。还是没有?@NickAliferopoulos当然会,启动守护进程不要删除功能,只添加。这很好!谢谢你的帮助!:)
    <plist>
    <dict>
        <key>Label</key>
        <!-- this needs to match the file name without the .plist extension! -->
        <string>com.mycompany.NastyLaunchDaemon</string>
        <key>Program</key>
        <string>/usr/libexec/mynastylaunchd</string>
        <key>RunAtLoad</key>
        <true />
    </dict>
    </plist>