iOS 클릭 푸 시 메시지 건 너 뛰 기 처리
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
launchOptions 메시지 전송 userInfo 메시지 가 있 습 니 다.이 때 저 희 는 통과 할 수 있 습 니 다.
NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
푸 시 메시지 내용 을 얻 었 습 니 다.reoteNotification 이 비어 있 지 않 으 면 사용자 가 푸 시 메 시 지 를 통 해 들 어 온 다 는 것 을 설명 합 니 다.속성 을 설명 할 수 있 습 니 다.
@property (nonatomic) BOOL isLaunchedByNotification;
사용자 가 알림 메 시 지 를 클릭 하여 본 응용 프로그램 에 들 어 갈 지 여 부 를 표시 하 는 데 사용 합 니 다.이때
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
반드시 호출 됩 니 다.iOS 7 사용 가능
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
이 방법 이 호출 되 었 을 때 MainViewController 가 초기 화 되 었 기 때문에 저 희 는 MainViewController 에 추 송 된 메시지 의 감청 을 등록 하여 해당 하 는 보 기 를 보 여 드릴 수 있 습 니 다.다음 과 같 습 니 다.
// ,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentView:) name:@"PresentView" object:nil];// 。 ,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNotification:) name:@"Notification" object:nil];
그래서 AppDelegate 의 didReceiveRemote Notification 에서 isLaunched ByNotification 을 판단 하여 서로 다른 전시 방법 을 알려 줄 수 있 습 니 다.뇌 는 푸 시 가 왔 을 때 진동 소 리 를 멈 추 지 않 는 코드 를 재생 합 니 다.(음악 을 재생 하 는 것 이 아 닙 니 다)
우선 헤더 파일 포함
#import <AudioToolbox/AudioToolbox.h>
소 리 를 등록 합 니 다(이 예 에서 기본 1007 을 직접 사용 합 니 다)
@property (nonatomic, assign) SystemSoundID soundID;
NSString *path = [[NSBundle mainBundle] pathForResource:soundName ofType:nil];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &_soundID);
AudioServicesAddSystemSoundCompletion(_soundID, NULL, NULL, soundCompleteCallback, NULL); //
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(_soundID);
// block AudioServicesAddSystemSoundCompletion(_soundID, NULL, NULL, soundCompleteCallback, NULL);
void soundCompleteCallback(SystemSoundID soundID,void * clientData)
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(soundID);
}
//
-(void)stopAlertSoundWithSoundID:(SystemSoundID)soundID
{
AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);
AudioServicesDisposeSystemSoundID(soundID);
AudioServicesRemoveSystemSoundCompletion(soundID);
}
이상 의 내용 은 편집장 님 께 서 소개 해 주신 iOS 클릭 푸 시 메시지 점프 처리 에 관 한 내용 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.