我创建了一个新项目,并添加了一个文件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之间的差异

C856C08A1C4F4B7E00438444(根对象代码)

C856C0981C4F4B7E00438444(应用程序委托)

C856C0AC1C4F4B9900438444(应用常量)

我无法在此处创建此类代码以通过脚本创建文件。有任何想法吗 ?
任何帮助,将不胜感激

更新:

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

c&#43;&#43; - 格式化project.pbxproj-LMLPHP

第2步:

我添加新脚本并运行:

c&#43;&#43; - 格式化project.pbxproj-LMLPHP

第三步:

再次查看您的项目。该文件不在项目目录中:

c&#43;&#43; - 格式化project.pbxproj-LMLPHP

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

c&#43;&#43; - 格式化project.pbxproj-LMLPHP

步骤5:我相互添加了文件,并且看到pbxproj中的更改
c&#43;&#43; - 格式化project.pbxproj-LMLPHP

因此,我如何将名称AppConstants.h转换为C8F3552E1C57A366003D3D39

最佳答案

你应该试试:

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


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

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

10-11 19:10