美文网首页Bug上架
Xcode插件开发入门

Xcode插件开发入门

作者: b485c88ab697 | 来源:发表于2016-06-07 17:02 被阅读205次

插件开发

插件的简介

  • Xcode插件,必须是与Xcode是同一个级别的应用,也就是必须也是mac OS APP
  • 改变Xcode常规的操作被称为插件
  • Xcode著名的插件文档注释,颜色提示,图片选择等等...

插件的开发步骤

  • 需要配置项目中的pist文件
  • 需要修改和添加plist文件只中的多处
  • 操作繁琐,步骤麻烦
  • 这时候,有一个专门用来开发插件的插件Xcode Plugin

插件

  • 在新建项目中的OS X中多了一个Xcode Plugin模板
  • 选择模板中的Xcode Plugin进行开发

模板分析

- (id)initWithBundle:(NSBundle *)plugin
{
    if (self = [super init]) {
        // reference to plugin's bundle, for resource access
        // 应用插件的资源包,用于资源访问
        // 在NSObject_Extension中初始化的时候设置
        self.bundle = plugin;
        // 发送Xcode程序启动的通知
        // 调用didApplicationFinishLaunchingNotification方法
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(didApplicationFinishLaunchingNotification:)
                                                     name:NSApplicationDidFinishLaunchingNotification
                                                   object:nil];
    }
    return self;
}
  • 获取到启动Xcode的通知调用
/**
 *  当Xcode启动的时候调用
 *
 */
- (void)didApplicationFinishLaunchingNotification:(NSNotification*)noti
{
    // 接收到通知后移除通知
    [[NSNotificationCenter defaultCenter] removeObserver:self name:NSApplicationDidFinishLaunchingNotification object:nil];
    
    // 获取到Edit菜单
    NSMenuItem *menuItem = [[NSApp mainMenu] itemWithTitle:@"Edit"];
    if (menuItem) {
        // 添加一条分割线
        [[menuItem submenu] addItem:[NSMenuItem separatorItem]];
        // 创建一个菜单项目
        // 设置菜单项目的点击事件
        NSMenuItem *actionMenuItem = [[NSMenuItem alloc] initWithTitle:@"Do Action" action:@selector(doMenuAction:) keyEquivalent:@""];
        // 将事件交给当前类处理
        [actionMenuItem setTarget:self];
        // 添加子标题
        [[menuItem submenu] addItem:actionMenuItem];
    }
}
  • 点击菜单上的Edit中的Do Action按钮调用
// 弹出弹框
- (void)doMenuAction:(NSMenuItem *)item
{
    
    NSLog(@"=====%@   item = %@",item.keyEquivalent,item);
    NSAlert *alert = [[NSAlert alloc] init];
    [alert setMessageText:[NSString stringWithFormat:@"Hello, World%@",item.keyEquivalent]];
    [alert runModal];
}

满地打滚卖萌求赞,如果本文帮助到你,轻点下方的红心,给作者君增加更新的动力。

相关文章

  • xcode7 插件制作入门

    xcode7 插件制作入门 xcode7 插件制作入门

  • Xcode插件开发入门

    背景 需要为ShareSDK(mob.com的产品)开发一个注释国际化的工具,开发者可以使用这个工具随时编辑、替换...

  • Xcode插件开发入门

    插件开发 插件的简介 Xcode插件,必须是与Xcode是同一个级别的应用,也就是必须也是mac OS APP 改...

  • iOS开发必备的Xcode插件(2)

    iOS开发必备的Xcode插件(2) iOS开发必备的Xcode插件(2)

  • Xcode13 plugin插件开发

    网上找的Xcode插件开发基本都是3年前的,所以这里自己记录一个基于xcode13的插件开发。 打开xcode创建...

  • iOS项目实战02

    修改插件:查找插件 -> 插件路径(不能记) -> Xcode插件开发 -> 查看插件代码 -> 搜索instal...

  • Xcode代码块注释小插件/** */

    在Xcode8.0以上,xcode提供了Xcode Source Editor Extension来开发插件。 X...

  • X-code插件管理器Alcatraz的安装

    Alcatraz是由国外开发者开发的一款Xcode插件管理器,它可以搜索并管理各种Xcode插件,实用性很高.本文...

  • iOS开发常用之其他

    Xcode的插件 iOS开发进阶,从Xcode开始 - 学习使用Xcode构建出色的应用程序! 在Xcode启动...

  • Xcode插件

    Xcode插件: MMNavigatorFont:一个 Xcode 插件开发的教程,从目标开始到最终效果一步步为我...

网友评论

    本文标题:Xcode插件开发入门

    本文链接:https://www.haomeiwen.com/subject/wcnddttx.html