使用Reveal分析其他App的视图布局
我们有时候可能不知道怎么怎么布局视图,这个时候我们就会想要去参考相似的其他App的界面布局,那么我们就可以使用Reveal来进行布局分析。
(一)越狱安装OpenSSH和Cydia substrate
查看他人App时需要将手机越狱,越狱的方法这里就不仔细讲了,大家搜索一下就行。越狱成功后就能看见这个安装好的软件Cydia软件,启动Cydia软件,第一次启动需要更新一下软件源。在Cydia软件里下载安装OpenSSH和Cydia substrate
(二)通过openSSH拷贝framework和dylib到越狱机
通过openSSH将Reveal.framework上传到/System/Library/Frameworks,将libReveal.dylib上传到/Library/MobileSubstrate/DynamicLibraries
scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework root@192.168.2.114:/System/Library/Frameworks
scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.168.2.114:/Library/MobileSubstrate/DynamicLibraries
这是利用终端,将两个文件上传到iPhone上的指定的文件夹,这里边的192.168.2.114指的是手机的IP地址,自己根据自己的IP地址自行修改吧。
手机的默认密码是: alpine
(三)上传plist文件
你可以用编辑器生成一个libReveal.plist文件,也可以直接在Xcode里创建一个libReveal.plist文件,这个文件主要是用来写一些要查看的App的bundle Id的。我们需要将生成好的plist文件上传到/Library/MobileSubstrate/DynamicLibraries,方法同上传Reveal.framework一样。如玩具超人的BundleId是com.mengshizi.toy。
libReveal.plist文件的内容:
{
Filter = {
Bundles = ("com.apple.AppStore");
Bundles = ("com.mengshizi.toy");
}; }
在Xcode里的Plist文件
当文件创建好之后,我们就需要上传了
注:讲解一下如何获取Bundle Id,我们可以在iTunes里下载一个你要查询Bundle Id的软件,现在好以后在iTunes里的我的应用里找到这个App。
选中右击鼠标-->在Finder中显示-->玩具超人 2.1.3.ipa-->压缩“玩具超人 2.1.3.ipa”-->解压缩“玩具超人 2.1.3.zip”--->打开解压缩后文件夹“玩具超人 2.1.3”--->打开Payload-->选中toy右击--->显示包内容--->搜索info.plist--->打开info.plist里边有Bundle Id.
(四)完成,开始使用Reveal。
上述三步已经完成后,我们需要killAll SpringBoard(刷新一下桌面)或者重启一下手机了。
好了,现在我们可以打开Reveal了,这里已经可以进行查看了,方法和查看模拟器运行是一样的。
这里是一个运行后的结果: