一. 以前在导入oc第三方时, podfile文件一般这样这样写:
platform :ios, '8.0'
target “工程名” do
pod 'Charts', '~> 2.1.6'
end
但是这样写在导入swift的第三方时会报错:
Pods written in Swift can only be integrated as frameworks; add use_frameworks! to your Podfile or target to opt into using it. The Swift Pod being used is: Charts
这样写的话就可以了
platform :ios, '8.0'
use_frameworks!
target “工程名” do
pod 'Charts', '~> 2.1.6'
end
没错,关键是use_frameworks!
这一句,至于这一句怎么就解决了“苹果不允许建包含swift的静态库,不同于OC可以使用平台版本的语言版本”!暂未知,待研究。
参考 文章:Pods written in Swift can only be integrated as frameworks; add use_frameworks!
to your Podfile or
最后记得把xcode关了,然后重新用workspace那个打开即可
二. 以下是导入oc第三方的基本流程:
cocoaPods官网
cocoaPods安装2017 以及遇到的坑
CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境,如果没有请自行查找安装。检测是否安装Ruby:
gem -v
1.首先命令行去到工程包路径下,cd+空格+工程包路径,可直接拖(其实建议不要把cocoapod安装到工程路径下)
1.1更新gem。 sudo gem update --system(这步貌似可省,因为用的是淘宝的gem源
2.更换gem源(很重要)
因为国内网络的问题导致gem源间歇性中断,使用淘宝的gem源
2.1删除默认的源
sudo gem sources --remove https://rubygems.org/
2.2:指定淘宝的源
sudo gem sources -a https://ruby.taobao.org/
2.3:查看指定的源是不是淘宝源
$gem sources -l***CURRENTSOURCES***https://ruby.taobao.org/
如果是[https://ruby.taobao.org/,则更换成功。](https://ruby.taobao.org/%EF%BC%8C%E5%88%99%E6%9B%B4%E6%8D%A2%E6%88%90%E5%8A%9F%E3%80%82)
2.4号外号外: 淘宝源更改了,改成https://gems.ruby-china.org了,
所以过来新一下blog
更新ruby这个不是必要的,如果其版本不是很低,能正常使用的话,可以跳过3,4,5步直接安装cocoapods
3.更新rvm(ruby版本管理器)。curl -L get rvm.io | bash -s stable
3.1 等待一段时间后就可以成功安装好 RVM
$ source ~/.bashrc
$ source ~/.bash_profile
4.查看ruby版本,rvm list known
5.安装需要的ruby版本,比如: rvm install 2.3.0
5.1 mark:
http://www.cnblogs.com/bigshow1949/p/5642775.html
6.sudo gem install cocoapods 安装cocoapods
7.pod setup 完成安装,(第一次安装,是一定要走这一步的),如果此时没添加第三方库,是看不到pod文件的,不用着急,添加了就看得到了。
8.pod search 第三方,找到很合适地(此处省略30多个字)复制待用。
9.创建podfile文件。touch podfile
10.使用vim编辑podFile文件。vim podfile
11.按键盘“i“表插入。
12.刚开始的格式如,
target'工程名'do
pod'AFNetworking','3.1.0'
pod'RongCloudIMKit','2.6.10'
pod'CocoaAsyncSocket','~> 7.5.0'
end
后面加的话就省事多了(此处省略20几个字)
13.添加完后按ESC退出,按” :”,再输入wq保存退出即可。
14.然后pod install一下就可以了。
题外,不想要某个第三方了,直接在podfile文件中删除,然后pod update就行了,这样有个风险就是不想升级的,可能会升级了,当然这其实可以避免的(省略)
重要的基本就是这些了,参考博客:http://www.jianshu.com/p/82d0ba43f8c3
网友评论