19

I feel so noob asking this question, but what is a target dependency? I see it all the time in Xcode.

2 Answers 2

21

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.

Sign up to request clarification or add additional context in comments.

Comments

9

Xcode Explicit Dependency

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 get dyld: 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 into Build Phases -> Target Dependencies
  • Static binary
    • You can fill out only Build Phases -> Target Dependencies

[Implicit dependency]

[Vocabulary]

Comments

Your Answer

Draft saved
Draft discarded

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.