Why do we use use_frameworks! in CocoaPods?

use_frameworks! tells CocoaPods that you want to use Frameworks instead of Static Libraries. Since Swift does not support Static Libraries you have to use frameworks.


In another answer, I explained the differences between Static Libraries and Frameworks:

Cocoa Touch Frameworks

They are always open-source and will be built just like your app. (So
Xcode will sometimes compile it, when you run your app and always
after you cleaned the project.) Frameworks only support iOS 8 and
newer, but you can use Swift and Objective-C in the framework.

Cocoa Touch Static Libraries

As the name says, they are static. So they are already compiled, when
you import them to your project. You can share them with others
without showing them your code. Note that Static Libraries currently
don’t support Swift. You will have to use Objective-C within the
library. The app itself can still be written in Swift.

Sources: My other answer | AddThis.com Blog

Leave a Comment