Xcode - 使用相对路径而不是框架搜索路径的直接路径

Posted

技术标签:

【中文标题】Xcode - 使用相对路径而不是框架搜索路径的直接路径【英文标题】:Xcode - use relative paths instead of direct path for Framework Search Paths 【发布时间】:2014-01-24 20:36:18 【问题描述】:

当我在 Xcode (5) 中添加一个框架时,它会创建一个路径野兽:

/Users/me/MyApp\ Subfolder1\ Subfolder2/MyApp\ Subfolder1\ Subfolder2/libraries/third-party-lib-2.0

如何将此直接路径转换为相对路径,以便在打开项目的任何地方都可以使用?

【问题讨论】:

【参考方案1】:

如果要引用相对于源目录的路径,可以使用 $(SRCROOT)。请参阅this from apple docs。有一堆这样的变量。但是在构建设置中,它们将显示为展开状态,一旦您打开它进行编辑,它将求助于相对路径变量。

如果您在项目中添加框架,考虑使用CocoaPods 会很好。框架/包管理将是小菜一碟。而且学习曲线也比较平滑。(我觉得根本没有学习曲线)

【讨论】:

你给出的路径让我很困惑。好吧,假设您的 MyApp 文件夹中有一个目录 Libarary,其中包含您的项目文件,那么文件夹 Library 可以被称为 $(SRCROOT)/Library。在构建设置的框架路径部分输入此内容,路径将展开,您可以自己验证。 :) @soleil:让我知道这是否是您真正想要的以及您是否能够实现它。 我可以让它工作的唯一方法是使用 ./ 并使其递归。 @soleil:它是否可以与 $(SRCROOT) 一起使用,或者您无法管理它。 $(SRCROOT) 将指向您的项目文件所在的位置。或者你可以试试这个。转到产品>方案>编辑方案中的编辑方案。在那里转到参数并将您的路径添加为那里的变量。让我知道它是否有效。懒得自己查了。 :) @soleil:但如果这真的是关于框架的,我建议你试试 CocoaPods。

以上是关于Xcode - 使用相对路径而不是框架搜索路径的直接路径的主要内容,如果未能解决你的问题,请参考以下文章

为分发而创建的 swift 框架中的绝对路径引用

相对路径在 Xcode C++ 中不起作用

Xcode - 更改框架的搜索路径

Xcode 生成的 DWARF 文件中的相对路径

XCode3 - 库搜索路径和项目框架之间的关系

iOS 开发:有问题的框架搜索路径