开发移动基板调整

时间:2011-08-18 04:23:26

标签: objective-c hook cydia tweak

我有一些关于开发移动基板调整的问题 首先,你是如何制作它们的?

你必须使用XCode吗?

需要哪些文件以及您在何处放置代码?

你如何挂进应用程序?

例如,如果我想在Messages应用程序中更改某些内容,我该如何编程将其挂钩到Messages.app?

我非常熟悉为应用程序商店开发常规应用程序,我对移动基板非常感兴趣。我真的很想知道怎么做以及从哪里开始。谢谢!

2 个答案:

答案 0 :(得分:12)

By far, the easiest way to develop MS tweaks is to use Theos

按照上面链接中的说明安装theos,导航到要存储项目的文件夹,然后运行$THEOS/bin/nic.pl为您的调整生成模板。

生成的Tweak.xm文件是您放置代码的位置。要构建项目,只需导航到终端中的项目目录并运行make。如果您的系统上有dpkg,那么您可以轻松打包并安装项目。确保iDevice上安装了OpenSSH并将此行添加到项目的makefile中:

THEOS_DEVICE_IP = [INSERTDEVICESIPHERE]

然后运行make package install来构建您的项目,将其打包到.deb中,将其传输到您的设备并进行安装。

Tweak.xm文件中实际存在的代码是objective-C,其语言简化了名为Logos的Mobile Substrate任务,此处将对此进行说明:http://iphonedevwiki.net/index.php/Logos。但一般来说,代码遵循以下格式:

%hook classname //declares the class from your application you're going to override

-(void)functionyouwanttooveride {

    dosomethingnew(); //put all your new code for the method here
    return %orig;     //this calls the original definition of the method and returns the result
}
%end //end hooking classname

要了解您需要覆盖哪些类别和方法来执行您想要执行的操作,请将cydia,ssh中的class-dump安装到您的设备中并运行class-dump -H path/to/your/binary -o /path/where/you/want/your/classheaders。然后,您只需查看生成的标题,即可找到名称与您正在进行的操作相关的类和方法,并进行实验。

祝你好运!

答案 1 :(得分:7)

I wrote a MobileSubstrate tweak tutorial on my blog 如果你遵循它,我希望你发现它有用!