用于与Xcode的xcodeproj包格式交互的工具。
项目描述
xcodeproj
xcodeproj
是一个用于与Xcode的xcodeproj包格式交互的工具。
它期望用户对pbxproj格式和方案有一定的了解。请注意,此工具仅读取项目,不会写入任何更改。如果您正在寻找此类更高级的功能,我建议您查看同名的Ruby gem(它没有任何关联)。
要了解更多关于该格式的信息,您可以查看以下位置
- http://www.monobjc.net/xcode-project-file-format.html
- https://www.rubydoc.info/gems/xcodeproj/Xcodeproj/Project
入门
加载项目非常简单
project = xcodeproj.XcodeProject("/path/to/project.xcodeproj")
从这里,您可以用不同的方式探索项目
# Get all targets
for target in project.targets:
print(target.name)
# Print from the root level, 2 levels deep (.project is a property on the root
# project as other properties such as .schemes are also available)
for item1 in project.project.main_group.children:
print(item1)
if not isinstance(item1, xcodeproj.PBXGroup):
continue
for item2 in item1.children:
print("\t", item2)
# Check that all files referenced in the project exist on disk
for item in project.fetch_type(xcodeproj.PBXFileReference).values():
assert os.path.exists(item.absolute_path())
# You can access the raw objects map directly:
obj = project.objects["key here"]
# For any object you have, you can access its key/identifier via the
# `.object_key` property
key = obj.object_key
注意:此库是“懒惰”的。许多事情都是在使用时才计算的。这在较小项目中无关紧要,但在较大项目中,由于不需要在加载时解析整个项目,因此可以节省大量时间。这些属性通常存储起来,以便后续访问可以即时进行。
关于方案支持的说明
由于xcscheme文件没有DTD,因此实现已猜测。尽管如此,它肯定还有需要修补的漏洞。如果您发现任何问题,请打开一个问题,并提供一个示例xcscheme文件。
贡献
本项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献者许可协议(CLA),声明您有权,并且实际上确实授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交一个pull request时,CLA机器人会自动确定您是否需要提供CLA,并适当地装饰PR(例如,状态检查,注释)。只需遵循机器人提供的说明。您只需在整个使用我们的CLA的所有repos中做一次。
本项目已采用Microsoft Open Source Code of Conduct。有关更多信息,请参阅Code of Conduct FAQ或通过opencode@microsoft.com与任何附加问题或评论联系。
商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft商标或徽标的授权使用必须遵循Microsoft的商标 & 品牌指南。在修改后的本项目版本中使用Microsoft商标或徽标不得造成混淆或暗示Microsoft赞助。任何第三方商标或徽标的用途均受那些第三方政策的约束。
项目详情
下载文件
下载适用于您平台的项目。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
xcodeproj-2.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 59e27c1423e3d105d6dfdb65abde60688a89a10cfe3c383a1bc1c833c3e9308b |
|
MD5 | 7358bfd1ccc9a86be353ce53e3613b45 |
|
BLAKE2b-256 | 21379894e43b44c2edd3db1dfd5a73327076c6415a3a7b40998e3ac389efce9b |
xcodeproj-2.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bdf94cb40c3971fb19c4542c54e17f00e484c0649d34742ada471232bdf2370e |
|
MD5 | 29c945f37ce248dd7ece23e81cb03bb9 |
|
BLAKE2b-256 | 96cda8f67756554e86d61ca3e636db50641e92404972549b420fa78d4b7dba91 |