玩转iOS开发:iOS 10 新特性《Xcode Extension》

文章分享至个人我的技术博客: https://cainluo.github.io/14972357977664.htmlhtml


Xcode Extension

macOS, watchOS, tvOS, iOS开发, 最离不开的工具就是Xcode, 但Xcode真的让咱们又爱又恨, 虽然有不少强大的功能, 但细节方面真的很难Care到, 因而乎Alcatraz诞生了, 在当时火的不要不要的, 只要是老司机都会装一个.git

但如今苹果爸爸貌似看到了开发者的需求, 因此如今给Xcode加了一个功能, 就是Xcode Extension.github

严格来讲这不是iOS的东西, 但又刚恰好是随着iOS 10一块儿出来的, 想了想, 仍是集合在这里吧.vim


建立项目

这里咱们须要建立的是macOS的项目:微信

1

而后在项目的General里找到添加Extension的选项:工具

2

选择Xcode Editor Extension:ui

3

这就是Xcode Extension啦:spa

4

顺便说说, 我在这个info.plist改了一下参数:插件

5


注意

这里有一个小坑, 注意要给咱们Xcode Extension申请一个证书, 两边都要申请哦.3d

6

7

否则就会报-67050错误:

IDESourceEditorExtension: Xcode Source Editor Extension does not meet code signing requirement: me.ocean.XcodeExt.XcodeExtTest ((null)), Error Domain=DVTSecErrorDomain Code=-67050 "code failed to satisfy specified code requirement(s)" UserInfo={NSLocalizedDescription=code failed to satisfy specified code requirement(s)}
复制代码

这里还有一个诡异的错误代码4097, 但我clean了一下工程以后就消失了, 你们注意注意.

Hub connection error Error Domain=NSCocoaErrorDomain Code=4097
复制代码

代码代码!!!

这里我就随手写两句代码好了, Xcode的扩展仍是靠各位大神去发挥想象, 我之后再掺和咯.

XCSourceTextBuffer *textBuffer = invocation.buffer;
    XCSourceTextRange *insertPointRange = textBuffer.selections[0];
    
    NSInteger startLine = insertPointRange.start.line;
    
    [textBuffer.lines insertObject:@"这是什么鬼👻" atIndex:startLine];
复制代码

运行

一切就绪以后, 咱们就运行, 而后选择为Xcode添加插件:

8

等待运行完成以后, 会弹出一个灰色的Xcode:

9

这时不用理会, 咱们回到正常的Xcode, 而后找到Editor, 点击它, 咱们就会发现插件在这里啦:

10

但这里多说一句, 当咱们中止运行以后, 插件又会不见了的, 这个须要你们自行去打包而后发布出来~~这里就很少说了, 详细你们去参考XAlign


工程地址

项目地址: https://github.com/CainRun/iOS-10-Characteristic/tree/master/3.Xcode%20Extensions


最后

码字很费脑, 看官赏点饭钱可好

微信

支付宝
相关文章
相关标签/搜索