相信大多数iOS开发者都会使用Xcode来加速开发。我把我在这方面积累的知识记录下来。

使用Alcatraz安装插件

传统的Xcode插件的安装是拉代码下来,打开工程并运行,将编译的插件包拷贝到指定目录下。这种方式比较麻烦,并且没有一个地方可以挑选有用的插件。 Alcatraz是一个非常好用的Xcode插件管理工具。有了这个工具,插件安装和卸载只需要点点鼠标,还可以搜索、浏览各种插件。

需要安装命令行工具,如果没有安装可以通过Preferences > Downloads来安装。安装Alcatraz方法非常简单:

curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

使用方法非常简单,通过Window > Package Manager来打开下图窗口。在窗口内可以浏览或者搜索插件、主题或者模版。每个插件都会有一张动图来演示插件的使用效果。点击前面的Install或者Remove就可以安装或者卸载。

插件推荐

以下是我常用或者觉得有用的插件。读者还可以参考其他Xcode插件推荐文章,比如NSHipster的文章Xcode Plugins,那些不能错过的Xcode插件。

Auto-Importer

这个插件可以帮助你快速import头文件。编写代码的过程中,写下一个类,不需要跳到文件头部添加import语句,只需要command+ctrl+H就可以搞定。

BBUFullIssueNavigator

Xcode的issue navigator通常对issue的内容只会显示2行,点击后才能看到全部内容。这个插件可以在issue navigator中直接显示issue全部内容。

CocoaPods

每次更新CocoaPods时不必命令行打开项目,敲入命令。只需要点击Product > CocoaPods > Install Pods。另外还提供了创建Podfile和Podspec的功能。

DerivedData Exterminator

使用Xcode时会遇到一些编译的坑,光靠clean远远不够。有时清理derived data可以解决,有时需要清理module cache。使用这个插件,可以在Xcode的View菜单下找到这些功能。还可以在工具栏显示按钮,清理derived data更方便。

KSImageNamed

代码中需要使用图片的时候,通常是在输入代码imageNamed后。安装这个插件后,就会在此时给出自动完成选项,列出项目内所有图片。还可以同时预览选中的图片。

OpenInTerminal

有时候我们需要在命令行中对项目做一些事情,那么需要打开命令行,切换目录。安装这个插件后可以通过Navigator > Reveal in Terminal或者command + alt + T来完成。

VVDocument

喵神写的Xcode插件。通过敲击三次/就可以生成规范的注释。

ZLGotoSandbox

有时候我们检查查看模拟器的应用安装目录。这个插件可以通过File > Go to Sandbox!来打开模拟器内应用的目录。

OMColorSense

可以在编写代码创建UIColor/NSColor时预览最终的颜色。因为很少直接使用UIColor提供的方法来创建颜色,所以这个插件用得并不多。另外,如果你觉得UIColor创建RGB比较繁琐,可以试试HEXCOLOR,代码来自手淘。

Helmet

开发过程中经常需要查看iOS SDK的头文件。如果不小心修改了,就会编译出错,需要删除module cache后清理工程。装了Helmet就可以阻止对SDK头文件的误修改。这个问题我是通过另一种方法给这些framework加锁,已经记不清怎么做的了。

HOStringSense

在Xcode中代码加入字符串时,需要自行做符号转义,字符数计算。HOStringSense可以帮助你完成这些任务。

XVim

据说时Vim党的福音,可以像操作Vim一样操作Xcode编辑器。试用了一段时间导致Xcode崩溃过,学习了一段时间的Vim快捷键,始终觉得不如触摸板方便,放弃了。

XcodeBoost

选中变量的时候,把这个变量出现的所有地方都高亮显示。对于修改变量检查代码来说非常方便。最初看到类似的功能是在Sublime Text上,觉得真好用。

SCXcodeMiniMap

编辑源代码时,展示代码的迷你地图。源代码比较多时,可以通过迷你地图来找到想要查看的代码位置,点击就可以跳转过去。这个功能最初也是在Sublime Text上看到的,非常方便。

插件升级

每次Xcode升级的时候都会出现插件消失的情况。这是由于插件开发时,需要声明兼容的Xcode的UUID列表。升级Xcode后需要插件作者更新插件支持新的Xcode,开发这升级Xcode。如果开发者没及时更新就暂时不能用了。Stack Overflow上有一个简单的办法,将新Xcode的UUID写入已经安装的Xcode插件的兼容列表。手动一个一个地修改太过繁琐,同事写了一段脚本来实现这个功能Xcode Plugin Auto Compatible.sh。大多数情况下这么做就可以让插件在新的Xcode下可以使用。有些情况下有可能出现某个插件在引起Xcode崩溃。这时就比较麻烦了,需要尝试一个一个地禁用插件来找到出问题的那个,卸载掉。

开发Xcode插件

如果你对开发Xcode插件感兴趣,那么Alcatraz也可以帮到你。打开Package Manager窗口,搜索Xcode Plugin。你将会找到这个类型的模版,安装它。之后新建工程,选择Xcode Plugin,就可以新建Xcode插件项目。

建立插件最快速的方式是在自己用过的Xcode插件中寻找一个交互最类似的,然后参考它。raywenderlich上也有一些文章可以参考。

使用Xcode插件加速开发相关推荐

  1. iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)

    iOS开发UI篇-推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImag ...

  2. 那些不能错过的Xcode插件

    古人云"工欲善其事必先利其器".打造一个强大的开发环境,是马上提升自身战斗力的绝佳途径!下面是搜集的一些有力的XCode插件. 1.全能搜索家CodePilot 2.0 你要找的是 ...

  3. Swift JSON转模型Xcode插件

    SwiftJSONModeler是一个Xcode插件,一键转换json字符串为Swfit模型,一键转化 YApi 平台接口为模型,并且自动引入注释. 支持struct, class 支持单json转模 ...

  4. HokeyPokey — WWDC讲师特供XCode插件高仿版的设计与实现

    在我们使用XCode IDE做iOS技术分享的时候,经常会涉及到多个方案的运行效果比较.切换不同的演示方案通常有如下三种方法:1.分成多个XCode项目:2.分成多个版本Branch 3.手动去注释掉 ...

  5. iOS之深入解析CocoaPods的插件机制和如何加载插件整合开发工具

    一.CocoaPods 插件机制 ① Ruby 在 Ruby 中,类永远是开放的,总是可以将新的方法加入到已有的类中,除了自己的代码中,还可以用在标准库和内置类中,这个特性被称为 Ruby Open ...

  6. xcode扩展_如何将Xcode插件转换为Xcode扩展名

    xcode扩展 by Khoa Pham 通过Khoa Pham 如何将Xcode插件转换为Xcode扩展名 (How to convert your Xcode plugins to Xcode e ...

  7. 部分xcode插件可能有新版本

    推荐博客主人:http://blog.csdn.net/liwei3gjob/article/details/44266943 古人云"工欲善其事必先利其器",打造一个强大的开发环 ...

  8. 积木Sketch插件进阶开发指南

    前段时间,美团外卖技术团队积木Sketch插件"意外走红".为了帮助更多的设计师小哥哥.小姐姐落地设计规范,提升产研效率,积木Sketch团队开始着手打造一个平台化的产品.本文介绍 ...

  9. 个人常用iOS第三方库以及XCode插件介绍

    第三方库是现在的程序员离不开的东西,不光是APP开发,基本上所有的商业项目都会或多或少的使用到第三方库. Github上Star>100的开源库数量如下 可以看到JS以绝对的优势排名第一,一定程 ...

最新文章

  1. java ftp connect_java实现ftp的几种方式(第3方包)
  2. 【公开课】“有三说深度学习”上线
  3. 优化你的DiscuzNT3.0,让它跑起来(4)asp.net 缓存和死锁
  4. 网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
  5. pycharm-自动换行
  6. hadoop中mapreduce参数优化
  7. 卷积神经网络之ResNet网络模型学习
  8. c++ primer课后题答案 第9章 : 顺序容器
  9. Go语言的基准测试简单示例
  10. 苹果a7处理器_苹果历代cpu性能对比
  11. oracle em 时区更改不了,Oracle dbtimezone与os时区不一致的解决办法
  12. 【微信小程序】访问本地服务器 404
  13. eclipse导入项目jsp文件报错
  14. 彭适辰 - 资本寒冬:给创业者的十点建议
  15. Python机器学习建模的标准流程(特征工程+建模调参+模型评估+全流程可视化)
  16. 微软常用运行库合集(32+64位)
  17. 六、系统架构 - 高可用架构设计
  18. 牛客小白月赛32--C消减整数、E春游(贪心)
  19. l7sa008b故障代码_奥克斯空调故障显示代码E1E2E3E4E5E6E7E8E9
  20. Linux 脚本大师不是人人都可以达到的,但Shell编程基础还是有必要掌握的

热门文章

  1. 企业常用的Nginx网站服务相关配置——极其详细
  2. ModuleNotFoundError: No module named ‘my_project.settings 解决方法
  3. (Java+Mysql)实现简单的校园卡管理系统
  4. 提示必须键入文件名如何解决?教你如何重命名/重命名cmd命令
  5. 深蓝学院-运动规划重点笔记
  6. 黑发不知勤学早,白首方悔读书迟。
  7. yum -y与 yum有什么区别
  8. bootstrap 大坑,大坑
  9. OA系统中包含哪些功能模块
  10. 哈工大李志军操作系统 —(四)设备驱动与文件系统—目录与文件系统L31.L32