摘要

项目中很大几率会用到第三方库,通过 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. Tomcat无法启动解决办法

    [2014-04-12 12:34:39] [error] [ 1080] 操作系统找不到已输入的环境选项. [2014-04-12 12:34:39] [error] [ 1052] Failed ...

  2. [hdu6316]Odd shops

    记$m=10$,即商品的种类 记$g(x)=1+\sum_{i=1}^{m}a_{i}x_{i}$,问题即求$f_{n}(x)=g^{n}(x)$非0项数(模2意义下) 注意到$f^{2}(x)\eq ...

  3. [loj6254]最优卡组

    特殊处理$c_{i}=1$的$i$,显然对这些$a_{i,1}$求和即可,以下都假设$c_{i}\ge 2$ 对于每一个$i$,将$a_{i,j}$从大到小排序:接下来,对于所有$i$,按照$a_{i ...

  4. Java设计模式之(十)——组合模式

    1.什么是组合模式? Compose objects into tree structures to represent part-whole hierarchies.Composite lets c ...

  5. 什么是JIT?

    目录 什么是JIT? 为什么HotSpot虚拟机要使用解释器与编译器并存的架构? 编译的时间开销 什么是JIT? 1.动态编译(dynamic compilation)指的是"在运行时进行编 ...

  6. Codeforces 536D - Tavas in Kansas(dp)

    Codeforces 题目传送门 & 洛谷题目传送门 其实这题本该 2019 年 12 月就 AC 的(详情请见 ycx 发此题题解的时间),然鹅鸽到了现在-- 首先以 \(s,t\) 分别为 ...

  7. ceph块存储场景

    1.创建rbd使用的存储池. admin节点需要安装ceph才能使用该命令,如果没有,也可以切换到ceph-node1节点去操作. [cephfsd@ceph-admin ceph]$ ceph os ...

  8. flink-----实时项目---day07-----1.Flink的checkpoint原理分析 2. 自定义两阶段提交sink(MySQL) 3 将数据写入Hbase(使用幂等性结合at least Once实现精确一次性语义) 4 ProtoBuf

    1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once.目前flink中支持exactly once的sourc ...

  9. TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况

    TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况 请访问原文链接:https://sysin.org/blog/tlsv1-3-support/,查看最新版. ...

  10. 【leetcode】721. Accounts Merge(账户合并)

    Given a list of accounts where each element accounts[i] is a list of strings, where the first elemen ...