iOS click the push message to jump processing
- 2020-06-01 11:01:46
- OfStack
When the user clicks the notification message to enter the application
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
launchOptions
There will be the userInfo information of the push message in ". "at this time, we can pass it
NSDictionary* remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
Get the push content. If remoteNotification is not empty, that means that the user entered via a push message, then one property can be declared
@property (nonatomic) BOOL isLaunchedByNotification;
Used to identify whether the user enters the application by clicking the notification message. At this point,
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
1 is bound to be called, and iOS7 is available
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Since MainViewController has already been initialized when this method is called, we can register the push message listener at MainViewController to display the corresponding view, as follows:
// Subscribing to the display view message opens a branch view directly
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(presentView:) name:@"PresentView" object:nil];// A message box pops up to prompt the user for a subscription notification message. It is mainly used for users to pop up the prompt box when using the application
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNotification:) name:@"Notification" object:nil];
Therefore, in AppDelegate's didReceiveRemoteNotification, different presentation methods can be notified by judging isLaunchedByNotification.
Imagine playing the code that vibrates without stopping when a push comes (not playing music).
The header file is included first
#import <AudioToolbox/AudioToolbox.h>
Register 1 sound (use default 1007 in this example)
@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); // The core code Repeatable execution
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(_soundID);
// block Used for AudioServicesAddSystemSoundCompletion(_soundID, NULL, NULL, soundCompleteCallback, NULL); A function call
void soundCompleteCallback(SystemSoundID soundID,void * clientData)
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(soundID);
}
// Stop playing
-(void)stopAlertSoundWithSoundID:(SystemSoundID)soundID
{
AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);
AudioServicesDisposeSystemSoundID(soundID);
AudioServicesRemoveSystemSoundCompletion(soundID);
}
The above content is iOS which this site introduces to you. I hope it can help you!