- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
有谁知道读/写 Xcode 项目文件 .xcodeproj/.pbxproj 的库吗?欢迎任何语言。
提前致谢。
最佳答案
Xcode 项目的表面语法是“旧式 plist”。您可以使用以下命令轻松将其转换为 XML plist
plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj
请注意,这不是“真正的 XML”,而是以 XML 语法表示的 Mac OS X plist 结构;它几乎完全由键值对字典和数组组成。 Xcode 将读取 XML 表示,但在打开项目时将其转换回“旧式 plist”。
plist中各项的结构和关系遵循项目的结构。 UUID 用于在项目与其目标之间以及项目与项目包装器中的用户文件之间交叉引用项目。
“isa”键标识每种对象。 PBXProject 包含 PBXFileReference、PBXGroup、PBXNativeTarget 和 PBXBuildConfiguration 对象。
目标具有包含对文件引用的交叉引用的 PBXBuildPhase 对象; BuildConfigurationLists 存储目标的build设置,以及其他目标设置,如目标类型和名称。
buildConfigurationLists 交叉引用 buildConfigurations,而 buildConfigurations 又包含 buildSettings 的字典。
我建议先查看旧式 plist 文本,因为它更具可读性,并且实际上具有内联注释来告诉您什么是什么。然后您可以使用 XML 工具来编辑或编写您喜欢的项目文件。
关于java - 读取/写入 pbxproj/xcodeproj 文件的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1452707/
我创建了一个新项目并添加了一个文件 AppConstans.h然后,git diff 和我看到下一个变化: C856C0AC1C4F4B9900438444 /* AppConstans.h */ =
我正在制作一个使用 ruby 自动修改 iOS 项目的脚本。添加一些文件后,我需要修改project.pbxproj文件以保存项目中的更改。 我找到了一种将 pbxproj 文件解析为 json
我们的团队有两名成员。我们使用Xcode的SCM(使用SVN)来管理我们的源代码文件。 我们都将文件添加到我们的 Xcode 项目中。他已经致力于SVN服务器。当我更新时,Xcode 发现 proje
我最近从我的 iOS 项目中删除了一个框架,并通过依赖项管理器 (CocoaPods) 安装它。然而,我注意到,在检查对源代码管理的更改时,删除了对框架的一些引用,但添加了一个绝对路径。从差异中(第一
当我集成新的 facebook SDK 3.1.2 以实现统一时,project.pbxproj 文件以 plist 格式生成。当 FB SDK 尝试更改它时,这会导致解析问题。 最佳答案 您所要做的
很少有地方提到 .pbxproj 文件应该作为二进制文件在 cvs 或 git 中提交/导入。它看起来像文本格式的脚本文件。该建议应将其视为二进制文件的原因是什么? 最佳答案 作为mentioned
我正在查看一个开源 Mac 应用程序,他们为 .gitignore 提供了一些建议值。他们是我所期望的... 但是,他们还建议进入 .gitattributes 文件: *.pbxproj -crlf
我有一个通过 microsoft appcenter 构建和分发的 React Native 应用程序。对于 iOS 端,我有一个发布版本,它是实时生产版本。我有一个分期变体。我试图实现的 git 流
在我们的团队中,我们使用 Subversion 作为我们 iOS 项目的 VC 系统。问题是,无论何时使用 .pbxproj 文件中的一个检查,其他人都会得到 CODE_SIGN_IDENTITY 和
我找不到 project.pbxproj 文件。谁能告诉我这是在哪里? 最佳答案 通常它位于相应的 YourProjectName.xcodeproj 包内 - 它是一个文件夹,但在 MacOS 的
我只是更新到新的xcode,现在项目文件已停止提交或更新。我可以为使用SVN进行配置吗?手动同步似乎很痛苦。 最佳答案 看起来您的svn存储库中发生了某些事情,可能是Xcode的错,也可能不是Xcod
每当我提交并推送 project.xcodeproj 文件时,git 无法识别 project.pbxproj 因为它没有显示在远程分支上。 如果我在项目中做了一些更改,例如添加新文件或更改项目设置等
我有一组开发人员,每个人都有自己的开发人员帐户。 问题来自开发证书。由于每个人都有自己生成的证书,project.pbxproj 文件在每次任何开发人员将他们的更改 merge 到主分支(即 mast
我想使用命令行直接编辑 project.pbxproj(用于 CI 服务器脚本) 什么工具可以让我做到这一点? 我曾经使用PlistBuddy编辑输出Info.plist;然而,我真正想做的是编辑这个
如果您查看project.pbxproj,您会发现项目中的每个文件都有一个哈希值 例如 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Fram
每次我进行拉取时,我的其他团队成员都会发生合并冲突。我尝试手动删除 ==== 和 >>>>,但 Xcode 将永远不会在此之后打开文件. 我很好奇,团队中的每个 iOS 人员都会遇到这个问题吗?有什么
project.pbxproj 就像 json。但是因为我使用最新的 Xcode(7.3.1),它变成了 plist。这是我的 project.pbxproj: archiveVers
这个文件包含什么,保持它“正确”有多重要? 我见过有人写 scripts只是 merge 处理它的任何更改,我听说过 others每次手动 merge 它。 正确的处理方式是什么?为什么? 最佳答案
如果我将文件添加到我的项目中,而我的同事将文件添加到他的项目中,并且我们都 checkin 文件,我们是否应该预期会发生冲突?处理这个问题的最佳方法是什么? 最佳答案 这种情况对我来说经常发生,我有一
尝试将我的第一个 iPhone 应用程序提交到 Subversion,发现我的 xcode project.pbxproj 文件中有“代码签名身份”部分。 CODE_SIGN_IDENTITY = "
我是一名优秀的程序员,十分优秀!