关于RevealLoader源代码的分析

我下载了 RevealLoader 的源代码,自己编译,然后安装,有2个发现
一是 DEBIAN目录下有了extrainst_ 这个文件,这是必然的,有这个代码。打包后,DEBIAN目录下的文件是不会进入deb包中的。
如果make install,会有如下信息,这表示iPhone上开始自动下载 libReveal.dylib了。应该是在iPhone上执行了extrainst_,但是deb中没有这个程序,我去iPhone中寻找也没有找到它。想知道这个功能是如何在theos中实现的。

RevealLoader中使用了Preference Loader 和 App List这两个东东,我在网上没有找到相关的教程,如果版主能够出一个这样的教程就好了。
theos中有10个模板,目前书中只有tweak的,需要大家去摸索其它的东东。感觉路比较漫长,需要加油。
NIC 2.0 - New Instance Creator

[1.] iphone/application
[2.] iphone/cydget
[3.] iphone/dashboardx_widget
[4.] iphone/framework
[5.] iphone/library
[6.] iphone/notification_center_widget
[7.] iphone/preference_bundle
[8.] iphone/sbsettingstoggle
[9.] iphone/tool
[10.] iphone/tweak

nstall.exec “cat > /tmp/_theos_install.deb; dpkg -i /tmp/_theos_install.deb && rm /tmp/_theos_install.deb” < “././releases/debs/com.rheard.reveal-loader_1.0.0-3_iphoneos-arm.deb”
root@192.168.1.151’s password:
(Reading database … 3406 files and directories currently installed.)
Preparing to replace com.rheard.reveal-loader 1.0.0-3 (using /tmp/_theos_install.deb) …
Unpacking replacement com.rheard.reveal-loader …
Downloading ‘http://download.revealapp.com/Reveal.app.zip /Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib’ to ‘/Library/RHRevealLoader/libReveal.dylib’.
Downloading… 1%
Downloading… 5%
Downloading… 10%
Downloading… 15%
Downloading… 20%
Downloading… 25%
Downloading… 30%
Downloading… 35%
Downloading… 40%
Downloading… 45%
Downloading… 50%
Downloading… 55%
Downloading… 60%
Downloading… 65%
Downloading… 70%
Downloading… 75%
Downloading… 80%
Downloading… 85%
Downloading… 90%
Downloading… 95%
Downloading… 100%
Successfully downloaded http://download.revealapp.com/Reveal.app.zip to path /Library/RHRevealLoader/libReveal.dylib
Setting up com.rheard.reveal-loader (1.0.0-3) …
install.exec “killall -9 SpringBoard”

make install执行后会自动下载的话,我猜测是执行了postinst或者makefile等地方的脚本,你把reveal loader的deb包传上来看看?
PreferenceLoader书上提到过,其实就是把App放到配置里去,PreferenceLoader只是起到一个加载的作用(相当于MobileSubstrate之于tweak),如果感兴趣可以研究一下,不研究也没什么关系;
AppList的源码里,rpetrich已经给出了简单的用法了。
这两个工具的用法,都可以参考GitHub上现成的例子,不是太复杂

貌似上传附件不成功,加个包OK了。

deb解包之后,extrainst_在control.tar.gz里