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原始类型的库,链接的时候需要特别的链 ...
随机推荐
- 【HTML】WebStorage
WebStorage 2019-11-13 10:46:18 by冲冲 1. 概况 早期浏览器的本地存储使用cookie,当前推荐使用Web Storage. Web Storage的数据以&qu ...
- es的rest风格的api文档
rest风格的api put http://127.0.0.1:9200/索引名称/类型名称/文档id (创建文档,指定文档id) post http://127.0.0.1:9200/索引名称/类型 ...
- Codeforces 1137F - Matches Are Not a Child's Play(LCT)
Codeforces 题面传送门 & 洛谷题面传送门 考虑将一个点 \(x\) 的编号变为当前所有点编号最大值 \(+1\) 会对每个点的删除时间产生怎么样的影响.由于编号最大的点肯定是最后一 ...
- 洛谷 P4484 - [BJWC2018]最长上升子序列(状压 dp+打表)
洛谷题面传送门 首先看到 LIS 我们可以想到它的 \(\infty\) 种求法(bushi),但是对于此题而言,既然题目出这样一个数据范围,硬要暴搜过去也不太现实,因此我们需想到用某种奇奇怪怪的方式 ...
- Codeforces 698F - Coprime Permutation(找性质)
Codeforces 题面传送门 & 洛谷题面传送门 u1s1 感觉这个 D1F 比某道 jxd 作业里的 D1F 质量高多了啊,为啥这场的 D 进了 jxd 作业而这道题没进/yun 首先这 ...
- nginx二级域名指向不同文件项目配置
需要使用泛域名解析, 并且加上空的判断,以保证没有二级域名的也可以访问 核心配置 server_name ~^(?<subdomain>.+)\.caipudq\.cn$;if ( $su ...
- Java 读取txt文件生成Word文档
本文将以Java程序代码为例介绍如何读取txt文件中的内容,生成Word文档.在编辑代码前,可参考如下代码环境进行配置: IntelliJ IDEA Free Spire.Doc for Java T ...
- 关于写SpringBoot+Mybatisplus+Shiro项目的经验分享二:问题1
框架: SpringBoot+Mybatisplus+Shiro 简单介绍:关于写SpringBoot+Mybatisplus+Shiro项目的经验分享一:简单介绍 添加时,如果失败,不能正确跳转 c ...
- 选择省份、选择省市区举例【c#】【js】
<style type="text/css"> .labelhide { -webkit-box-shadow: 0px 1px 0px 0px #f3f3f3 !im ...
- Scala(四)【集合基础入门】
目录 一.Array 二. List 三.Set 四.Tuple 五.Map 一.Array package com.bigdata.scala.day01 /** * @description: 不 ...