iOSOpenDev是一款简化越狱开发的工具,它包含了开发中用的到一切,并且是使用Xcode开发,自动创建deb文件。不过不少开源的Cydia插件都是直接使用theos开发,所以最近主要学习了关于theos的使用,介绍如何制作一个锁屏插件。
ios7和之前的ios版本结构都不太一样,所以使用hook的时候,得重新琢磨新的头文件和方法。
创建Tweak
打开终端cd到保存Tweak文件夹的位置,用theos创建:
➜ /opt/theos/bin/nic.pl
NIC 2.0 - New Instance Creator
------------------------------
[1.] iOS/CCLoader Plugin
[2.] iOS/Command Line Interface
[3.] iOS/Flipswitch Toggle
[4.] iOS/Notification Center Widget
[5.] iOS/XPC Service
[6.] iphone/application
[7.] iphone/library
[8.] iphone/preference_bundle
[9.] iphone/tool
[10.] iphone/tweak
Choose a Template (required): 10
Project Name (required): LockScreen
Package Name [com.yourcompany.lockscreen]: com.neo.lockscreen
Author/Maintainer Name [neo]:
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]:
Instantiating iphone/tweak in lockscreen/...
Done.
选择模版10,创建tweak。Project Name
填写插件名称,Pakcage Name
修改yourcompany为你的名字,我这里填写com.neo.lockscreen
,之后的项回车缺省即可,有一点要注意的是:指明hook的程序,默认是指明hook的程序,默认是com.apple.springboard
。
添加自定义锁屏功能
打开lockscreen文件夹,打开Tweak.xm,清空里面的内容。
输入一下:
%hook SBLockScreenView
-(id)_defaultSlideToUnlockText{
%orig;//执行原方法,必须有
NSString *text = @"Change to w/e";
return text;
}
/%-(void)setCustomSlideToUnlockText:(id)unlockText{
unlockText= @"Change to w/e";
%orig(unlockText);
}%/
//Choose either one, both of those worked for me on iOS 7.0.4 iPhone 4
%end
这段代码的主要目的是hook SBLockScreenView里面的_defaultSlideToUnlockText
方法或者方法或者方法。
make package install
THEOS_DEVICE_IP
设置好,手机越狱,并且两者在同一个局域网中,那么可以执行make package install
,打包deb和安装到手机。
更多资源
更多开源插件:Open Source Projects
版权声明:本文为原创文章,版权归 neo 所有。
本文链接:https://idayer.com/create-lockscreen-tweak-by-theos/
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
0 条评论