展开

关键词

iOS 本地通知

这个本地通知就可以做到。 先说明一下我的解决思路:在AppDelegate里面写 1,当用户退出app时创建一个通知,一定时间后调用,比如10秒。 //进入后台响应的方法 - (void)applicationDidEnterBackground:(UIApplication *)application { // 初始化本地通知对象 *currentDate = [NSDate date]; notification.timeZone = [NSTimeZone defaultTimeZone]; // 使用本地时区 原因:当你第一次退出程序,就会创建一个通知a,10秒后推送,如果在这10秒内,重新登录退出又会创建 新的通知b,那么我们会连续收到两个通知。 为了避免重复,在通知a时间还没有到情况下登录app我们就取消通知a,退出时创建通知b。

63450

推送-iOS本地通知

通知iOS操作系统层面上的功能,说白了就是iPhone上的通知条,通知中心等,App来了一条通知,系统来了升级通知,待办事项来了一条通知,这里的通知指的是iOS操作系统内的一个功能,更多体现在UI、交互 iOS10的通知新功能,用户体验的提升和开发者能够发挥的地方非常多,使得iOS更具有竞争力。 源码实现iOS8-iOS10的本地通知 这里必须说一下iOS8-iOS10的本地通知iOS10以后的不一样,在应用在前台时是不会有横幅或者弹框提示的,只会触发代理方法,想要展示本地通知,需要把应用切换到后台 本地通知效果图 源码实现iOS10以后的本地通知 iOS10以后不论应用在前台或者在后台,都可以展示本地通知。 ]; } } /** * 描述 使用 UNNotification 本地通知(iOS 10) * @param alerTime 多长时间后进行推送 **/ -(void)registerNotification

2.1K30
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS开发--本地通知与远程通知

    这里是指推送通知跟NSNotification有区别: 1、NSNotification是系统内部发出通知,一般用于内部事件的监听,或者状态的改变等等,是不可见的 2、本地通知与远程通知是可见的,主要用于告知用户或者发送一些 Paste_Image.png iOS常用通知 1、本地推送通知:(Local Notification) 2、远程推送通知:(Remote Notification) iOS通知呈现效果(5) 1. Paste_Image.png 通知的注意点 1、App在前台运行的时候,通知不会展示出来 2、点击通知,默认会自动打开推送通知的App 3、不管App是否打开,通知都可以如期发出 1、本地推送通知 @property(nonatomic,copy) NSDictionary *userInfo; 如何发出本地通知: // 1.创建本地通知 UILocalNotification *localNote sharedApplication] scheduleLocalNotification:localNote]; } 使用注意: iOS7,不需要用户授权就可发出通知,而iOS8以后,必须用户授权才可以发出通知

    1.4K20

    iOS 闹钟功能实现+本地通知+音频播放

    如果设置好了闹钟,没有停在该页面,而是返回了手机主屏幕或是手机锁屏,当到了闹钟设定的时间,会弹出消息通知。(如果设定的时间是已经过去的时间,页面不会有响应,直到设置正确的时间为止.) ];    //准备工作         //[_player stop];       //卡一下         [_player play];    //开始播放         // 1 注册通知 * dic= local.userInfo;             if ([dic[@"name"] isEqual:@"zhangsan"]) {                 //删除指定的通知                 [app cancelLocalNotification:local];             }         }         //删除所有通知         )(self.lt)/3600%24,(int)(self.lt)/60%60,(int)(self.lt)%60];     _label.text=str; } #pragma mark - 增加本地通知

    35140

    iOS 闹钟功能实现+本地通知+音频播放

    如果设置好了闹钟,没有停在该页面,而是返回了手机主屏幕或是手机锁屏,当到了闹钟设定的时间,会弹出消息通知。(如果设定的时间是已经过去的时间,页面不会有响应,直到设置正确的时间为止.) ];    //准备工作         //[_player stop];       //卡一下         [_player play];    //开始播放         // 1 注册通知 * dic= local.userInfo;             if ([dic[@"name"] isEqual:@"zhangsan"]) {                 //删除指定的通知                 [app cancelLocalNotification:local];             }         }         //删除所有通知         )(self.lt)/3600%24,(int)(self.lt)/60%60,(int)(self.lt)%60];     _label.text=str; } #pragma mark - 增加本地通知

    31900

    iOS 10前后两种本地通知

    通知大家都不陌生,其实通知分两种,远程通知本地通知。 远程通知是指服务器发出的通知,通过苹果的推送然后到达用户设备。 这里我定时不断发送通知,每次收到通知都添加到列表中,点击列表可以复制通知内容。 对于本地通知iOS 10以前和以后分两种实现方式,这里都放出来。 我们可以定义一个方法来发通知: #import <UserNotifications/UserNotifications.h> …… /** iOS 10以后的本地通知 */ - (void)addlocalNotificationForNewVersion 前台收到远程通知:%@", body); } else { // 判断为本地通知 NSLog(@"iOS10 前台收到本地通知:{\\\\nbody : /** iOS 10以前版本添加本地通知 */ - (void)addLocalNotificationForOldVersion { //定义本地通知对象 UILocalNotification

    18020

    iOS15 发送本地通知(附带声音)无法播报

    问题 iOS12.1之后利用本地推送实现消息的语音播报,在iOS15 没有声音。 iOS15版本下,配置UNNotificationSound来替换UNNotificationRequest声音,会出现没法播报问题 原因 iOS15本地推送新增了中断级别属性 interruptionLevel ,对通知进行了分级 。 而且通知的内容不能为空。 解决方案 使用非Passive的中断级别进行本地通知才会有声音,且本地推送一定要有内容,即body不能为空。 trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:0.01 repeats:NO]; /* */ //添加通知的标识符

    69040

    iOS15 发送本地通知(附带声音)无法播报

    问题 iOS12.1之后利用本地推送实现消息的语音播报,在iOS15 没有声音。 iOS15版本下,配置UNNotificationSound来替换UNNotificationRequest声音,会出现没法播报问题 原因 iOS15本地推送新增了中断级别属性 interruptionLevel ,对通知进行了分级 。 而且通知的内容不能为空。 解决方案 使用非Passive的中断级别进行本地通知才会有声音,且本地推送一定要有内容,即body不能为空。 trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:0.01 repeats:NO]; /* */ //添加通知的标识符

    31820

    iOS 设置每天下午4点推送本地通知

    =nil) {//判断系统是否支持本地通知 notification.fireDate = [NSDate dateWithTimeIntervalSince1970:16*60*60* 24];//本次开启立即执行的周期 notification.repeatInterval=kCFCalendarUnitWeekday;//循环通知的周期 notification.timeZone notification.applicationIconBadgeNumber=0; //应用程序的右上角小数字 notification.soundName= UILocalNotificationDefaultSoundName;//本地通知的声音

    13920

    iOS15适配本地通知功能及语音播报探索

    设置本地通知不弹出横幅(iOS15失效了无法设置) title和body都设置为空,或者注册通知的时候不启用UNAuthorizationOptionAlert,还要注意的是拓展里面需要设置一下本地化 : iOS15以上的新增属性 interruptionLevel为枚UNNotificationInterruptionLevel 需求:利用本地推送实现消息的语音播报(在扩展里面发本地通知,最后的接收方是主程序 ) 扩展在收到通知之后 -> 合成音频 -> 存储到扩展的对应路径 -> 扩展自己给自己发一个本地通知那个通知的sound设置成合成文件 iOS15之前的实现思路: 将你想要播放的音频拆分,放到主程序的包里 利用Service Extension,在收到服务端的推送的时候,按照顺序发送本地通知 本地通知的sound就是对应的音频拆分 问题:iOS12.1之后利用本地推送实现消息的语音播报,在iOS15 没有声音 kunnan.blog.csdn.net/article/det… 原因: iOS15本地推送新增了中断级别属性 interruptionLevel,对通知进行了分级 。而且通知的内容不能为空。

    88230

    iOS14开发- 通知

    iOS 中的通知主要分为 2 种,本地通知和远程通知本地通知 使用步骤 导入UserNotifications模块。 申请权限。 指定本地通知触发条件,有 3 种触发方式: (1)UNTimeIntervalNotificationTrigger:一段时间后触发。 中创建一个 Apple Push Notification service SSL (Sandbox & Production) 的 APNs 证书并关联第一步中的 App IDs,然后将证书下载到本地安装 booted developer.yf.TestUIKit /Users/yangfan/Desktop/playload.json 模拟器测试—使用APNS文件 另一种方法是将 APNs 文件直接拖到 iOS UNUserNotificationCenter.current().delegate = notificationHandler return true } } 角标设置 不论是本地还是远程通知

    16320

    iOS中使用本地通知为你的APP添加提示用户功能

    iOS中使用本地通知为你的APP添加提示用户功能 首先,我们先要明白一个概念,这里的本地通知是UILocalNotification类,和系统的NSNotificationCenter通知中心是完全不同的概念 一、我们可以通过本地通知做什么 通知,实际上是由IOS系统管理的一个功能,比如某些后台应用做了某项活动需要我们处理、已经退出的应用在某个时间提醒我们唤起等等,如果注册了通知,系统都会在通知触发时给我们发送消息 @property(nonatomic,copy) NSCalendar *repeatCalendar; 下面这两个函数是IOS8的新功能,在用户进去或者离开某一区域时发送通知 @property( @property(nonatomic,copy) NSString *alertLaunchImage;  下面这个方法是IOS8的新方法,是iwatch的接口,通知的短标题 @property(nonatomic =@"HELLO,我是本地通知哦!"

    15110

    cordova实现消息推送(本地通知)

    本地通知的基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。 本地通知大多是基于时间的,如果触发就会在通知中心显示并呈现给用户。 local notification插件可以通过schedule()一次安排一个或多个本地通知,这些通知可以立即触发或者在某个时间点触发。 在安排多个通知时,注意要使用schedule([])数组来包含所有通知。 每个本地通知都需要一个数字id,没有设置默认为0,但是调用本地通知时会取代相同id中较早的那个。 下面是一些属性: ? every:"day",     icon:"file://img/logo.png" }, callback); } 有两种常用的事件类型: schedule事件将会在你调用schedule()时触发每一个本地通知

    1.3K20

    iOS 点击通知打开对应页面

    通知被点击调用的方法 设备接到apns发来的通知,应用处理通知有以下几种情况: 1). 如果关闭通知的,再点击应用,只会调用didFinishLaunchingWithOptions方法。 2). 对应的对象为启动URL(NSURL), UIApplicationLaunchOptionsSourceApplicationKey对应启动的源应用程序的bundle ID (NSString); 3) 若由本地通知启动 ,则UIApplicationLaunchOptionsLocalNotificationKey对应的是为启动应用程序的的本地通知对象(UILocalNotification); 4) 若由远程通知启动 objectForKey:UIApplicationLaunchOptionsSourceApplicationKey]; if(bundleId){ } //由本地通知启动

    80920

    iOS本地数据存储

    Library/Caches目录用来放置运行时产生的临时文件以及缓存文件,空间不足时可能会被iOS系统删除。 nonatomic) int16_t gender; @property (nullable, nonatomic, copy) NSString *name; @end CoreData的具体使用: //从本地加载对象模型 iOS给出的答案是keychain。 keychain是iOS提供给App存储敏感和安全相关数据用的工具。keychain同样会被iTunes备份,即使App重装仍能读取到上次保存的结果。 随着iOS的社区发展,有一个序列化的第三方库脱颖而出,那就是YYModel。 总结 iOS本地数据存储,其实就是内存数据的序列化和反序列化。

    59420

    iOS系统的底层通知框架库

    iOS系统提供了多种对观察者模式的实现:在Cocoa Touch层通过NSNotification类和NSNotificationCenter类来实现通知消息的注册处理和发送,而在CoreFoundation 系统通知库中的通知消息注册和发送是可以用来实现跨进程通信的一种底层的通知机制。 正如其它所有基于通知消息的实现一样,每一种通知消息都通过一个字符串来进行标识,系统通知库中的通知消息也是如此。除此之外每个进程注册监听了一个通知消息时还会生成一个进程内有效的通知消息标识token。 系统通知库不仅支持iOS系统还支持macOS系统,而且是跨进程的通知消息。 但是一般情况下iOS系统只会用notify_register_dispatch函数来监听通知并通过block的方式进行处理,而macOS系统则所有的处理方式都可用。

    29530

    iOS系统的底层通知框架库

    原文作者:欧阳大哥2013 https://juejin.im/post/5cce39056fb9a032086ddea7 iOS系统的底层通知框架库 观察者模式是一种用于解耦一系列需要相互协作的类之间进行通信的对象行为模式 iOS系统提供了多种对观察者模式的实现:在Cocoa Touch层通过NSNotification类和NSNotificationCenter类来实现通知消息的注册处理和发送,而在CoreFoundation 正如其它所有基于通知消息的实现一样,每一种通知消息都通过一个字符串来进行标识,系统通知库中的通知消息也是如此。除此之外每个进程注册监听了一个通知消息时还会生成一个进程内有效的通知消息标识token。 系统通知库不仅支持iOS系统还支持macOS系统,而且是跨进程的通知消息。 但是一般情况下iOS系统只会用notify_register_dispatch函数来监听通知并通过block的方式进行处理,而macOS系统则所有的处理方式都可用。

    45320

    iOS NSNotificationCenter通知中心的实现原理

    ,object是要通知的对象可以为nil,字典用来存储发送通知时附带的信息,也可以为nil。 为保证观察者能接收到通知,所以应先向通知中心注册观察者,接着再发送通知这样才能在通知中心调度表中查找到相应观察者进行通知。 Center再将通知转发给注册了该通知的监听者。 当当前通知或者timer的回调执行完毕时发送通知通知中心。 NSPostNow 多个相同的通知合并之后马上发送。 coalesceMask coalesceMask即多个通知的合并方式。 有时候会在一段时间内向NSNotificationQueue发送多个通知,有些通知是重复的,我们并不希望这些通知全部发送带通知中心,那么就可以使用这个枚举类型的参数。

    1.2K30

    IOS本地化应用

    还是先介绍一下本地化的一般流程: (1)伪本地化伪本地化是将字符串本地化为无意义语言的过程。 然后将需要翻译的文本发给翻译人员或者是本地化服务提供商去翻译即可了。 (3)本地化将资源发给本地化服务提供商之后,他们会发回翻译完毕的文件。依据翻译的文本进行本地化工作。 (6b)本地化变更假设你做了一些本地化变更,比方改变了已本地化的文本,那么就须要从头開始这个过程。并将这些变更发给本地化人员。能够重用之前的字符串翻译,这么做会大大提高效率,但仍然非常麻烦。 2、IOS应用国际化教程(2014版),这个比較新,并且是使用 storyboard 的。 3、RAYWENDERLICH 上的 Internationalization Tutorial for iOS [2014 Edition] 这上面的文章都非常不错,非常值得一读,强烈推荐。

    6400

    扫码关注腾讯云开发者

    领取腾讯云代金券