Xcode 플러그인 개발 시작

2435 단어
플러그인 개발
플러그인 소개
  • Xcode 플러그인은 Xcode와 같은 수준의 응용이어야 한다. 즉, 반드시 맥 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];
    }
    

    땅바닥에 뒹굴며 애교를 부리며 칭찬을 구한다. 만약에 본고가 당신에게 도움이 된다면 아래의 붉은 마음을 가볍게 눌러서 작가군에게 갱신의 동력을 증가시킨다.

    좋은 웹페이지 즐겨찾기