我在CocoaPods Podfile
中使用过很多次use_frameworks!
。我只是想知道我们为什么要用它?我不能得到这个问题的直接答案。
示例:
platform :ios, '8.0'
use_frameworks!
target "CityWhether" do
pod 'Alamofire'
pod 'SwiftyJSON'
end
发布于 2016-12-19 00:22:51
use_frameworks!
告诉CocoaPods你想使用框架而不是静态库。由于Swift不支持静态库,因此您必须使用框架。
在另一个答案中,我解释了静态库和框架之间的区别:
可可触摸框架
它们始终是开源的,并且将像您的应用程序一样构建。(所以Xcode有时会在你运行你的应用程序时编译它,并且总是在你清理项目之后。)框架只支持iOS 8和更新版本,但您可以在框架中使用Swift和Objective-C。
Cocoa Touch静态库
顾名思义,它们是静态的。因此,当您将它们导入到项目中时,它们已经被编译了。您可以与其他人共享它们,而无需向他们显示您的代码。请注意,静态库目前不支持Swift。您必须在库中使用Objective-C。应用程序本身仍然可以用Swift编写。
发布于 2018-03-25 03:52:28
use_frameworks!
告诉可可豆荚使用动态库,并一度非常流行,特别是由于swift不支持静态库,这意味着别无选择--然而你经常不再需要use_frameworks!
。
从Xcode9Beta4和CocoaPods 1.5.0开始,现在支持swift静态库。主要的优点是应用程序启动时间更快,特别是当你有很多iOS时-当你有很多dylib时,pod 10和11并不是最快的。
CocoaPods 1.5.0 was released in early April 2018,所以你可能需要升级才能获得它:sudo gem install cocoapods
。
不过,我发现有几个pod在使用静态库时还不能正常工作,所以您的使用里程可能会有所不同。
发布于 2019-05-22 17:57:24
use_frameworks!
声明您希望使用动态框架,而不是静态库。
随着Xcode9.0和CocoaPods 1.5.0的发布,如果你不使用use_frameworks!
,你可以在swift中使用静态库。
use_frameworks!
的一个问题是Pod/Products中的所有框架都是框架。
这是一篇相关文章:Basic overview of static and dynamic frameworks on ios
https://stackoverflow.com/questions/41210249
复制相似问题