2019-01-19

<center>2018年工具使用总结

charles使用提升

  1. 复习之前http协议的抓包步骤;
    1. 将预抓包移动设备和电脑连接同一网络;
    2. 在charls或者电脑设置界面,获取到wifi所在的ip地址;
    3. 移动设备设置网络代理,代理的地址用上面获取到的ip地址,端口可以在Proxy setting 中进行设置,这里默认应该是8888;
    4. 打开移动设备中的应用,在charles中会弹出是否同意弹窗,点击allow即可;
  2. 学会抓https协议的抓包步骤;
    1. 同http协议抓包步骤;
    2. 在Charles的help->ssl proxy->install remote brow or device,获得这书下载地址;
    3. 获得这书地址,在移动设备的浏览器中进行下载并安装,这里安卓和ios的安装可能不同;
      • 安卓需要在高级设置里面安装下载下来的证书
      • ios需要在设置中信任下载的证书
    4. 移动端配置完成后,在Charles中添加待抓取的域名,添加步骤SSL Proxy Setting中添加;

抓包前在charles协议中,都得打开MacOS proxy
如果设备配置代理后,Charles不弹窗提示,则有可能是没有安装证书,可以在help中点击SSL Proxy中选择install证书

崩溃日志字符化

  1. 分析前,需要获取三个文件,分别是崩溃日志,崩溃日志对应的app、崩溃日志对应的dsym文件;
    1. 崩溃日志的导出,可以使用iTools工具导出,得到.ips文件,此文件在之后用到时需要转成.crash文件;
    2. 崩溃日志对应的app,需要开发提供,根据不同打包导出路径去获取,如果是使用xcode手动打包的,可以在Organzier中Archives中找到;
    3. 崩溃日志对应的dsym文件,同步骤2方法获取;
  2. 对比三个文件的uuid是否一致:
    1. 查询app文件的uuid,dwarfdump --uuid ihc.app/ihc
    2. 查询dsym文件的uuid,dwarfdump --uuid ihc.app.dSYM
    3. .crash的uuid直接在文件中可以看到;
  3. 三个文件的uuid一致后,才能正确符号化,将三个文件放到同一个文件夹下,进到文件夹下,执行./symbolicatecrash .crash ./.app.dSYM > new.crash;
    注意!symbolicatecrash执行文件的查找语句 find /Applications/Xcode.app -name symbolicatecrash,找到后赋值到上面的文件夹中
    设置路径export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer

fastlane使用小结

这里简单介绍一下fastlane,该工具主要是用于自动化打包、上传场景,另外还可以用于测试和截图等场景,但是目前在使用中还没涉及。下面是直接介绍在项目中的使用情况,不对安装步骤进行说明,网上很多介绍;

  1. 进入项目目录,执行fastlane init,之后会有配置方式选项,我这选择第四项Manual setup手动配置,之后安装会稍微耗时一会,成功后会在当前文件夹下生产fastlane文件夹、Gemfile文件以及Gemfile.lock文件。

    1. fastlane文件夹中有两个文件,分别是Appfile和fastfile,Appfile文件是编辑项目的信息,如证书名称,开发账号等信息,如果在项目中有正确配置,这里可以不用再改动;
    2. fastfile中编辑所有的action,即所有的lane,可以使用fastlane +laneName来执行,也可以直接fastlane然后再选择对应lane下标;
  2. 项目编译前,先使用cocoapods下第三方库,可以在before_all 中执行cocopods,同时在Gemfile文件中添加gem "cocoapods";

  3. 增加编译语句,支持哪些gym可以在网上查询,这里不全部列举;
    例子

build_app(export_method:"打包方式,可选项app-store ad-hoc packageenterprisedevelopment``developer-id",
scheme:"schemeName",
workspace:"workspaceName",
output_name:"xxx.ipa",
clean:true,
configuration:"Debug/Release",
output_directory:"./xxxName/time/"
)
```
注意!要想支持scheme,必须在manager scheme中勾选对应scheme的shared

  1. 添加插件,fastlane支持添加不同插件,这里以上传到蒲公英插件为例,fastlane add_plugin pgyer,执行成功后,会在fastlane文件下生成一个Pluginfile文件;不同插件的使用可以参考插件的说明;

git包管理

 之前项目也用过git,但是之前一直是独立开发,git只是用作远程仓库使用,其他功能涉及的不多,接下来讲下最近项目git的版本管理。
 分支情况,master->用于存放线上代码,preview->用于存放基于线上和已修复的线上bug,dev->用于开发的版本,在开发过程中可能会有很多处于开发的分支;fix->这个分支用于修复bug,个人修复的话,不用推到远程,修复bug时从preview上拉取,线上bug原则上是只能这样修复,不要再dev上直接修复;
使用场景:

  1. 不同的开发分支都是基于preview,打测试包前,需要从preview拉取代码,因为preview上有已经修复的线上bug;
  2. 如果业务需要将多个dev上的需求合并发布,需要基于其中一个dev拉取一个新分支,然后在新分支基础上去合并其他分支,这样的目的是保证旧的dev的独立性,即使中途要拆分也不用做额外工作。提测后发现了版本bug(即这次需求中产生的bug,非线上bug),直接在提测版本分支上修改。
  3. 审核通过后,将最终提测的版本合并到master,然后从master合并到preview上;
  4. 测试中或者审核阶段,如果有新的需求过来,不要直接基于测试通过版本或者审核版本开发,依然基于preview版本开发,因为这个过程可能中仍有可能发现bug并且该bug不是线上bug,这样会污染新分支,等审核通过上线后,下次提测的时候从preview上拉取最新代码就能保证线上代码合并过来了。
  5. 合并方式可以选择merge或者rebase,如果你的项目是根据git号来管理的话,建议不要使用rebase,因为rebase会破坏代码commit号,当然如果只是本地commit,是可以用rebase。

目前只想到这些工具,之后想到再补充

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270