您的位置:首页 > 运维架构 > Shell

Shell - 9

2016-03-26 21:41 447 查看
上面我们谈到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的神奇命令!期待吧!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux Shell