【问题标题】:how to add file to xcode pbxproj file?如何将文件添加到 xcode pbxproj 文件?
【发布时间】:2012-06-15 12:20:37
【问题描述】:

我想让 xcode 项目与 Visual Studio 项目保持同步。我怎样才能做到这一点?

顺便说一句,xcode 如何管理文件引用? pbxproj 文件中没有路径信息,每个文件引用只有一个“幻数”。

【问题讨论】:

    标签: xcode4.2


    【解决方案1】:

    对于您的第一个问题,我怀疑唯一合理的方法是使用跨平台构建工具,例如 make 或 ANT,并为每个目标单独包含。如果您随后使用每个平台的本机工具 Xcode 和 VS 包装这些 makefile,这可能会更容易管理。

    您的第二个问题令人费解,因为 pbxproj 文件确实具有每个文件的显式路径以及搜索路径集,请参见下面的示例。

    492991C11534DE51003993BA /* KeyboardButton.m */ = {isa = PBXFileReference;文件编码 = 4; lastKnownFileType = sourcecode.c.objc;名称 = 键盘按钮.m;路径 = GUI/iPad/Session/Keyboard/KeyboardButton.m;源树 = ""; };

    【讨论】:

      【解决方案2】:

      将文件添加到 XCode 项目是很奇怪的。例如,我还没有发现 XCode 如何计算对象字典的哈希值。

      但经过一些分析,我写了一个小工具来将文件添加到 xcode 项目中。它正好符合我的需要,但可以扩展。如果您有添加文件的扩展需求,请随时通过 github 与我联系,例如仅为选定目标添加构建规则,我还没有实现,因为我认为这个功能是在 >99% 的项目中不需要。

      XCodeControl 项目本身就是一个 macos XCode 项目,因为它最容易阅读和修改 .pbxproj 文件,这些文件是 NSDictionary 对象的简单序列化。当然,苹果在其序列化中添加了一些盐,因此XCodeControl 的输出看起来与苹果产生的完全不同,但它仍然可以正常工作。

      【讨论】:

        【解决方案3】:

        .pbxproj 文件格式

        如果您对.pbxproj 文件格式感兴趣,可以查看此http://www.monobjc.net/xcode-project-file-format.html

        哈希码由UUID生成。

        你可以看看这个问题project.pbxproj hashing for files - what hash is used and how?

        如何更改 pbxproj?

        1。 Ruby 的 CocoaPods:

        Cocoapods 提供了一个用于编辑 Xcode 项目的 Ruby API。 https://github.com/CocoaPods/Xcodeproj

        2。 Python 工具pbxproj:

        如果你想在.pbxproj手册中添加文件,可以试试python工具pbxproj

        安装者:sudo pip install pbxproj

        更多信息https://github.com/kronenthaler/mod-pbxproj/wiki/CLI

        玩得开心~

        【讨论】:

          猜你喜欢
          • 2015-08-21
          • 2014-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-28
          • 2012-05-02
          • 1970-01-01
          相关资源
          最近更新 更多