2011-03-21 6 views
6

LSUIElement를 사용하여 도우미 응용 프로그램을 Mac App Store에 제출했습니다. App Store 설치 프로세스가 도우미 응용 프로그램 용 도크 아이콘을 넣을 것이라는 잘못된 인상을 받았습니다.(이동식) 도킹 아이콘이있는 도우미 응용 프로그램 (LSUIElement)을 만드는 방법

상태 표시 줄 앱이 인기있는 앱 인 카페인과 같이 독립적으로 실행되는 동안 사용자가 제거 할 수있는 독 아이콘을 만들려면 어떻게해야합니까? LSUIElement 앱을로드하는 non-LSUIElement 앱을 만들어야합니까, 아니면 더 좋은 방법이 있습니까?

답변

1

명백히 나는 (내 두 사람이 실제로) 내 앱 리뷰어에 의해 잘못 알고 있었다. 도크 아이콘 은 설치 과정에서 생성 한입니다. 이슈를 누르면 리뷰 과정을 통해 앱을 얻을 수있었습니다.

+0

이제 Dock에 아이콘이 생성되지 않은 Lion에서는 LaunchPad에서만 다르게 동작합니다. – akaru

18

LSUIElement를 사용하는 대신 NSApplication의 setActivationPolicy: 메서드를 사용하십시오. 기본적으로 응용 프로그램에는 도크 아이콘이 있지만 활성화 정책을 NSApplicationActivationPolicyAccessory으로 변경하면 프로그래밍 방식으로 변경할 수있는 동시에 LSUIElement와 동일한 효과를 얻습니다 (NSApplicationActivationPolicyAccessory에 대한 설명서에서 LSUIElement = 1과 동일 함).

- (void)applicationDidFinishLaunching:(NSApplication *)app { 
    if([[NSUserDefaults standardUserDefaults] boolForKey:@"HideDockIcon"]) 
     [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]; 
} 
+0

앱을 실행하는 동안 사용자가 도크에서 아이콘을 제거 할 수 있도록 허용 하시겠습니까? – akaru

+0

네, 변경할 때마다 setActivationPolicy :를 호출하면됩니다. – ughoavgfhw

+7

-1 : doc에서 "현재 NSApplicationActivationPolicyNone' 및 NSApplicationActivationPolicyAccessory는 NSApplicationActivationPolicyRegular로 변경할 수 있지만 다른 수정은 지원되지 않습니다." – Richard

관련 문제