首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我们要使用use_frameworks!在CocoaPods?

为什么我们要使用use_frameworks!在CocoaPods?
EN

Stack Overflow用户
提问于 2016-12-19 00:09:33
回答 4查看 74.6K关注 0票数 135

我在CocoaPods Podfile中使用过很多次use_frameworks!。我只是想知道我们为什么要用它?我不能得到这个问题的直接答案。

示例:

代码语言:javascript
复制
platform :ios, '8.0'
use_frameworks!

target "CityWhether" do
    pod 'Alamofire'
    pod 'SwiftyJSON'
end
EN

回答 4

Stack Overflow用户

发布于 2016-12-19 00:22:51

use_frameworks!告诉CocoaPods你想使用框架而不是静态库。由于Swift不支持静态库,因此您必须使用框架。

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

可可触摸框架

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

Cocoa Touch静态库

顾名思义,它们是静态的。因此,当您将它们导入到项目中时,它们已经被编译了。您可以与其他人共享它们,而无需向他们显示您的代码。请注意,静态库目前不支持Swift。您必须在库中使用Objective-C。应用程序本身仍然可以用Swift编写。

来源:My other answer | AddThis.com Blog

票数 158
EN

Stack Overflow用户

发布于 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在使用静态库时还不能正常工作,所以您的使用里程可能会有所不同。

票数 81
EN

Stack Overflow用户

发布于 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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41210249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档