本地推送(ios8以上)

2016-06-11  本文已影响140人  i大猫哥
  1. 首先在appDelegate中注册权限
    <p>注册本地推送权限</p>

<pre><code>
` - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

if (launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]) {
    // 进入该方法说明是应用程序被杀死的情况下通过点击本地通知进入的该方法
    // 如果应用程序没有被杀死,通过点击本地通知只会进入didReceiveLocalNotification方法
    
// 在IOS8中必须注册本地通知
if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0) {
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
    
    [application registerUserNotificationSettings:settings];
}

}

return YES;

}

/**

2.ViewController中初始化本地推送对象,界面点击时候,触发本地推送5秒后执行。

<p>初始化本地推送对象</p>

<pre><code>
` - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//[self setLocalNotice1];
[self setLocalNotice2];
}

-(void)setLocalNotice1
{
// 1.创建本地推送通知对象
UILocalNotification *localNote = [[UILocalNotification alloc] init];

// 2.设置本地推送通知内容(下面两个是必填参数)
// 2.1设置通知发出时间(触发后5秒钟后发出通知)
localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:2.0];
// 2.2 设置通知的内容
localNote.alertBody = @"吃饭了吗";
// 设置有通知的提醒声音
// 这个是设置系统默认声音
localNote.soundName = UILocalNotificationDefaultSoundName;
// 这个是设置自定义声音
localNote.soundName = @"sound.caf";
// 通过点击通知进入应用的时候是否显示启动图标(注意:这里的启动图片名称随便写)
localNote.alertLaunchImage = @"这里随便写";

// 3.调用通知
[[UIApplication sharedApplication] scheduleLocalNotification:localNote];

}

-(void)setLocalNotice2
{
// 1.创建一个本地通知
UILocalNotification *localNote = [[UILocalNotification alloc] init];

// 1.1.设置通知发出的时间
localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];

// 1.2.设置通知内容
localNote.alertBody = @"这是一个推送这是一个推送";

// 1.3.设置锁屏时,字体下方显示的一个文字
localNote.alertAction = @"赶紧!!!!!";
localNote.hasAction = YES;

// 1.4.设置启动图片(通过通知打开的)
localNote.alertLaunchImage = @"../Documents/IMG_0024.jpg";

// 1.5.设置通过到来的声音
localNote.soundName = UILocalNotificationDefaultSoundName;

// 1.6.设置应用图标左上角显示的数字
localNote.applicationIconBadgeNumber = 999;

// 1.7.设置一些额外的信息
localNote.userInfo = @{@"qq" : @"704711253", @"msg" : @"success"};

// 2.执行通知
[[UIApplication sharedApplication] scheduleLocalNotification:localNote];

}`
</code>
</pre>

参考网上资料,自己用xcode运行跑了一遍。做出以上内容,以后用到的时候能快速找到。

上一篇下一篇

猜你喜欢

热点阅读