App.crash的解析和git的使用/appdoc文档生成技巧

App.crash git 使用

  • export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
  1. symbolicatecrash
  2. xx.app
  3. xx.app.dSYM
  4. dwarfdump --uuid Fotile.app.dSYM/ 查看UUID
  5. xcrun dwarfdump --uuid appName.app/appName
  6. 命令同一个文件夹
  7. Binary Images:
    0x100034000 - 0x1004abfff Fotile arm64 <060dfd8753763fea9ee4e07c861820d7> 这里看 bundleID
  • ./symbolicatecrash Fotile17-3-22\ 下午3-58.crash Fotile.app.dSYM/ > result.crash 命令
  • 弹出Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
  • 输入export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
  • 重新执行命令---over
bugly 符号表 工具上传
    1. java -jar buglySymboliOS.jar -i /Users/NB1539/Desktop/crash/2017_04_20_V4_private/Fotile.app.dSYM -dsym -u -id 08ba766ffa -key 9cab4cdb-5017-4df0-a955-b279b3bde37f -package com.fotile.smartMachine -version 1.0.0.11


      image.png
  • 2 直接上传 上传 XXX.app.dSYM.zip 文件到 符号表处

git clean -d -fx 这个命令

git 使用

  • git reset --hard FETCH_HEAD // 取消自己的更改 返回上次提交
  • git clone -b "分支名" "address"
    • 克隆分支,修改,提交,合并分之到主干
  • git rm --cached file_path // 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
  • find . -name .DS_Store -print0 | xargs -0 Git rm -f --ignore-unmatch // 找到文件名称 并删除
  • git 分之管理
  • $ git log --graph --pretty=oneline --abbrev-commit
  • $ git merge feature1 Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.
  • 修改冲突,重新添加,提交 然后 pull 推送到远程
  • 命令git checkout -- XXX 意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

远程分支

  • git fetch -p origin 去掉当前缓存的远程分支
  • $ git push --delete origin devel //删除远程分支
  • $ git branch -m devel develop // 重命名本地分支:
  • $ git push origin develop // 推送本地分支到远程
  • git merge --abort // 取消本次合并
git bug 修改
  • $ git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

  • 新建分之 解决bug 提交bug 合并分之,删除分之提交到远程开始测试

  • 完事之后回滚到开发分支

  • $ git stash list 当前工作区域内容还在

  • 一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

  • 另一种方式是用git stash pop,恢复的同时把stash内容也删了:

gitignore文件用于忽略文件

  • 规范如下
    • 1.所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
    • 2.可以使用标准的 glob 模式匹配。
    • 3.匹配模式最后跟反斜杠(/)说明要忽略的是目录。
    • 4.要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
  • glob模式要点:
    • *:任意个任意字符,
    • ?:匹配一个任意字符,
  • 我们只需要在对应的Git目录下,创建一个.gitignore文件,然后配置上.DS_Store即可,步骤如下:
    • 1.命令行下使用touch .gitignore创建.gitignore文件
    • 输入.DS_Store 换行再输入*/.DS_Store *.swp
    • git add .
    • git commit -m "wenzi"
    • $ git config --global core.excludesfile ~/.gitignore // 配置到全局的gitconfig里面
  • 详细见哪种语言忽略哪些文件
*/.DS_Store
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output

# Code Injection
#
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode
修改XCode 模板路径
  • cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/
  • 修改模板路径
xcode项目 生成appdoc文档
  • git clone git://github.com/tomaz/appledoc.git

  • cd ./appledoc

  • sudo sh install-appledoc.sh

  • 正确的执行命令:

  • appledoc --no-create-docset --output ~/doc --project-name "Your Project Name" --company-id "com.yourcommpany" --project-company "Your Company" ./

  • example: appledoc --project-name "FotileStyle" --project-company "Fotile" --company-id "Fotile CopyRIght" --output ~/Desktop

  • appledoc -p FotileStyle -c "Fotile" -c "Fotile CopyRIght" -o ~/Desktop ./

    • 最后一个命令需要5个参数:

      1. 工程名字
      2. 公司名字
      3. 公司ID
      4. 生成结果出书路径
      5. 扫描那个路径下的类
    • 第三方注释可能会导致崩溃,排除第三方文件 进入下一级文件目录参考

    • 示例 完全支持 MArkMan 格式

appledoc 支持格式
```
  /// 这是单行注释。
  /** 这也是单行注释 */
  /*! 同样是单行注释 */
  /** 这也是单行注释,
  *  第二行会接上第一行。
  */
  /** 第一行是类的简介
  在简介的下面,就是类的详细介绍了。
  没有间隔换行会被消除,就像Html那样。
  下面是常用的markdown语法
  - - -
  无序列表: (每行以 '*'、'-'、'+' 开头):
  * this is the first line
  * this is the second line
  * this is the third line
  有序列表: (每行以 1.2.3、a.b.c 开头):
  a. this is the first line
  b. this is the secode line
  多级列表:
  * this is the first line
    a. this is line a
    b. this is line b
  * this is the second line
    1. this in line 1
    2. this is line 2
  标题:
  # This is an H1
  ## This is an H2
  ### This is an H3
  #### This is an h4
  ##### This is an h5
  ###### This is an H6
  链接:
  普通URL直接写上,appledoc会自动翻译成链接: http://    blog.ibireme.com
  [这个](http://example.net/) 链接会隐藏实际URL.
  表格:
  | header1 | header2 | header3 |
  |---------|:-------:|--------:|
  | normal  |  center |  right  |
  | cell    | cell    | cell    |
  引用:
  这里会引用到方法 `someMethod:`,这里会引用到类 `YYColor`
  这里会引用到一个代码块
     void CMYK2RGB(float c, float m, float y, float k, 
                    float *r, float *g, float *b) {
         *r = (1 - c) * (1 - k);
         *g = (1 - m) * (1 - k);
         *b = (1 - y) * (1 - k);
     }
  @since iOS5.0
```
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,649评论 4 54
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,904评论 0 11
  • 一、电脑本地初始化一个仓库 1. git init: 初始化一个电脑上本地仓库 终端进入项目目录,输入: 该命令将...
    dragon_li阅读 2,879评论 1 4
  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,855评论 5 147
  • 007三字经 零零七 好东西 聚人气 练脑力 强身体 月四期 涨知识 要坚持 若放弃 真可惜 战友宜 心牢记 常议...
    上善若水_山东济南阅读 203评论 8 1