2012-04-05 5 views
1

창없는 응용 프로그램을 만들고 싶습니다. 문제는 내가 가끔 경고 상자를 보여주는 프레임 워크를 사용하고 있으며 (적어도 충돌이 발생하지 않는 한)이를 막을 수는 없다는 것입니다.창이 열리지 못하게 함 (창없는 응용 프로그램)

LSBackgroundOnly을 info.plist 앱 파일에 1로 설정했지만 작동하지 않는 것 같습니다. 내가 여기에 뭔가 빠졌을 가능성이 있습니다 (아마도 내가 설정해야하는 다른 설정 일 수도 있습니다)?

는 또한 NSWindow에 대한 범주를 만드는 시도했다 :

  1. 덮어 쓰기 allocallocWithZone:을 그래서 윈도우가 생성되지 가져옵니다. 일부 상황에서는 작동하지만 모달 세션을 시작하면 예외가 발생합니다 (021 매개 변수를 beginModalSessionForWindow:에 전송하기 때문에).

  2. 는 NSApplication의 beginModalSessionForWindow:을 덮어 시도 및 전무 매번 ​​반환하지만,이 어딘가에 프레임 워크 EXC_BADACCESS하는 리드 (runModalSession:endModalSession:도 덮어했지만, 충돌은 그 중 하나가 호출되기 전에)입니다.

다른 아이디어를 환영합니다.

도움이되는 경우, 사용하고있는 프레임 워크가 Twain.Framework입니다. 대신 누군가가 트윈에서 모든 UI를 차단하는 방법을 알고 있다면 (이 경우 장치가 연결되어 있지 않은 경우 오류 경고가 표시됩니다) 네가 공유하면 좋겠다.

+0

저는 iPhone 개발에 익숙하지 않습니다. & 'Views Prog Guide'를 읽었습니다. 애플은 '각각의 앱에는 적어도 하나의 창문이있다. 그래서 창없는 앱을 만드는 방법.? Pls 내 기본을 지우 .. plsss .... –

+1

@hpiOSCoder 혼란에 죄송합니다. osx 태그를 추가했습니다. 응용 프로그램은 Mac 용으로 제작되었습니다. –

+0

okk. 나는 그러한 생각을 구현하는 것에 대해 정말로 궁금하고 호기심이 많았다. 업데이트 주셔서 감사합니다 –

답변

0

나는 창을 만들지 못했습니다. (일부 창은 계속 표시되지만 적어도 보이지는 않으며 자동으로 닫힙니다.) 나는 모달 창 (modal windows)을 처리했다.

  1. 나는, NSWindow에 대한 범주를 만든 모든 창은 눈에 보이지 않는, 그리고 키 또는 메인 윈도우가 될 수 있도록 :

    -(BOOL)canBecomeKeyWindow{ 
        [self setOpaque:NO]; 
        self.alphaValue = 0; 
        return NO; 
    } 
    -(BOOL)canBecomeMainWindow{ 
        [self setOpaque:NO]; 
        self.alphaValue = 0; 
        return NO; 
    } 
    
  2. 서브 클래스 NSApplication :

    -(NSInteger)runModalForWindow:(NSWindow *)aWindow{ 
        return NSCancelButton; 
    } 
    -(NSModalSession)beginModalSessionForWindow:(NSWindow *)aWindow{ 
        NSModalSession session = [super beginModalSessionForWindow:aWindow]; 
        [aWindow performSelector:@selector(close) withObject:nil afterDelay:1]; 
        return session; 
    } 
    

그러나 이것은별로 도움이되지 못했습니다. runModalForWindow:의 경우 창 소유자가 응답을 받았기 때문에 모든 것이 잘되었습니다. beginModalSessionForWindow:의 경우 응용 프로그램이 작동하지 않는 경우가 대부분이었습니다. 창 소유자가 절대로받은 적이없는 특정 이벤트 (예 : 버튼 클릭)를 기다리고 있었기 때문일 것입니다.

0

당신이 바라는 것이 명확하지 않습니다. 일반적으로 창을 표시하지 않지만 타사 프레임 워크에서 경고를 표시하도록 허용하는 앱을 원하십니까? 아니면 당신의 앱이 절대적으로 에 창문이 없도록 프레임 워크가 경고를 표시하지 못하도록하는 방법을 찾고 싶습니까?

이전 버전 인 경우 LSUIElement를 찾고있을 수 있습니다. 일부 UI 요소가있을 수 있지만 Dock 또는 Command-Tab 응용 프로그램 전환기에는 표시되지 않고 메뉴 모음이없는 앱입니다.

+0

답변 해 주셔서 감사합니다. 애플리케이션에 UI가 전혀 표시되지 않도록하고 싶습니다. –

관련 문제