格式project.pbxproj

时间:2016-01-20 05:22:54

标签: 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:

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

C856C 08A1 C4F4B 7E 00438444(根对象代码)

C856C 0981 C4F4B 7E 00438444(app delegate)

C856C 0AC1 C4F4B 99 00438444(app常数)

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

更新

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

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

2 个答案:

答案 0 :(得分:0)

你应该尝试:

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

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

答案 1 :(得分:0)

您可以使用的框架是PBXproject。打开.pbxproj文件,创建新文件引用,然后保存文件。