使用Pod集成Bugtags填坑记
最近某朋友的朋友的创业公司新出了一个工具叫Bugtags,说是可以让APP测试变得so easy,于是动手来做1.1.0的版本集成,先把WEB首页贴在下面,感兴趣的同学可以去look一下:https://bugtags.com (这不是重点,重点是pod)
我是个ios新人,集成pod这件事情也许很多人都干过,轻车熟路,大牛们请忽略,我今天是来埋坑的,所以被坑过的人涨了记性不会被再次坑就不用来看了。
开始之前,首先向前辈致敬,邀请大家先看大神唐巧著作《iOS开发进阶》第2章《使用CocoaPods做依赖管理》,前人的经验总结各位看官明白了吧,看完之后我们开始埋坑(中文博大精深,我表示我这种菜鸟是需要认真扣一下字里行间的准确性才能彻底明白,智商不高勤奋来补,没辙,非冒犯大神之意,实在是本人智力不及常人)。
本攻略前置条件:
各位已经按照书中描述正确在本机安装了CocoaPods,操作方式请参阅大神唐巧著作《iOS开发进阶》第2章《使用CocoaPods做依赖管理》的2.2.1和2.2.2章节描述
===================================================================================
有坑原文如下:
2.2.3 使用CocoaPods
使用时需要新建一个名为Podfile的文件,以如下格式,将依赖库的库名字一次列在文件中即可:
platform :ios
pod 'JSONKIT', '~>1.4'
pod 'Reachability', '~>3.0.0'
pod 'ASIHTTPRequest'
pod 'RegexKitLite'
然后将编辑好的Podfile文件放在项目根目录中,执行如下命令即可:
cd 'your project home'
pod install
现在,所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下几点即可:
1、使用CocoaPods生成的*.xcworkspace文件来打开工程,而不是以前的*.xcodeproj文件。
2、每次更改了Podfile文件,都需要重新执行一次pod update命令。
=================================================================================
坑1:需要新建的时候,没说在哪里新建啊,我这傻人怎么干的,如下:
在xcode的project下选中工程,右键new file弹出下面的引导框,如下操作
如上方式创建Podfile出现了什么情况?
1、在项目文件夹下确实出现了一个podfile;
2、当执行命令pod install之后项目中出现了两个Podfile,其实他们是同一个,原因见第1条
3、新人很容易删除第一个Podfile,然后第二个显示失效,出乱子了吧
坑2:Podfile没有放在项目根目录下面,而是放在了项目子目录下面,导致pod install的时候出错
坑3:手懂编写Podfile,中英文逗号或者一个看不见的空格,导致pod install的时候报错无法进行下去(防止此方法复制粘贴最好了,防止手工错误引入)。
那么
埋坑之正确姿势是什么呢?请按照如下步骤操作。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
操作步骤:
1、在xcode中新建一个项目如testBugtags;
2、在项目上右键选择show in finder,跳转到项目根目录下
3、打开终端,通过命令vi新建Podfile并编辑该文件
3.1 通过终端cd命令先到项目根目录下
cd 'your project home'
如我的项目根目录则是在桌面的testBugtags文件夹下
cd /Users/Joanna/Desktop/testBugtags
3.2 通过pod search 命令先找到目标,如下图操作
3.3 通过终端pwd命令确认当前是在项目根目录下,使用vi命令新建Podfile并编辑
点击“i”进入到编辑模式,将刚才复制的
pod 'Bugtags', '~> 1.1.0'
粘贴进文件,点左上角“esc”退出编辑模式,输入“:wq”保存修改后退出。
经过上面3步骤,Podfile文件正确被编辑,而且她不属于项目,是单独存在在项目中的,就不会在项目中出现2个Podfile的情况了
4、运行pod install 下载安装
注意,如果Podfile中有别的项目不需要更新podspec则需要执行如下的命令:pod install --verbose --no-repo-update
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Bugtags接下来修改的AppDelegate.m的操作参见官网:https://bugtags.com/console/apps/1509918483939790/sdk/integration
最后,祝大家一次成功,不要像我一样走弯路,掉坑后才学会正确使用方法,这真不是什么技术活啊!
使用Pod集成Bugtags填坑记的更多相关文章
- minikube windows hyperx填坑记
minikube windows hyperx填坑记 安装了一天半,还是没行,先放弃 开始 minikube start --vm-driver=hyperv --hyperv-virtual-swi ...
- UiAutomator2.0升级填坑记
UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sk ...
- Android项目开发填坑记-Fragment的onBackPressed
Github版 CSDN版 知识背景 Fragment在当前的Android开发中,有两种引用方式,一个是 Android 3.0 时加入的,一个是supportV4包中的.这里简称为Fragment ...
- Android项目开发填坑记-Fragment的onAttach
背景 现在Android开发多使用一个Activity管理多个Fragment进行开发,不免需要两者相互传递数据,一般是给Fragment添加回调接口,让Activity继承并实现. 回调接口一般都写 ...
- Android项目开发填坑记-so文件引发的攻坚战
故事的最初 我负责的项目A要求有播放在线视频的功能,当时从别人的聊天记录的一瞥中发现百度有相关的SDK,当时找到的是Baidu-T5Player-SDK-Android-1.4s,项目中Demo的so ...
- 浅谈html5 video 移动端填坑记
这篇文章主要介绍了浅谈html5 video 移动端填坑记,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了html5 video 移动端填坑记,分享给大家,具体 ...
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...
- Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)
简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...
- Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
公司的CDH早就装好了,一直想自己装一个玩玩,最近组了台电脑,笔记本就淘汰下来了,加上之前的,一共3台,就在X宝上买了CPU和内存升级了下笔记本,就自己组了个集群. 话说,好想去捡垃圾,捡台8核16线 ...
随机推荐
- Java Concurrency - Semaphore 信号量
Semaphore 是一个控制访问多个共享资源的计数器. 当一个线程想要访问某个共享资源,首先,它必须获得 semaphore.如果 semaphore 的内部计数器的值大于 0,那么 semapho ...
- 优化Android应用内存的若干方法
原帖地址:http://www.open-open.com/lib/view/open1392013992317.html 在app开发的各个阶段中要考虑RAM的限制问题, 包括在设计阶段(正式开发之 ...
- 实例介绍Cocos2d-x中Box2D物理引擎:碰撞检测
在Box2D中碰撞事件通过实现b2ContactListener类函数实现,b2ContactListener是Box2D提供的抽象类,它的抽象函数:virtual void BeginContact ...
- JS 截取字符串函数
一.函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //a ...
- maven入门程序(3)
欢迎转载交流:http://www.cnblogs.com/shizhongtao/p/3472864.html 这里我将展示如何用maven快速创建一个基于spring的web框架.创建步骤和上一篇 ...
- ZigBee 入网详解
本文将根据Sniffer来详细解释ZigBee终端设备入网的整个流程,原创博文. 当协调器建立好网络后,终端设备执行zb_startrequest函数,准备入网时,他们两者之间详细的流程如下.
- 一个封装好的C++比特数组BitArray,可以对位进行直接操作
本来仅仅只是用来做哈夫曼实验时的辅助,后来一想干脆封装好,省得以后又要用到比特位的操作. 基本用法示例: BitArray bits; bits[] = ; bits[] = ; cout<& ...
- mysql 之路目录
数据库介绍.常见分类 Mysql入门 Mysql安装配置 Mysql多实例安装配置 Mysql常用基本命令 Mysql数据库备份和恢复 Mysql日志 Mysql逻辑.物理备份和增量恢复 Mysql字 ...
- 利用Linux下的pthread_mutex_t类型来实现哲学家进餐问题
首先说一下什么是哲学家进餐问题,这是操作系统课程中一个经典的同步问题, 问题如下:如上图,有6个哲学家和6根筷子(那个蓝色部分表示哲学家,那个紫色长条部分表示筷子),他们分别被编了0~5的号!如果某个 ...
- RestFul && HATEOAS && Spring-Data-Rest介绍
1.什么是RestFul 经常上网的同学会发现,现代软件的一个重要趋势就是互联网化,几乎没有一款软件是纯粹的单机版了.通常的情况下,软件管理着服务器的资源以及这些资源的状态变化,用户通过在浏览器输入h ...