python解析mobileprovision文件

做iOS应用开发的时候,肯定会涉及到证书文件,也肯定会涉及到一个.mobileprovision的文件,.mobileprovision文件中有个几个关键的信息:Name,UUID,TeanName
我们可以用notepad++等文本编辑器打开并看到,但是每次都要打开notepad++并进行关键字查找,这样效率有点低,可以写个python脚本进行自动解析

import os

tags = {"Name": False,
        "UUID": False,
        "TeamName": False}
        
def get_target_tag(key, l):
    global tags
    if tags[key]:
        print(key+': ' + l.replace(r'<string>','').replace(r'</string>',''))
        tags[key] = False
    if ('<key>%s</key>'%key) in l:
        tags[key] = True
        
def get_mobileprovision_files(path):
    for f in os.listdir(path):
        if f.endswith('.mobileprovision'):
            yield f
    
if __name__ == '__main__':
    for f in get_mobileprovision_files('.'):
        r=open(f,'rb')
        lines=r.readlines()
        for l in lines:
            for k in tags.keys():
                get_target_tag(k,l)
        print('\n')
        r.close()

把上面的python脚本保存为get_mobileprovision_info.py,放到.mobileprovision文件所在的目录,执行,
会输出如下的结果

my_game_dev.mobileprovision
Name:  my_game_dev
TeamName: Linxinfa Network Technology Company
UUID:  c35br04j-4167-7953-j54l-402652n75l2

my_game_dis.mobileprovision
Name:  my_game_dis
TeamName:  Linxinfa Network Technology Company
UUID:  hy443jlzvb-gv36-6986-za03-b3n5o40n

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...