上面我们谈到Shell中通过路径对文件的直接操作。
那么意味着我们可以直接对ipa包操作,ipa包的一个形式如下:
其实都非常重要,而操作上,最应该做的就是属性文件了,info.plist就重要性和功能就不多说了。
我们开门见山,如何用Shell来对info.plist的 增 、 删、 查、 改 操作
这个时候很多人会理所当然地想,仿照Shell的对各种文件的修改的方法不就得了,例如Shell对txt文件的批处理操作等等。
慢着,plist文件是一个键值对,想想用txt的纯文本操作风险还挺高的,其实Mac OX提供了对plist文件操作的直接命令:PlistBuddy
详参:
http://blog.sina.com.cn/s/blog_605409770102v0nr.html
顺便提一点文章没有提到的,PlistBuddy命令其实在绝对路径:/usr/libexec/PlistBuddy
整个输出:
/usr/libexec/PlistBuddy -c "Print" iosfighterlb7.app/Info.plist
而要输出某个字段,例如bundleID,只要添加参数即可:
/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" iosfighterlb7.app/Info.plist
同理的删、改、增都是非常简单。只要查看上面的即可。
这里提一点,现在我们用的是相对路径,需要我们cd到指定的目录,记得前面几个文章的组合路径的作用了吗?
这样一修改了之后,就可以随心所欲输出所有任意位置的info.plist信息了!!
#!/bin/sh
desktop=~/Desktop
target=exampleDirectory
payload=Payload
ipaTarget=iosfighterlb7
BUILDAPPPATH=${desktop}/${target}/${payload}/${ipaTarget}.app
echo ${BUILDAPPPATH}
bundleIdentifier=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" ${BUILDAPPPATH}/Info.plist`
echo $bundleIdentifier
总结:
学习了对包的info.plist处理的PlistBuddy命令,但是这里是机遇一个现成的ipa的处理,接下来会讲解,从工程直接先处理成ipa包然后在处理的几个机遇Xcode的神奇命令!期待吧!!