一起修炼swiftiOS Developer

Alamofire 在swift3 无法import &

2016-09-28  本文已影响1396人  dose_爽

      最近在写swift的时候,需要网络加载,于是就加入了Alamofire这个网络库。由于习惯,我选择了实用cocoapod来管理库。那么问题来了,在import Alamofire的时候会报错,大概意思就是,无法导入Alamofire库,因为swift 2.3无法转到swift 3.0。

那么我最先想到的是xcode8 自带的功能,convert转换库。在这里我要声明一下,我不知道我用的对不对,转换过后居然有200多个错误,这你得改到啥时候。而且都是库里文件发生问题,这就更不好改了,所以我放弃了这个原生的方式。

  然后在网上尝试找寻答案,

pod 'Alamofire',

:git => 'https://github.com/Alamofire/Alamofire.git',

:branch => 'swift3'

然并卵啊,终端报错,提示意思是Alamofire并没有对应的swift 3分支,没有办法,上官网看看有没有好方法吧

由此可见是支持swift 3的 github上的截图

重点在于需要cocoapods 1.1.0以上的版本,我就查了一下自己的cocoapod的版本,果然不对,是cocoapods 1.0.0版本的,没办法升级吧。

坑又来了,升级不好使,还报权限的错误

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

解决方式就是直接引用地址

sudo gem install -n /usr/local/bin cocoapods

别忘了 pod setup

为了验证,我就检查当前版本,发现还是不对啊~~,还是1.0.0版本的,有点蒙圈。

其实原因很简单,这是因为你的cocoapods版本是存在多个的,系统默认使用最上层的版本,这时候你就需要删除了。

sudo gem uninstall cocoapods

留一个版本就好了

回到原题,你在用cocoapods-1.1.0版本编译pod'Alamofire','~> 4.0'就会发现一切都变得正常了,还包括(SwiftJson这个库)也会正常。

还有注意的就是platform:ios,'10.0'。传说低于9.0也是不行的。

有错误的地方还望大家指正。

上一篇下一篇

猜你喜欢

热点阅读