IOS高级工程师成长之路 -- 技巧篇《提高iOS开发效率的方法

2018-10-07  本文已影响0人  IT小菜逼

1.善用快捷键

快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象

alt + 左\右 光标左右移动一个单词。

Xcode 窗体相关

Shift + Command + Y 隐藏 \ 显示 console 区,但是我建议显示console区 用 Shift + Command + C,会直接聚焦效果。

Command + k console清屏。

Control + 1 这个应该很多工程师都没用过,当然点击小图标也可以。

  1. Control + 6 查看当前类的方法列表,这里建议用 pragma mark 来合理分块,相关扩展阅读可以看这里的代码规范建议

  2. Command + 1,2,3,4,5,6,7,8,9 切换左边窗体,Command + 0 显示 \ 隐藏左边窗体。

  3. alt + Command + 0 显示 \ 隐藏右边窗体,同理alt + Command + 1,2等也可以切换

  4. Command + , 弹出 Perferences ,可以用 Command + w 隐藏

其他
还有一个多行编辑,有的时候也会用到,需要借助Sublime Text, 快捷键是 Shift + Command + L,退出多行编辑也是Shift + Command + L
Shift + Command +3 全屏截图,Shift + Command + 4 自选区域截图,Shift + Command + 4 + 空格 截图某一个窗体。

Command + F3 快捷查看桌面。

Control + Command + 空格 弹出表情输入框。

2.常用代码片段

开发中有一些常用的代码,可以放到代码片段中,然后下次你就可以使用快捷方法来使用这些代码了,给大家看下我的Xcode中部分代码片段:

APP

Injection

这款好像之前我分享过,就是一个可以让你改动代码不需要重新运行就能见到神奇效果的app。有一点不好,那就是oc的get方法无法注入。

SimSim

可以快速访问模拟器里的沙盒

Charles

抓包工具,这个不用多说,coder都应该知道的。

Doxygen

文档生成器,当然也有很多,比如appledoc,但是Doxygen是图形化,用过几次,实际上对我们并没啥太大作用(可能大公司更需要吧)。

Postman

接口测试工具,一个Google chrome的插件

hopper

反编译,玩逆向的都知道,不过笔者也只是连这款软件的门都没入。

JSONExport

这款真的很给力,根据JSON格式自动生成class model,支持oc,swift,Java,等多种语言

SQLPro Studio

访问数据库的图形化,笔者感觉这款软件在mac上比较好用,至少我个人觉得。

reveal

这款ui调试神器就不需要过多解释了吧。

NSLogger

这款也不错,在项目里导入框架,然后项目里用NSLogger框架的api输出日志可以在电脑上打开NSLoggerapp来进行查看。可以当做留一个后门查看日志并盗取数据来做点坏事(以前不开森的时候,我做过,然后把别人的数据给收藏了那么一丢丢),笔者也很久没用了,具体使用参考地址:https://github.com/fpillet/NSLogger

三方库
UIViewController+Swizzled
这个我想大家都知道吧,就是可以在控制台打印出controller的层级,虽然用lldb也可以做到(我之前文章貌似写过)。

MLeaksFinder
检测内存泄露的,虽然有局限性,但基本满足需求啦。

NSDictionary-NilSafe
这东西顾名思义,但目测感觉没啥太大用处。

NSLogger
搭配上面NSLogger的app使用

结尾
比较有用的目前感觉就这几个三方库的,后期会不定维护和更新,下面贴出我最近项目的pod三方库(部分三方库是手动导入的,就不贴出来了),看有木有读者需要的资源。

pod 'ReactiveCocoa','~>2.5'
    pod 'SDWebImage','~>3.8.0'
#    pod 'FDStackView'
    pod 'IQKeyboardManager'
    pod 'AFNetworking'
    pod 'MJRefresh'
    pod 'UIViewController+Swizzled'
    pod 'DZNEmptyDataSet'
    pod 'MJExtension'
    pod 'JDStatusBarNotification'
#    pod 'MBProgressHUD'
    pod 'Masonry'
    pod 'SDCycleScrollView'
    pod 'NJKWebViewProgress'
    pod 'MLeaksFinder'
    pod 'QRCodeReaderViewController'
#    pod 'TZImagePickerController'
    pod 'DACircularProgress'
    
    pod 'INTULocationManager'
    pod 'APAddressBook'
    pod 'JGActionSheet'
    pod 'Bugly'
    pod 'TSMessages', :git => 'https://github.com/KrauseFx/TSMessages.git'
#    pod 'TSMessages'

#    pod 'HexColors'
    pod 'NSDictionary-NilSafe'
    pod 'FDFullscreenPopGesture'
#    pod 'JCAlertController'

    #swift
    pod 'SnapKit'

-------------------- 持续更新 ---------------

上一篇下一篇

猜你喜欢

热点阅读