(713) iOS 로컬 푸시 알림의 실현
① iOS8 이상 버전의 경우 로컬 알림을 등록해야 사용할 수 있으며, 일반적으로 AppDelegate에 등록되어 있습니다.
if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil];
[application registerUserNotificationSettings:settings];
}
그 중에서 settingsForTypes는 일련의 병렬할 수 있는 매개 변수이다. 실현 원리는 여러 개의 이진 비트가 여러 가지 기능을 나타내고 각 기능이 서로 다른 위치에 있으면 각 비트나 상응하는 비트가 1로 설정되어 기능을 켜는 것이다. 여기서 켜는 것은 Alert 알림과 소리 알림이다.categories는 NSSet으로 정부에서 제시한 설명은 알림에 포함된 일련의 행위로 일반적으로 nil을 쓰면 된다.
② 알림을 보내려면alertBody(메시지체),fireDate(발송 시간),soundName(알림음, 일반적으로default)을 설정해야 합니다.
마지막으로 UIAPplication 예제를 사용하여 scheduleLocalNotification 메소드를 호출하여 알림을 보냅니다.
4
UILocalNotification *localNoti = [[UILocalNotification alloc] init];
localNoti.alertBody = [NSString stringWithFormat:@"%@:%@",message.fromStr,message.body];
localNoti.fireDate = [NSDate date];
localNoti.soundName = @"default";
[[UIApplication sharedApplication] scheduleLocalNotification:localNoti];
일반적인 알림은 백그라운드에 적용될 때 발송되기 때문에 발송하기 전에 백그라운드 여부를 판단해야 한다. 판단 방법은 다음과 같다.[UIApplication sharedApplication].applicationState != UIApplicationStateActive
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.