前面我们分别从如何读取Xcode的info.plist文件开始介绍了一些获取ipa包内文件和编译成ipa包的一些操作。
那如果要获取一些信息,而并不是info.plist这些Xcode提供好的,例如一个xml文件里面读取一些信息,怎么办?
参见:
http://blog.csdn.net/onlyou930/article/details/6582409
grep命令非常好掌握,配合好-o后,就可以精准匹配,参见:
http://blog.sina.com.cn/s/blog_7e9efc570101adbv.html
掌握了之后,任何文件信息都不用怕了!
例如,在一个app包里面有xml文件:
<config>
<referer>appstore10001_1</referer>
<number>46</number>
<version>2.2.3</version>
</config>
我们需要获取number,该怎么做?
我们的思路是:
1.先获取<number> </number> 键值对
2.再从键值对里面获取内容
这种过程性的操作,我们称为,管道!! 以后要花个大篇章来描述的,不过其实就是前面的一个操作的输出作为下一个操作的输入罢了!
#!/bin/sh
desktop=~/Desktop
#projDirectory是 .xcodeproj 所在的目录
project=exampleDirectory
payload=Payload
buildApp=iosfighterlb7
#获取目标路径.
BUILDAPPPATH=${desktop}/${project}/${payload}/${buildApp}.app
echo ${BUILDAPPPATH}
#1.获取键值对 <number>.*</number>
#2.继续在这个键值对里面精准匹配数字内容
number=`grep -o "<number>.*</number>" ${BUILDAPPPATH}/config.xml | grep -o "[0-9]*[0-9]"`
echo ${number}
前面讲的所有内容几乎都是基于面相过程和普通变量的情况,如果很多个不同number的ipa包,我们该怎么操作?下面我们会引入数组这个非常关键数据类型!!