使用swift运行pod安装时出错

时间:2015-03-17 04:53:18

标签: ios swift cocoapods

我遵循了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.

5 个答案:

答案 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。

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

答案 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