我想让 xcode 项目与 Visual Studio 项目保持同步。我怎样才能做到这一点?
顺便说一句,xcode 如何管理文件引用?pbxproj 文件中没有路径信息,每个文件引用只有一个“幻数”。
我想让 xcode 项目与 Visual Studio 项目保持同步。我怎样才能做到这一点?
顺便说一句,xcode 如何管理文件引用?pbxproj 文件中没有路径信息,每个文件引用只有一个“幻数”。
对于您的第一个问题,我怀疑唯一合理的方法是使用跨平台构建工具,例如 make 或 ANT,并为每个目标单独包含。如果您随后使用每个平台的本机工具 Xcode 和 VS 包装这些 makefile,这可能会更容易管理。
您的第二个问题令人费解,因为 pbxproj 文件确实具有每个文件的显式路径以及搜索路径集,请参见下面的示例。
492991C11534DE51003993BA /* KeyboardButton.m */ = {isa = PBXFileReference; 文件编码 = 4; lastKnownFileType = sourcecode.c.objc; 名称 = 键盘按钮.m; 路径 = GUI/iPad/Session/Keyboard/KeyboardButton.m;源树 = ""; };
将文件添加到 XCode 项目是很奇怪的。例如,我还没有发现 XCode 如何计算对象字典的哈希值。
但是经过一些分析后,我编写了一个小工具来将文件添加到 xcode 项目中。它正好符合我的需求,但可以扩展。如果您有扩展需要添加文件,请随时通过 github 与我联系,例如仅为选定目标添加构建规则,但我尚未实现,因为我认为 >99% 不需要此功能的项目。
XCodeControl项目本身就是一个macOS XCode 项目,因为它最容易阅读和修改 .pbxproj 文件,这些文件是NSDictionary
对象的简单序列化。当然,苹果在其序列化中添加了一些盐,因此XCodeControl的输出看起来与苹果产生的完全不同,但它仍然可以正常工作。
如果您对.pbxproj
文件格式感兴趣,可以查看此http://www.monobjc.net/xcode-project-file-format.html
哈希码由 生成UUID
。
您可以查看这个问题project.pbxproj hashing for files - 使用什么哈希以及如何使用?
Cocoapods 有一个用于编辑 Xcode 项目的 Ruby API。 https://github.com/CocoaPods/Xcodeproj
pbxproj
:如果要.pbxproj
手动添加文件,可以试试python工具pbxproj
通过以下方式安装:sudo pip install pbxproj
更多信息,请访问https://github.com/kronenthaler/mod-pbxproj/wiki/CLI
玩得开心~