我遵循了Cocoapods的指示。
以下是我的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.
答案 0 :(得分:57)
添加“use_frameworks!”到你的Podfile:
请参阅下面的示例Podfile
target 'MySample' do
pod 'AFNetworking', '~> 2.5'
pod 'Net', '~> 0.2' #This is a sample in Swift
use_frameworks! # <--Use this line
end
答案 1 :(得分:35)
添加&#34; use_frameworks!&#34;你的Podfile因为:
因为Apple不允许您构建包含的静态库 迅速。与Objective-C不同,Apple没有提供Swift标准 iOS的运行时库。这将语言版本与之分离 平台版本。当您使用Swift构建应用程序时,您就是其中之一 负责自己发货。默认情况下,Xcode使用 swift-stdlib-tool来处理复制Swift运行时dylibs,但是 尝试运送使用Swift的框架时,工具不足 使用仅限Objective-C的应用程序。你的app可执行文件和 你发布的框架都将使用相同的dylib集合 嵌入到应用程序包的Frameworks子目录中。
首先,那是因为你无法链接到不同版本的 标准库。此外,希望仅嵌入它们 一次而不是多次,因为对内存大小的限制和 网络速度,与分发相关。 您可以通过框架使CocoaPods集成到您的项目中 而不是静态库通过指定use_frameworks!。如果那样的话 如果你没有,你将无法整合依赖关系 取决于包含Swift源代码的pod。
答案 2 :(得分:9)
在Podfile中写道,它说取消注释use_frameworks!是你正在使用Swift所以所有你必须取消注释这一行,一切正常
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!
target 'YourProjectName' do
pod 'SwiftyJSON', '~> 2.1'
pod 'SwiftSpinner', '~> 0.6'
pod 'Alamofire', '~> 1.1'
pod 'SuperRecord', '~> 1.2'
pod 'Toucan'
# all other pods goes here
end
target 'YourProjectName' do
end
target 'YourProjectName' do
end
答案 3 :(得分:1)
我的情况下,我曾经通过命令sudo gem install cocoapods
来升级可可豆,但问题得到解决。我在项目中使用了目标-c和快速库。
答案 4 :(得分:0)
解决方案非常简单。您只需将这些行添加到您的pod文件中:
target 'PassDTAFirebase' do
inherit! :complete
# Here your pods
use_frameworks!
end