手摸手带你玩转 Xcode Extensions

栏目: IOS · 发布时间: 5年前

内容简介:题图:from imgur事情是这样的前段时间看到,E神写了个新玩具叫Code Friend很酷炫,私下里给E神说拿来推广让iOSTips的读者体验一番,E神说目前功能还不完善,等再牛逼一点再拿来分享,然后就有了接下来的分享。

手摸手带你玩转 Xcode Extensions

题图:from imgur

事情是这样的前段时间看到,E神写了个新玩具叫Code Friend很酷炫,私下里给E神说拿来推广让iOSTips的读者体验一番,E神说目前功能还不完善,等再牛逼一点再拿来分享,然后就有了接下来的分享。

有没有这样的体验,我们经常要打开终端,跳转到当前工程目录,然后在执行pod install;我们在编译的时候想要清除缓存需要先打开Xcode偏好设置,再选到location,再跳到DerivedData目录;几年Xcode更新过来,128G的你每天都在考虑删除哪个文件,仔细想想每天这类重复工作都有很多?

XcodeWay推荐

今天就带来一款Xcode扩展XcodeWay解放你的双手,让你不再重复劳动,不再每次Google CoreSimulator究竟在哪个 路径,不再手动打开终端跳转目录然后Pod Install,不再手动清除Xcode DerivedData缓存。

手摸手带你玩转 Xcode Extensions

功能

  • 一键打开工程根目录

  • 一键打开终端并跳到工程根目录

  • 一键打开DerivedData目录

  • 一键打开Provisioning Profiles目录

  • 一键打开Archives目录

  • 一键打开DeviceSupport目录

  • 一键Pod Install

  • 一键Pod update

  • 一键清除DerivedData

手摸手带你玩转 Xcode Extensions

可扩展

如果你有其他好的想法,可实现Navigator协议,添加更多酷炫的功能。

protocol Navigator {  func navigate()
  var title: String { get }
}

安装

传送门: https://github.com/GesanTung/XcodeWay

按理说文章写到这里可以可以结束了,但是老峰认为我们不应该仅仅只是会使用工具,还应该懂 工具 的制作原理,甚至自己制作工具。

Xcode plugins  Tips

其实在Xcode8之前Apple默许开发者自定义Xcode plugins插件,在2015年末,有一个恶意插件(XcodeGhost)植入Xcode,当时又不少开发者通过非官方渠道下载到了这个Xcode,这款恶意软件就使用插件机制,为了避免这类潜在的恶意软件,在WWDC 2016苹果宣布Xcode Source Editor Extension为第三方扩展Xcode的唯一途径。这意味着,从Xcode 8开始,Xcode plugins插件如Xvim, Injection plugin 都不能不能被Xcode加载使用了。

Tips: 事实上尽管不支持Xcode plugins被官宣了,但我们依然可以通过重签Xcode,而继续使用这些效率插件

plugins并非今天主线,关于如何安装简单刷下副本:

第一步:制作证书

手摸手带你玩转 Xcode Extensions

第二步:重签Xcode

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

手摸手带你玩转 Xcode Extensions

重签之后早些时候的插件如Injection plugin,Xvim等等都可以继续使用了,但是有一点, 重签后的Xcode是无法提交App到AppStroe 的,所以我们可能需要一个再装一个官方的Xcode版本来提交APP,当然现在很多团队构建上传都有专人自动化负责,所以我们大可不必关心提交的问题。

Xcode Extensions简介

回到本文的重点,我们今天的主题是Xcode Extensions,其实不管Baidu还是Google介绍它的文章都很多,我这里引用官方的介绍说一下:

New Xcode extensions for the source editor let you customize your coding experience. Use extensions to navigate within your editor’s text, and select, modify, and transform your code. Bind your favorite extensions to a keyboard shortcut to make common reformatting tasks a snap. Xcode includes a new template so you can easily create editor extensions and distribute them on the Mac App Store, or sign your extensions with your Developer ID to share them online. And because extensions run in a separate process, Xcode stays safe and stable.

由于XcodeKit暴露的接口太简单,甚至到了Xcode10其提供的功能也依然有限,但是依然有开发者制作了有多有趣的Xcode Extensions在Xcode->Xcode Extensions可以看到很多发布到AppStore的优秀扩展。

手摸手带你玩转 Xcode Extensions

XcodeWay实现

说下XcodeWay的制作原理吧,我们知道Xcode Extensions目前局限于操作Xcode当前选中的文件,比如给当前文件添加注释,对当前文件做Code Lint等等,XcodeWay是怎样实现一键Pod Install,一键清除DerivedData这样的功能呢?

XcodeWay fork自onmyway133,之前作者提供的功能比较单一,就是打开各种目录,我站在大佬额肩膀上做了下修改,支持了Pod操作,文件删除操作,模拟器删除操作(要知道用了几年的Xcode模拟器可能会有20多g),主要原理是通过Extensions执行AppleScript脚本(这货大概都懂吧,之前的文章也说过),在脚本中实现各种文件的操作,各种应用的唤起如唤起终端,关键代码如下:

1.执行AppleScript脚本方法

手摸手带你玩转 Xcode Extensions

执行Pod install代码实现

手摸手带你玩转 Xcode Extensions

菜单选中Do Pod Install

手摸手带你玩转 Xcode Extensions

推荐阅读:

  1. https://github.com/theswiftdev/awesome-xcode-extensions

  2. https://github.com/GesanTung/XcodeWay

  3. Code Friend:使用JavaScript开发Xcode Extensions

  4. iOStips,高级进阶电子书干货分享!

手摸手带你玩转 Xcode Extensions


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Designing Programmes

Designing Programmes

Karl Gerstner / Springer Verlag / 2007 / $499.00

Karl Gerstnera (TM)s work is a milestone in the history of design. One of his most important works is Designing Programmes, which is presented here in a new edition of the original 1964 publication. I......一起来看看 《Designing Programmes》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具