ShannonChenCHN / iOSDevLevelingUp

A journey of leveling up iOS development skills and knowledge.
365 stars 105 forks source link

调试、IDE、工具 #10

Open ShannonChenCHN opened 7 years ago

ShannonChenCHN commented 7 years ago

推荐阅读

ShannonChenCHN commented 7 years ago

延伸阅读:

文章、书籍

工具

视频

ShannonChenCHN commented 7 years ago

iOS 开发中的调试

概览

1. Great tip from Cédric Luthi

设置条件断点,可以查看 view Controller 是否被 dealloc~ dh_nwyhxuaiqbyq

延伸阅读:

ShannonChenCHN commented 7 years ago

LLDB 命令

n/next:step over; s/step:step into; finish:step out; c/continue:goto next breakpoint; expr/expression:Evaluate a C/ObjC/C++ expression(动态执行C/ObjC/C++表达式); p/print/expr/expression:print as a C/C++ basic variable; po/expr -O/expression -O:Print as an Objective-C object;

延伸阅读:

ShannonChenCHN commented 7 years ago

Xcode 快捷键

1.Xcode导航快捷键

工程导航器: Command + 1 显示/隐藏导航器面板: Command + 0 显示/隐藏实用工具面板: Command + Option + 0 显示/隐藏控制台:Command + Shift + Y 打开Assistant Editor:Option + Command + Enter 关闭Assistant Editor:Command + Enter 在Assistant Editor中打开文件:在项目导航器中选中文件执行Option + Left-click (注:实际上是可以在preference中自定义option键和double click的操作的) 选择你想要打开该文件的地方:Command + Option + Shift + Left-click 显示/隐藏调试台:Command + shift + Y

2.搜索快捷键

代码关键字搜索:Command+Shift + F 或 Command + 3 文件名或方法名关键字搜索:Command + Shift + O (支持不连关键字搜索,如“mtovp”,可搜到“MTOverseaPerson类”) .h and .m文件间的快速切换:Control + Command + Up/Down

3.项目工程的编译和清理

运行:Command + R 编译:Command + B 停止运行/编译:Command + . 清理:Command + Shift + K

4.代码定位助手

快速定位当前文件在左侧工程导航器中的位置:Command + Shift + J Show Related Items:Control + 1(注:可以查看光标所在方法的callers和callees) 查看方法调用层次: 把光标放在方法名处,操作Command + Option + Shift + H

5.代码编辑

左/右 缩进: Command+[ / ] 跳至文档开头/结尾:Command + Up/Down 跳至行首/行末:Command + Left/Right 跳至指定行:Command + L 删除整行:先把光标移到行末,再操作Command + delete 向上/下 移动整行:Option + Command + [ / ] 代码排版:control + I 双击某个分隔符(如()、[]、{} 等),Xcode会选中匹配代码块 显示/关闭 代码Comletion提示功能:esc

ShannonChenCHN commented 7 years ago

iOS Simulator

ShannonChenCHN commented 7 years ago

Xcode 文件头部注释

ShannonChenCHN commented 7 years ago

Xcode Snippets

我们自己定义的 Code Snippets 都保存在 ~/Library/Developer/Xcode/UserData/CodeSnippets 目录下。

参考

ShannonChenCHN commented 7 years ago

网络调试

参考:

ShannonChenCHN commented 6 years ago

使用 Ruby 修改 Xcode 工程文件

问题:如何实现批量修改 Xcode 中的文件名? 现状:因为本地的文件名是文件本身的名字,在 Xcodeproj 中显示的文件名是 Xcode 自己创建的索引,所以直接通过修改文件名是办不到的。所以只能通过 refactor 一个一个类单独修改。

ShannonChenCHN commented 6 years ago

小黄鸭调试法

概念

许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。

现实场景

你的朋友跑来问你一个问题,但是当他自己把问题说完,或者说到一半的时候就想出了答案走了,留下一脸茫然的你。是的,这个时候你就起到了那只小黄鸭的作用。

原理

在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。


参考:

ShannonChenCHN commented 6 years ago

清除不用的图片资源

参考:

ShannonChenCHN commented 5 years ago

DTrace

推荐阅读

ShannonChenCHN commented 2 years ago

Mac 空间清理

Mac 上一般最占空间的是:开发软件 Xcode 相关的,微信等缓存大户,音视频缓存文件。

~/Library/Developer/Xcode/DerivedData:项目构建产物 ~/Library/Developer/Xcode/Archives:归档项目的存储位置 ~/Library/Developer/Xcode/iOS DeviceSupport:连上设备时自动创建的索引文件,通常旧设备没必要保留 ~/Library/Developer/CoreSimulator/Devices:不用的模拟器也可以删掉 ~/Library/Application Support/MobileSync/Backup:手机备份,不需要的话也可以删掉 ~/Library/Caches/CocoaPods/:CocoaPods 缓存

参考