**Xcode v11. Frameworks, Libraries, and Embedded Content plus Frameworks and Libraries with Embed vs Do Not Embed**
[![enter image description here][1]][1]
History
```
Embedded Binaries, Linked Frameworks and Libraries -> Frameworks, Libraries, and Embedded Content
```
[\[Xcode pre-v11. Embedded Binaries, Linked Frameworks and Libraries\]][2] existed till to Xcode v11 section in `General` tab
It is a part of `Dependency` management [<sup>\[About\]</sup>][3]
Xcode v11 has:
- App target - `Frameworks, Libraries, and Embedded Content`
- Framework or App extension target - `Frameworks and Libraries`
Embedding
---------
**Embed**
It adds a copy of the framework into your final bundle. After that `Dynamic linker :dyld` at **load or run time** tries to find the **embedded framework** using `@rpath`[<sup>\[About\]</sup>][4] If it is not found the error will occur [<sup>\[dyld: Library not loaded\]</sup>][4]
`Embed` is a mirror of `Build Phases -> Embed Frameworks`. Here you can setup bundle's folder and `Subpath`.
**Do Not Embed**
`Static Linker` at compile time tries to copy code from a static library into the executable object file using `Build Settings -> Framework Search Paths`
`Do Not Embed` is a mirror of `Build Phases -> Link Binary With Libraries`. `Sign` is a mirror of `Code Sign On Copy`
If you do not add a `static framework` to this section you will get a compile error[<sup>\[No such module\]</sup>][5]
Result:
- static library
- static framework - Do Not Embed
- dynamic framework - Embed
<img src="https://i.stack.imgur.com/FuNEP.png" height="100">
<img src="https://i.stack.imgur.com/V1SOI.png" height="100">
*Please note that `Embedding` has bigger priority than `Mach-O Type`[<sup>\[About\]</sup>][6]
- Application's `Frameworks, Libraries...` is `Embed` and Framework's `Mach-O` is `Static Library` - result dynamic framework.
- Application's `Frameworks, Libraries...` is `Do Not Embed` and Framework's `Mach-O` is `Dynamic Library` and - result error `dyld: Library not loaded`[<sup>\[About\]</sup>][4]
```
App's Embed (Dynamic) -> Framework's Mach-O Static - Dynamic
App's Do Not Embed(Static) -> Framework's Mach-O Dynamic - error
```
[\[Static vs Dynamic linker\]][7]<br/>
[[When use Link and Embed]][8]<br/>
[[Vocabulary]][9]
[1]:
[2]:
[To see links please register here]
[3]:
[To see links please register here]
[4]:
[To see links please register here]
[5]:
[To see links please register here]
[6]:
[To see links please register here]
[7]:
[To see links please register here]
[8]:
[To see links please register here]
[9]:
[To see links please register here]