关于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里