为什么我们在cocoapod中使用use_frameworks?

我在cocoapod podfile多次使用过use_frameworks 。 我只是想知道我们为什么要使用它? 我无法得到直接的答案。

例:

 platform :ios, '8.0' use_frameworks! target "CityWhether" do pod 'Alamofire' pod 'SwiftyJSON' end 

use_frameworks告诉CocoaPods你想使用Frameworks而不是Static Libraries。 由于Swift不支持静态库,所以你必须使用框架。


在另一个答案中,我解释了静态库和框架之间的区别:

cocoa触摸框架

它们始终是开源的,并将像您的应用程序一样构build。 (所以Xcode有时候会编译它,当你运行你的应用程序,并总是在清理项目之后。)框架只支持iOS 8和更新,但是你可以在框架中使用Swift和Objective-C。

cocoa触摸静态库

正如名字所说,它们是静态的。 所以当你将它们导入到你的项目时,它们已经被编译了。 您可以与他人分享,而不必向他们展示您的代码。 请注意,静态库目前不支持Swift。 你将不得不在库中使用Objective-C。 应用程序本身仍然可以用Swift编写。

来源: 我的其他答案 | AddThis.com博客

use_frameworks! 在podfile中演示了它将支持iOS 8.0及更高版本。 它不支持所有的cocoapods库的iOS 7.0。

如果您希望项目支持iOS 7.0及更高版本,则必须将其删除。

所以改变是打击

platform :ios, '7.0' target "CityWhether" do end