Reputation: 2154
What is the difference between "Embedded Binaries" in Xcode General tab and "Embeded Frameworks" in Build Phases tab?
And What is the difference between "Linked Frameworks" in General tab and "Link Binary with Libraries" in Build Phrases tab?
There are some articles explain them What is the difference between Embedded Binaries and Linked Frameworks Link Binary with libraries VS Embed Frameworks
But I still don't know the differences between the ones in General tab and the ones in Build Phases tab.
Upvotes: 1
Views: 879
Reputation: 291
Embedded Binaries:
A Binary is a compiled file and in this case, it's a Framework in iOS environment. When you are using a framework which is not available in the iOS device, such as Alamofire, SDWebImage, you need to configure your xcode project, such that it copies the Binary File into the IPA while exporting. If its not copied, the IPA will not work as the code required to run Alamofire and SDWebImage is not available in the iOS environment or the IPA.
In the case of Frameworks developed by Apple, which is already available in the iOS enviroment, you dont have to add them to the Embedded Binary, such as UIKit, Foundation.
If you are running an API which is supported from iOS 12, in a device with iOS 10, the application will crash as the iOS 10 environment is not aware of the API in iOS 12. This issue is address in Android Development using support library which is a Binary in Android, which has all the latest API and can be used in different versions of Android OS.
Linked Frameworks and Libraries
Here you should add the apple's default frameworks and libraries. It is added to indicate that the current Target is using those Frameworks, since LLVM is available in Xcode now, you dont have to do this as its automatically linked with the help of LLVM
Embedded Frameworks
To understand 3 & 4, you need to get an idea about Build Phases.
Build phases are some of the processes that happens when the code is compiled to a binary with is exported as an IPA file. In short, they are processes that happen when you are building your project.
When you are building your project, the steps listed in the build phases is done one after the other,
3 & 4 are two processes done during the Build process.
Upvotes: 2