最近某朋友的朋友的创业公司新出了一个工具叫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填坑记的更多相关文章

  1. minikube windows hyperx填坑记

    minikube windows hyperx填坑记 安装了一天半,还是没行,先放弃 开始 minikube start --vm-driver=hyperv --hyperv-virtual-swi ...

  2. UiAutomator2.0升级填坑记

    UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sk ...

  3. Android项目开发填坑记-Fragment的onBackPressed

    Github版 CSDN版 知识背景 Fragment在当前的Android开发中,有两种引用方式,一个是 Android 3.0 时加入的,一个是supportV4包中的.这里简称为Fragment ...

  4. Android项目开发填坑记-Fragment的onAttach

    背景 现在Android开发多使用一个Activity管理多个Fragment进行开发,不免需要两者相互传递数据,一般是给Fragment添加回调接口,让Activity继承并实现. 回调接口一般都写 ...

  5. Android项目开发填坑记-so文件引发的攻坚战

    故事的最初 我负责的项目A要求有播放在线视频的功能,当时从别人的聊天记录的一瞥中发现百度有相关的SDK,当时找到的是Baidu-T5Player-SDK-Android-1.4s,项目中Demo的so ...

  6. 浅谈html5 video 移动端填坑记

    这篇文章主要介绍了浅谈html5 video 移动端填坑记,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了html5 video 移动端填坑记,分享给大家,具体 ...

  7. Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...

  8. Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)

    简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...

  9. Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记

    公司的CDH早就装好了,一直想自己装一个玩玩,最近组了台电脑,笔记本就淘汰下来了,加上之前的,一共3台,就在X宝上买了CPU和内存升级了下笔记本,就自己组了个集群. 话说,好想去捡垃圾,捡台8核16线 ...

随机推荐

  1. 实现类似 QQ音乐网页版 的单页面总结

    最近需要对创业团队的网站进行改版,而我负责前端设计和实现. 下面是一些总结与体会: 当设计完成之前,我就跟和我配合的Java 后台说用iframe实现,结果说麻烦不肯,到最后突然对我说还是用ifram ...

  2. Servlet & JSP - Listener

    Servlet API 中的 6 个事件类 1. ServletContextEvent:该类表示上下文事件,当应用上下文对象发生改变,例如创建或销毁上下文对象时,将触发上下文事件. 2. Servl ...

  3. sql常识-SQL 通配符

    在搜索数据库中的数据时,您可以使用 SQL 通配符. SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中, ...

  4. <转载>提升程序的特权(AdjustTokenPrivileges)

    首先列出需要的函数 1.OpenProcessToken 2.AdjustTokenPrivileges 3. LookupPrivilegeValue ----------------------- ...

  5. Tab 防刷新

    今天发现项目中有个小毛病,就是tab老是刷新,就上网Copy了一份防止刷新的Tab例子,谢咯. 贴上来参考一下: <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  6. 使用C#通过调用minitab的COM库自动化生成报表

    本文介绍通过C#调用minitab com组建自动化生成报表的方法. 首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下 选择菜单“编辑器”->“启用命令”启用命 ...

  7. 委托[delegate]_C#

    委托(delegate): 委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法.对于静态方法,委托对象封装要调用的方法.对于实例方法,委托对象同时封装一个实例和该实例上的一个方法.如果您 ...

  8. DOM_节点层次_Element类型

    一.Element类型: nodeType: 1; nodeName: 元素名; nodeValue: null; parentValue: Document 或者 Element; var oDiv ...

  9. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发

    Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图 ...

  10. Mysql数据表的操作

    表的操作 前提:选择数据库 语法: use 数据库名; 1.创建数据表 语法: create table 表名( 字段1 字段类型 [附加属性], 字段2 字段类型 [附加属性], 字段3 字段类型 ...