Xcode有时会自动找到依赖项.当我是那个定义关系的人,当我变得懒惰时,我认为是可以的......
但更多的时候我发现自己面临着一个存在(中等到大尺寸)项目的目标.由于该项目是由其他人制作的,我发现很难理解哪些目标取决于什么,因为并非所有关系都是明确的.
Xcode用于查找此类关系的规则是什么?(我希望我能理解逻辑,所以在我的脑海中运行它并且可能在将来节省一些时间)或者是什么使目标有资格隐含地依赖于另一个?
目标及其创建的产品可能与另一个目标相关.如果目标需要另一个目标的输出以便构建,则说第一个目标依赖于第二个目标.如果两个目标都位于同一工作空间中,Xcode可以发现依赖关系,在这种情况下,它会按所需顺序构建产品.这种关系被称为隐式依赖.
dma*_*ach 10
这个答案适用于Xcode 8.x,我想Xcode 9.0.
首先,您需要确保在您尝试构建的Scheme的Build面板中启用了"Find Implicit Dependencies".
目标"A"可以通过两种方式"隐式地"依赖于目标"B":
那么为什么有人想要做出"2"的恐怖?我可以提出几个原因.
如果您认为这些都是人为的情况,那么我目前正在试图将一些遗留代码从一系列显式依赖项迁移到隐式依赖项.为什么我要转向隐式依赖?因为Xcode中的显式依赖需要项目嵌套,并且一旦获得足够的显式依赖项,项目浏览器就会变得非常慢,并且您会在Xcode中看到很多随意的内容.
如果您碰巧在同一工作区内有两个目标,生成具有相同名称的产品并依赖于第三个目标,会发生什么?隐式依赖将选择一个.这似乎是做基于产品的基本名称(所以富/ bar.a的和巴兹/ bar.a的是相同的)比赛,并会选择它找到的第一个.
Xcode 隐式依赖
\nXcode Dependency[About]是构建所需的依赖项选定目标
Implicit依赖性
Non-compiled dependencies. Xcode 允许添加整个workspace. 一个很好的例子是来自 GitHub 的项目或CocoaPods[关于]带有源代码的Precompiled dependencies-External外部二进制文件CocoaPods,,Carthage封闭代码Implicit dependency是成功构建目标所必需的依赖项,但未明确定义\xe2\x80\x99。
General在->Framework, Libraries, and Embedded Content或 `嵌入式二进制文件以及链接框架和库[链接与嵌入]中指定Build Phases -> Dependencies || Target Dependencies
\n要打开此功能[无此模块]
\nEdit Scheme -> Build -> Find Implicit Dependencies\nRun Code Online (Sandbox Code Playgroud)\n
\n\n\n
| 归档时间: |
|
| 查看次数: |
5580 次 |
| 最近记录: |