文章分享至个人我的技术博客: https://cainluo.github.io/14972357977664.htmlhtml
作macOS
, watchOS
, tvOS
, iOS
开发, 最离不开的工具就是Xcode
, 但Xcode
真的让咱们又爱又恨, 虽然有不少强大的功能, 但细节方面真的很难Care
到, 因而乎Alcatraz诞生了, 在当时火的不要不要的, 只要是老司机都会装一个.git
但如今苹果爸爸貌似看到了开发者的需求, 因此如今给Xcode
加了一个功能, 就是Xcode Extension
.github
严格来讲这不是iOS
的东西, 但又刚恰好是随着iOS 10
一块儿出来的, 想了想, 仍是集合在这里吧.vim
这里咱们须要建立的是macOS
的项目:微信
而后在项目的General
里找到添加Extension
的选项:工具
选择Xcode Editor Extension
:ui
这就是Xcode Extension
啦:spa
顺便说说, 我在这个info.plist
改了一下参数:插件
这里有一个小坑, 注意要给咱们Xcode Extension
申请一个证书, 两边都要申请哦.3d
否则就会报-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
添加插件:
等待运行完成以后, 会弹出一个灰色的Xcode
:
这时不用理会, 咱们回到正常的Xcode
, 而后找到Editor
, 点击它, 咱们就会发现插件在这里啦:
但这里多说一句, 当咱们中止运行以后, 插件又会不见了的, 这个须要你们自行去打包而后发布出来~~这里就很少说了, 详细你们去参考XAlign吧
项目地址: https://github.com/CainRun/iOS-10-Characteristic/tree/master/3.Xcode%20Extensions