摘要

项目中很大几率会用到第三方库,通过 Pod 方式引入第三方库是效率很高的方式,这里介绍一个新的项目搭建 Pod 方式的环境,方便项目中引入第三方库文件。

刚创建的项目中如果需要用到第三方库,常用的方式是通过 Pod 来添加,方便后面的第三方库的更新;还有另外一种是下载第三方库的源码文件,整个添加到项目中。这里主要说明常用的方式,处理的过程,和可能遇到的问题。

首先通过 Xcode 创建一个空的项目工程,然后打开终端,输入指令切换到项目的目录下,主目录就是 ls 指令后看到 .xcodeproj 文件,就是主目录了:

➜  ~ cd /Users/songhang/Desktop/NewProduct
➜ NewProduct ls
NewProduct NewProductTests
NewProduct.xcodeproj NewProductUITests
➜ NewProduct

然后就是创建 Podfile 文件了,在终端中继续键入指令 pod init:

➜  NewProduct pod init

在项目的主目录中会自动生成一个 Podfile 文件,可以双击打开文件(前提电脑有文本编辑器,只要有,哪一种无所谓)。然后在这个文件中添加自己需要的第三方库

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '10.0'

use_frameworks!

target 'NewProduct' do

    pod 'Alamofire'
pod 'SwiftyJSON'
pod 'Kingfisher'
pod 'MJRefresh'
pod 'KakaJSON'
pod 'IQKeyboardManagerSwift'
pod 'WechatOpenSDK'
pod 'GoogleSignIn'
end

注意 source 'https://github.com/CocoaPods/Specs.git' 在新创建的文件中是没有的,需要手动添加,还有 NewProduct 这个是项目工程的名称,这里是我的项目工程名称,你的项目就要填写你的。

之后就是保存一下,继续在终端键入指令 pod install:

➜  NewProduct pod install

之后就是等待终端去拉取远端的第三方库文件,如果网速不好,等待的时间比较漫长。

拉取成功后,项目的主目录下除了会生成 Pods 文件夹之外,还有生成一个 .xcworkspace 的文件。后面就需要点击它来进入工程项目。

但是当出现某一个第三方库拉取失败的时候,你只会看到 Pods 文件夹,却看不到 xcworkspace 工程文件。

所以如果想要避免因为某一个第三方库文件拉取失败,导致无法生成 xcworkspace 文件,那么就先暂时隐藏 pod 的这些库,即

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '10.0'

use_frameworks!

target 'NewProduct' do

end

然后在终端重新 pod install 一下,就能看到在主目录下生成了xcworkspace ,并可以通过它打开项目。之后再把第三方库一个个的添加进去,并执行 pod install 来更新 Pods 的文件夹。

上面拉取第三方库失败有不同的原因,可能网速、可能库丢失等等,这个可以看终端中报错的信息去做相应的处理即可。

到这里,引入第三方库的流程已经走完,可以继续后面的其他步骤处理了。

题外话

时间仓促,说的东西可能不全面,在你查看的过程中遇到什么问题,评论区给我留言,我会尽快回复。

iOS-启动项目(二)引入第三方库的更多相关文章

  1. vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...

    http://blog.csdn.net/sophie_u/article/details/76223978 以在vue中引入mui第三方库为例: 虽然针对vue,有单独的vue-mui库可以使用,但 ...

  2. vue-cli创建的项目中引入第三方库报错'caller', 'calle', and 'arguments' properties may not be...

    本文链接:https://blog.csdn.net/Sophie_U/article/details/76223978 问题: 在vue的main.js中引入mui.min.js时,报错. 如上,单 ...

  3. iOS真机调试引入第三方库(如友盟等)编译时候,出现错误提示

    用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: MARK:解决方法:在building Setting 中设置bitCode ...

  4. Swift项目引入第三方库的方法

    以下,将创建一个Swift项目,然后引入3个库: Snappy 简化autolayout代码的库 Alamofire HTTP网络库,AFNetworking作者写的 SDWebImage 图片加载, ...

  5. pyinstaller 如何引入Pycharm项目中的第三方库

    使用Pycharm作为IDE的项目,引用的第三方库一般放在项目所在目录的venv\Lib\site-packages下,因此可使用以下语句引入第三方库 pyinstaller -p venv\Lib\ ...

  6. vue-cli项目中引入第三方插件

    前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...

  7. 基于webpack实现多html页面开发框架七 引入第三方库如jquery

    一.解决什么问题 1.如何引入第三方库,如jquery等 二.引入jquery方法 1.下载jquery.min.js放到assets/lib下面 2.安装copy-webpack-plugin,将已 ...

  8. cmake引入第三方库的debug和release版本之Windows版本

    概述 本文将介绍cmak引入第三方库debug和release不同配置. Windows上,习惯将debug模式下生成的动态库名后缀添加D 以作和release区分.cmake创建一个项目A,A引入动 ...

  9. ios 引入第三方库 运行时找不到函数实现

    今天引入webtrends 这个库,结果一直运行时找不到函数,纳闷了一下午! 后来发现,是other flag没有设置对,对于那些包含category用来扩展ios原始类型的库,链接的时候需要特别的链 ...

随机推荐

  1. JS和JQUERY常见函数封装方式

    JS中常用的封装函数4种方法: 1. 函数封装法: function box(){ } 2. 封装成对象 : let Cookie = { get(){ }, set(){ } } 3. 封装成构造函 ...

  2. [bzoj1122]账本

    简化问题:如果没有2操作,答案是多少贪心:修改-一定修改最前面的,修改+一定修改最后面的,正确性显然而通过1操作,要完成两步:1.让最终结果为q:2.让前缀和非负,通过贪心可以获得最小值(具体来说,假 ...

  3. 详解Python Streamlit框架,用于构建精美数据可视化web app,练习做个垃圾分类app

    今天详解一个 Python 库 Streamlit,它可以为机器学习和数据分析构建 web app.它的优势是入门容易.纯 Python 编码.开发效率高.UI精美. 上图是用 Streamlit 构 ...

  4. volatile不能保证数据完整性的小案例

    package juc; import java.util.Collections; import java.util.HashSet; import java.util.Set; public cl ...

  5. [SQL]master..sysprocesses

    --https://docs.microsoft.com/zh-cn/sql/relational-databases/system-compatibility-views/sys-sysproces ...

  6. Codeforces 288E - Polo the Penguin and Lucky Numbers(数位 dp+推式子)

    题目传送门 似乎我的解法和官方题解不太一样 纪念自己独立做出来的一道难度 2800 的题. 我们记 \(ans(x)\) 为 \([444...44,x]\) 的答案,显然答案为 \(ans(r)-a ...

  7. 洛谷 P6349 - [PA2011]Kangaroos(KDT+标记下放)

    洛谷题面传送门 KDT 上打标记的 hot tea. 考虑将询问 \(A,B\) 看作二维平面直角坐标系上的一个点 \((A,B)\),那么我们这样考虑,我们从左到右扫过全部 \(n\) 个区间并开一 ...

  8. Codeforces 407E - k-d-sequence(单调栈+扫描线+线段树)

    Codeforces 题面传送门 & 洛谷题面传送门 深感自己线段树学得不扎实-- 首先特判掉 \(d=0\) 的情况,显然这种情况下满足条件的区间 \([l,r]\) 中的数必须相同,双针扫 ...

  9. NOI 2008 志愿者招募

    NOI 2008 志愿者招募 考虑用 $ p_i $ 表示第 $ i $ 天实际招收的人数,我们假设我们有三种志愿者,分别是 $ 1\to 2,1 \to 3 , 2\to 3 $ ,我们招手的人数分 ...

  10. quota

    一.什么是磁盘配额 磁盘配额从字面意思上看就是给一个磁盘配置多少额度,而quota就是有多少限额的意思,所以总的来说就是限制用户对磁盘空间的使用量.因为Linux是多用户多任务的操作系统,许多人公用磁 ...