Is my understanding correct, that we need to manually create
Universal Frameworks/Librariesonly if we distribute our libs by providing binaries (let's say directly download.framework)? So if we distribute using CocoaPods or Carthage, these tools will createUniversal Frameworks/Librariesfrom our source code by themselves, right?As I understand, CocoaPods & Carthage allow to hide source code by distributing only binaries. Does that mean that in this case we need to create
Universal Frameworks/Librariesby ourselves before using these services?What's the best way to create
Universal Frameworks/Librariesin 2020,XCFramework?
Thanks.
If you distribute your source code with CocoaPods or Carthage, these systems will make your source code compiling either into
.frameworkor into static library on the consumer side while the consumer’s project builds. Consumers will have access to your source code.Yes.
If your framework is intended to be used in Mac Catalyst apps - then XCFramework is the only choice. Otherwise, you can still ship fat framework - old, but gold.
UPDATE:
With AppleSilicon, XCFramework becomes the only format in which you should ship your prebuilt framework, because even iOS simulator now should support both
x86_64andarm64architectures.