跳转到主要内容

用于与Xcode的xcodeproj包格式交互的工具。

项目描述

xcodeproj

xcodeproj 是一个用于与Xcode的xcodeproj包格式交互的工具。

它期望用户对pbxproj格式和方案有一定的了解。请注意,此工具仅读取项目,不会写入任何更改。如果您正在寻找此类更高级的功能,我建议您查看同名的Ruby gem(它没有任何关联)。

要了解更多关于该格式的信息,您可以查看以下位置

入门

加载项目非常简单

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 (16.4 kB 查看散列)

上传时间 源代码

构建分发

xcodeproj-2.1.0-py3-none-any.whl (18.6 kB 查看哈希值)

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面