What is a target dependency?
I feel so noob asking this question, but what is a target dependency? I see it all the time in Xcode.
A dependency is another target that must be built before the current target can be. For example, if you have an app target and a framework target, the app target can have the framework target as a dependency, to ensure that the framework is built first. That is, the app target "depends" on the framework.
Xcode Dependency
[About] is a dependency required to build a selected target.
Explicit dependency
Explicit
dependency is a source code aka Non-compiled dependency
. Xcode builds all explicit dependencies
before the dependent target. Explicit dependency
overrides implicit dependency
with the same product_name.
Explicit Dependency
is specified in Build Phases -> Target Dependencies
.
There are multiple ways to specify in Xcode that our target depends on other target’s products:
- If a target is located in the same project
No additional setup - If a targets is located in different projects using
cross-project reference
[About]
Specify search path
Additional notes:
-
Dynamic Framework
- You should specify
General -> Embedded Binaries
. If not - on the real device you will getdyld: Library not loaded
[About] - If you start adding your dependency from
General -> Embedded Binaries
and select a product that is explicit dependency, Xcode automatically add it intoBuild Phases -> Target Dependencies
- You should specify
-
Static binary
- You can fill out only
Build Phases -> Target Dependencies
- You can fill out only
[Implicit dependency]
[Vocabulary]