python 配置文件类库_PBXProjectHelper

目录

1. 功能介绍

PBXProjectHelper是一个基于Python开发的,目的用于解析和操作PBXProject(XCode项目的配置文件)的工具类库。其提供了非常简单的方法来让开发者对XCode项目进行文件、类库以及项目设置的修改。从而达到自动化维护和管理的目的。

2. 集成方式

导入PBXProjectHelper到你的Python脚本中。如:

import PBXProjectHelper

初始化PBXProjectHelper工具类,并传入pbxproj文件的路径

helper = PBXProjectHelper ("/Users/fenghj/Documents/work/Demo/Demo.xcodeproj/project.pbxproj")

调用PBXProjectHelper类提供的方法来操作PBXProj文件。如添加一个Group到XCode项目:

helper.project.mainGroup.addGroup ("Demo")

3. 基础用法

3.1 获取分组或文件对象

# 查找当前分组下名称或者路径匹配的文件或者分组对象

obj = helper.project.mainGroup.getChild(path)

# 第二个参数传入True可以对匹配进行递归,即可以匹配当前分组以及子分组中的所有内容

obj = helper.project.mainGroup.getChild(path, True)

# 根据层级描述来定位文件或者分组对象

obj = helper.project.mainGroup.find("/Demo/ViewController/HomeViewController.m")

# 通过层级描述来定位当前目录下(包括子目录)下匹配的文件或者分组对象

obj = helper.project.mainGroup.find("//ViewController/HomeViewController.m")

3.2 添加分组

# 在项目根目录下添加一个test的分组

helper.project.mainGroup.addGroup("test")

# 在Frameworks目录下添加一个test的分组

frameworksGroup = helper.project.mainGroup.find("/Frameworks")

frameworksGroup.addGroup("test")

3.3 移除分组

# 删除Frameworks目录下的test分组

frameworksGroup = helper.project.mainGroup.find("/Frameworks")

testGroup = helper.project.mainGroup.find("/Frameworks/test")

frameworksGroup.removeChild(testGroup)

3.4 添加Framework

frameworksGroup = helper.project.mainGroup.find("/Frameworks")

# 添加系统框架到第一个Target中

frameworksGroup.addSystemFramework("AVFoundation.framework", helper.project.targets[0])

# 添加自定义框架到第一个Target中

frameworksGroup.addFramework("/User/xxx/Lib/Utils.framework", helper.project.targets[0])

3.5 添加动态库

frameworksGroup = helper.project.mainGroup.find("/Frameworks")

# 添加系统动态库到第一个Target中

frameworksGroup.addSystemDylib("libz.tbd", helper.project.targets[0])

# 添加自定义动态库到第一个Target中

frameworksGroup.addDylib("/User/xxx/Lib/test.dylib", helper.project.targets[0])

3.6 添加静态库

frameworksGroup = helper.project.mainGroup.find("/Frameworks")

# 添加静态库到第一个Target中

frameworksGroup.addStaticLib("/User/xxx/Lib/test.a", helper.project.targets[0])

3.7 添加头文件

group = helper.project.mainGroup.find("/test/Headers")

# 添加一个头文件到项目

group.addHeaderFile("Test.h")

3.8 添加Bundle

group = helper.project.mainGroup.find("/test/Resources")

# 添加一个Bundle到项目的第一个Target

group.addBundle("Test.bundle", helper.project.targets[0])

3.9 添加本地化文件

group = helper.project.mainGroup.find("/test/Resources")

group.addLocalizedFile("Base.lproj/test.strings", "Base", parser.project.targets[0])

group.addLocalizedFile("en.lproj/test.strings", "en", parser.project.targets[0])

3.10 添加ShellScriptBuildPhase

# 给项目第一个target添加ShellScript

helper.project.targets[0].addShellScriptBuildPhase("echo \"Hello World\"");

3.11 保存变更内容

helper.save()

3.12 添加/删除语言区域

# 添加语言

helper.project.addRegion("zh-Hans")

# 删除语言

helper.project.removeRegion("zh-Hans")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值