使用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线 ...
随机推荐
- iOS下获取用户当前位置的信息
#import <MapKit/MKMapView.h> @interface ViewController (){ CLLocationManager *_currentLoaction ...
- VS的启动方式
启动VS的两种方式1.双击图标2.调出cmd,输入 devenv
- js中关于事件处理函数名后面是否带括号的问题
今天总结一个关于事件处理程序的小细节.首先回顾一下事件处理的一些概念. JS中的事件处理(事件绑定)就是让某种或某些事件触发某些活动.有两种常见的形式,分别是DOM Level 0 和DOM Leve ...
- jQuery选择器容易忽视的小知识大问题
1 关于检查某个元素在网页上的存在 很多人会惯性的写成 } 其实应该根据获取到元素的长度来判断 if($("#tt").length>0){ //do something博 ...
- ActiveMQ 的安装
1. 在 http://activemq.apache.org/ 下载 ActiveMQ.Windows 系统选择下载 apache-activemq-x.x.x-bin.zip,Unix/Linux ...
- Redis 命令 - Sorted Sets
ZADD key score member [score member ...] Add one or more members to a sorted set, or update its scor ...
- 使用spring+mybatis+atomikos+tomcat构建分布式事务
本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...
- C# 保存PictureBox中的图片到数据库,并从数据库读取图片显示到PictrueBox,解决报错 “无效参数”
下面是两段关键代码: /// <summary> /// 将一张图片转换为字节 /// </summary> /// <param name="img" ...
- 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)
本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...
- 再说 extern "C"
早知道 C++ 源文件中要调用C语言函数需要在函数申明时 指定extern "C": 要不然可以编译通过,但连接时提示找不到什么什么符号,原因是C和C++生成的函数名不一样,ext ...