一尘不染

快速运行Pod安装时出错

swift

我遵循了可可足的指示。

以下是我的Podfile:

platform :ios, '8.2'

pod 'SwiftyJSON', '~> 2.1'
pod 'SwiftSpinner', '~> 0.6'
pod 'Alamofire', '~> 1.1'
pod 'SuperRecord', '~> 1.2'
pod 'Toucan

当我执行 Pod安装时 ,出现以下错误:

用Swift编写的Pod只能集成为框架;此功能仍处于测试阶段。添加use_frameworks!到您的Podfile或目标以选择使用它。

更新:

以下是我的控制台日志:

$ pod install
Analyzing dependencies
Downloading dependencies
Installing Alamofire (1.1.4)
Installing SuperRecord (1.2)
Installing SwiftSpinner (0.6.0)
Installing SwiftyJSON (2.1.3)
Installing Toucan (0.2.0)
[!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it.

阅读 233

收藏
2020-07-07

共1个答案

一尘不染

添加“ use_frameworks!” 到您的Podfile,因为:

因为Apple不允许您构建包含Swift的静态库。与Objective-
C不同,Apple并未随iOS一起提供Swift标准运行时库。这使语言版本与平台版本脱钩。当您使用Swift构建应用程序时,您需要自己负责发布它们。默认情况下,Xcode使用swift-
stdlib-tool来处理Swift运行时dylib的复制,但是当尝试将使用Swift的框架与仅是Objective-
C的应用程序一起交付时,该工具的功能不足。您的应用可执行文件和出厂的框架都将使用同一组dylib,这些dylib将嵌入到应用程序捆绑包的Frameworks子目录中。

首先,这是因为您无法链接到不同版本的标准库。此外,由于与分配有关的存储器大小和网络速度的限制,期望仅将它们嵌入一次而不是多次嵌入。您可以通过指定use_frameworks!使CocoaPods通过框架而不是静态库通过框架集成到项目中。如果不存在,则您将无法集成依赖项,如果您依赖包含Swift源代码的Pod。

参考:http :
//blog.cocoapods.org/CocoaPods-0.36/

2020-07-07