c++ - 格式化项目.pbxproj

标签 c++ ios xcode sh

我创建了一个新项目并添加了一个文件 AppConstans.h 然后,git diff 和我看到下一个变化:

C856C0AC1C4F4B9900438444 /* AppConstans.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppConstans.h; sourceTree = "<group>"; };

没关系。删除此文件。

现在我想用脚本来做到这一点。 在运行脚本中添加:

echo "/* AppConstans */" > ${PROJECT_DIR}/AppConstans.h

文件已创建,并位于项目所在的文件夹中。现在有必要添加到项目中。我想更改 project.pbxproj 文件并手动添加以下行:

C856C0AC1C4F4B9900438444 /* AppConstans.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppConstans.h; sourceTree = "<group>"; };

但是我不明白如何在这里编写这一行代码。

我有根对象:

rootObject = C856C08A1C4F4B7E00438444 /* Project object */;

我有 AppDelegate.h

C856C0981C4F4B7E00438444 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };

所以它应该看起来像文件格式

C856C0AC1C4F4B9900438444 /* AppConstans.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppConstans.h; sourceTree = "<group>"; };

AppDelegate.h 和 AppConstans.h 的区别以及根对象代码 C856C08A1C4F4B7E00438444

C856C08A1C4F4B7E00438444(根对象代码)

C856C0981C4F4B7E00438444(应用委托(delegate))

C856C0AC1C4F4B9900438444(应用常量)

我不能在这里创建这样的代码来通过脚本创建文件。有任何想法吗 ? 任何帮助将不胜感激

更新:

我创建新项目。这是项目三:

enter image description here

第 2 步:

我添加新脚本并运行:

enter image description here

第 3 步:

再看你的项目。该文件不在项目目录中:

enter image description here

第 4 步:在 finder 中打开项目目录:我看到 AppConstans.h 已创建。但是文件没有添加到项目中。我必须手动添加他。

enter image description here

第 5 步:我相互添加了文件,我在 pbxproj 中看到了变化 enter image description here

那么,我如何将名称 AppConstants.h 转换为 C8F3552E1C57A366003D3D39

最佳答案

你应该尝试:

echo "/* AppConstans */" >> "${PROJECT_DIR}/AppConstans.h"

注意 >> 而不是 >(以及路径周围的引号,以防止扩展)。这将导致您的字符串被附加到文件的末尾,而不是替换文件。

关于c++ - 格式化项目.pbxproj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34892138/

相关文章:

c++ - 从 C++ 中的函数返回 2D 字符数组并打印它

c++ - Mac OSX - Yosemite 更新后每个 C++ 程序(甚至 Hello World)都出现段错误

ios - 如何使用滚动动画关注 UITableview 中的最后一个单元格?

swift - 为什么 Xcode 无法识别 Main.storyboard?

objective-c - 以编程方式创建 NSPopUpButton

swift - 如何快速重播视频

c++ - 通过引用使用 std::experimental::optional 作为参数

c++ - 在阅读 callgrind 输出时需要帮助

ios - Swift - 如何发送内容类型为 "x-www-form-urlencoded"的 POST 请求

ios - 如何拉伸(stretch)一个物体?