Peter's Den

悲观者只见到机会后面的问题,乐观者却看见问题后面的机会

Hello,在下2012年涉足Apple Developer,至今在iOS/OSX领域混迹多年,本职工作以iOS为主


精通Objective-c/Swift,对Python/Java/.Net/JavaScript也略懂一二,会与大家在这里记录分享

XTerminal - XCode终端命令插件

###XTerminal是什么?

它就是终端Terminal,只不过它是简单阉割版,部分命令暂时不能支持。

它虽是终端,但不止于终端,会集成各种快捷命令

插件下载地址在本文最后

###为什么要造一个XTerminal?

Apple很吝啬,始终不肯将terminal嵌入XCode中,像Android Studio,IDEA等都支持了。

我们是否需要它?
  • 假如git操作常用SourceTree等客户端,可能对此插件需求不高。
  • 当然我们也可以使用XCode的Behaviors功能来打开一个iTerm2或者Terminal,假如对切屏无所谓,不在意的话(XCode开发中大部分都是全屏的,通过Behaviors打开一个终端肯定是切换屏幕的),那么也对此插价需求不高。
  • 假如你git操作常用命令,而且需要就在本屏幕内实现,那么你对此插件需求很高

XTermimal支持命令

[√] all bash

[√] Cocoapods

[√] 快速查看当前分支:shift+B

[√] 快速打开Podfile:shift+P

[√] 快速打开Podfile.lock:shift+L

XTermimal不支持命令

[TODO] vim

[TODO] cd

安装插件

XCode9以及以上请对XCode进行重签名(重签后无法上传ipa,一般公司都有专门的打包机,所以问题不大;否则自己备份下XCode)

1.在钥匙串中创建代码签名:XcodeSigner

2.重签XCode

sudo codesign -f -s XcodeSigner /Applications/Xcode.app 

3.首先查看你安装的XCode的PluginUUID是否存在info.list

若不存在,可以自行增加到info.list再运行

defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

4.启动后,点击Load bundle即可安装成功

5.XTernimal是在Window菜单下面

6.插件的安装目录

~/Library/Application Support/Developer/Shared/Xcode/Plug-ins

下载地址

最近的文章

iOS代码测试覆盖率(一)初探

Code Coverage 我们平时开发过程中,有多少同学有纠结过这些问题: 我们写的代码或功能,测试同学有没有测试过呢? 测试同学是否把所有case都跑过了呢? 测试同学有没有漏测了什么功能呢? 我们设计的代码有没有多余的? 其实这些疑问不是怀疑自己或他人的工作能力,只是我们希望自己的代码能够被全部测试,从而不会出现线上的故障,一个体量庞大的App若在线上出现一个故障,影响面有多广可想而知。 像之前苹果没有封杀热修复的时候,若我们的代码覆盖率能够做到...…

iOS继续阅读
更早的文章

iOS中OOM底层原理探究

什么是OOM 它是out-of-memory的首字母集合,字面意思就是内存超了。 同学们都知道,iOS App中内存超了,系统会把App直接杀死,一种另类的Crash;有兴趣的同学可以尝试下,把一些UIImage自行缓存到内存中,收到Memory Warning也不要去释放,占用内存超过一定的容量就会出现OOM。什么是Jetsam OOM的管理就是通过Jetsam来实现的,Jetsam是用独立运作的,每一个进程都有一个"high water mark"(HWM),一旦内存超过这个值就...…

iOS继续阅读