创建一个Xcode 8 插件——Source Editor Extensions
来源:互联网 发布:tcp udp端口 编辑:程序博客网 时间:2024/05/17 18:18
步骤
- 创建一个macOS下的Cocoa Application工程,作为插件的母体: Command+shift+N -> macOS CocoaApplication
- 在这个Mac工程中添加一个target(Xcode Souce Editor Extension):File->New->Target->选择macOS Xcode Souce Editor Extension。 起一个插件名字,此时弹出是否启用此Target的Scheme对话框,点击Activate按钮启用。
- 在插件target中,SourceEditorCommand文件中进行逻辑开发。
- 测试插件的时候,一定要配置签名,application工程和插件签名一致,否则不显示插件按钮。
- 将scheme切换为插件,Command+R运行插件,在弹出框中选择xcode,点击运行Run。Dock中出现一个黑色的Xcode。
- 这样就可以随意打开一个项目,进行插件测试了。Editor->最下行有自定义的插件,选择进行插件使用。
开发插件
SourceEditorExtension.h/.m
SourceEditorExtension和插件的生命周期,配置有关
/*- (void)extensionDidFinishLaunching{//是指刚刚加载好插件但还未点击插件按钮时,可以执行某些准备工作。*//*- (NSArray <NSDictionary <XCSourceEditorCommandDefinitionKey, id> *> *)commandDefinitions{//变量commandDefinitions返回字典类型的数组,可以为每个插件重写名字、标识符和自定义类名等信息,相当于设置Info.plist文件中对应的XCSourceEditorCommandName、XCSourceEditorCommandIdentifier和XCSourceEditorCommandClassName信息。return @[];}*/
SourceEditorCommand.h/.m
实现了XCSourceEditorCommand协议中的perform方法,点击插件按钮所执行的具体逻辑就是在这个方法中完成。
- (void)performCommandWithInvocation:(XCSourceEditorCommandInvocation *)invocation completionHandler:(void (^)(NSError * _Nullable nilOrError))completionHandler{// Implement your command here, invoking the completion handler when done. Pass it nil on success, and an NSError on failure.completionHandler(nil);}
- Info.plist
Info.plist 其中,每个插件的名字、标识符和自定义类名分别对应XCSourceEditorCommandName、XCSourceEditorCommandIdentifier和XCSourceEditorCommandClassName信息。 XCSourceEditorExtensionPrincipalClass对应插件的默认实现类:SourceEditorExtension。
阅读全文
0 0
- 创建一个Xcode 8 插件——Source Editor Extensions
- 使用 Xcode Source Editor Extension开发Xcode 8 插件
- 第一章 创建一个GEF Editor插件
- xcode8插件收集 Awesome native Xcode extensions
- XCode 7.2 swift2.x Editor placeholder in source code
- 怎样创建一个xcode插件 第一部分/3部分
- 怎样创建一个Xcode插件(part 1)
- [翻译]怎样创建一个Xcode插件(part 1)
- [翻译]怎样创建一个Xcode插件(part 1)
- 怎样创建一个xcode插件 第2部分/3部分
- 如何创建Xcode插件
- 一个Xcode插件
- Xcode 创建一个pch
- 发现一个比较好的source editor软件
- 分享一个xcode小插件,KSImageNamed-Xcode
- 分享一个xcode小插件,KSImageNamed-Xcode
- 属性文件编辑器插件——Properties Editor
- Eclipse插件安装与使用 —— Properties Editor
- 【面试题】剑指offer20--顺时针打印一个矩阵的数字
- zookeeper和dubbo的关系
- SDUT-1250 统计元音
- 在服务器上安装jenkins
- ThinkPHP5.0图片上传
- 创建一个Xcode 8 插件——Source Editor Extensions
- Linux opencv 安装与删除
- ubuntu14.04远程桌面(安装vnc, winscp传输文件)
- VMware虚拟机实现linux系统与windows系统的复制粘贴
- 工厂模式
- WEBRTC核心技术穿透
- 深度优先-Leetcode46 全排列
- ImportError: No module named caffe.proto解决办法
- 递归详解(斐波拉契和汉诺塔应用)