iOS-启动项目(二)引入第三方库
摘要
项目中很大几率会用到第三方库,通过 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-启动项目(二)引入第三方库的更多相关文章
- vue-cli创建的项目中引入第三方库报错 'caller', 'calle', and 'arguments' properties may not be...
http://blog.csdn.net/sophie_u/article/details/76223978 以在vue中引入mui第三方库为例: 虽然针对vue,有单独的vue-mui库可以使用,但 ...
- 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时,报错. 如上,单 ...
- iOS真机调试引入第三方库(如友盟等)编译时候,出现错误提示
用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: MARK:解决方法:在building Setting 中设置bitCode ...
- Swift项目引入第三方库的方法
以下,将创建一个Swift项目,然后引入3个库: Snappy 简化autolayout代码的库 Alamofire HTTP网络库,AFNetworking作者写的 SDWebImage 图片加载, ...
- pyinstaller 如何引入Pycharm项目中的第三方库
使用Pycharm作为IDE的项目,引用的第三方库一般放在项目所在目录的venv\Lib\site-packages下,因此可使用以下语句引入第三方库 pyinstaller -p venv\Lib\ ...
- vue-cli项目中引入第三方插件
前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...
- 基于webpack实现多html页面开发框架七 引入第三方库如jquery
一.解决什么问题 1.如何引入第三方库,如jquery等 二.引入jquery方法 1.下载jquery.min.js放到assets/lib下面 2.安装copy-webpack-plugin,将已 ...
- cmake引入第三方库的debug和release版本之Windows版本
概述 本文将介绍cmak引入第三方库debug和release不同配置. Windows上,习惯将debug模式下生成的动态库名后缀添加D 以作和release区分.cmake创建一个项目A,A引入动 ...
- ios 引入第三方库 运行时找不到函数实现
今天引入webtrends 这个库,结果一直运行时找不到函数,纳闷了一下午! 后来发现,是other flag没有设置对,对于那些包含category用来扩展ios原始类型的库,链接的时候需要特别的链 ...
随机推荐
- myeclipse重写快捷键
shift+alt+s 点击Override/Implments methods
- Redis | 第一部分:数据结构与对象 中篇《Redis设计与实现》
目录 前言 1. 跳跃表 1.1 跳跃表与其节点的定义 1.2 跳跃表的API 2. 整数集合 2.1 整数集合的实现 2.2 整数集合的类型升级 2.3 整数集合的API 3. 压缩列表 3.1 压 ...
- final关键字、抽象类、抽象类和接口的区别
1.final关键字 1.1.final修饰的类无法继承. 1.2.final修饰的方法无法覆盖. 1.3.final修饰的变量只能赋一次值. 1.4.final修饰的引用一旦指向某个对象,则不能再重 ...
- 了解Threejs中的Clock对象以及简单应用
什么是Clock对象 如果你对 JavaScript 有一定了解,那么 JavaScript 的时间对象 Date 你一定不陌生,Clock 本质上就是对 Date 进行封装,提供了一些方法和属性 当 ...
- Codeforces 923E - Perpetual Subtraction(微积分+生成函数+推式子+二项式反演+NTT)
Codeforces 题目传送门 & 洛谷题目传送门 神仙题 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 首先考虑最朴素的 \(dp\),设 \(dp_{z,i}\) 表示经 ...
- seq生成格式化字符
[root@ansz.quan.bbs ~]$seq -s "+" 10 1+2+3+4+5+6+7+8+9+10 seq为生成数字序列 -s 分隔符
- C语言 字符串指针和字符串数组使用区别
字符串指针和字符串数组使用区别 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 ...
- 基于 芯片 nordic 52832 rtt 调试(Mac 电脑)
代码配置 // <e> NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART //======== ...
- CAN总线常见的两种编码格式(Intel/Motorola)
在汽车电子行业的开发或者测试中,我们经常会看到CAN总线信号的常见的两种编码格式:Intel格式与Motorola格式. 讲解这两种格式之前,我们先来了解一些大端模式和小端模式,会对后面理解这两种编码 ...
- 零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)
一. 删除一个商品案例 将要操作的表格 思路图 前端代码 <%@ page language="java" contentType="text/html; cha ...