Mountain lion 알림 센터에 알림 보내기
누군가 Cocoa 앱에서 알림 센터로 테스트 알림을 보내는 예제를 줄 수 있습니까? 예. 클릭하면NSButton
Mountain Lion의 알림은 두 클래스에서 처리됩니다. NSUserNotification
및 NSUserNotificationCenter
. NSUserNotification
실제 알림이며 속성을 통해 설정할 수있는 제목, 메시지 등이 있습니다. 생성 한 알림을 전달하려면 deliverNotification:
NSUserNotificationCenter에서 사용 가능한 방법을 사용할 수 있습니다. Apple 문서에는 NSUserNotification 및 NSUserNotificationCenter 에 대한 자세한 정보가 있지만 알림을 게시하는 기본 코드는 다음과 같습니다.
- (IBAction)showNotification:(id)sender{
NSUserNotification *notification = [[NSUserNotification alloc] init];
notification.title = @"Hello, World!";
notification.informativeText = @"A notification";
notification.soundName = NSUserNotificationDefaultSoundName;
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
[notification release];
}
제목, 메시지가 포함 된 알림이 생성되고 표시 될 때 기본 사운드가 재생됩니다. 알림을 사용하여 할 수있는 작업은 이것뿐입니다 (예 : 알림 예약). 자세한 내용은 제가 링크 한 문서에 설명되어 있습니다.
한 가지 작은 점, 알림은 애플리케이션이 핵심 애플리케이션 인 경우에만 표시됩니다. 애플리케이션이 키인지 여부에 관계없이 알림을 표시하려면 YES를 반환하도록 NSUserNotificationCenter
델리게이트 메서드 를 지정 하고 재정의 userNotificationCenter:shouldPresentNotification:
해야합니다. 에 대한 문서는 여기NSUserNotificationCenterDelegate
에서 찾을 수 있습니다 .
다음은 NSUserNotificationCenter에 델리게이트를 제공 한 다음 애플리케이션이 키인지 여부에 관계없이 알림이 강제로 표시되도록하는 예제입니다. 애플리케이션의 AppDelegate.m 파일에서 다음과 같이 편집하십시오.
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self];
}
- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification{
return YES;
}
그리고 AppDelegate.h에서 클래스가 NSUserNotificationCenterDelegate 프로토콜을 준수 함을 선언합니다.
@interface AppDelegate : NSObject <NSApplicationDelegate, NSUserNotificationCenterDelegate>
참조 URL : https://stackoverflow.com/questions/11814903/send-notification-to-mountain-lion-notification-center
'IT story' 카테고리의 다른 글
IE11의 Flexbox : 이유없이 이미지가 늘어 났습니까? (0) | 2020.12.28 |
---|---|
'\\? \ 파일에서 구성 데이터를 읽으려는'구성 파일을 읽을 수 없습니다. (0) | 2020.12.28 |
SQL 내부 조인 둘 이상의 테이블 (0) | 2020.12.28 |
부트 스트랩 3 : 작은 화면 크기에서만 열 밀기 / 당기기 (0) | 2020.12.28 |
nodejs의 폴더 아래에 * .html 확장자로 파일 찾기 (0) | 2020.12.28 |