iOS通知中心插件与应用的数据交互
来源:互联网 发布:皮皮麻将 软件软件 编辑:程序博客网 时间:2024/05/05 15:06
通知中心插件 - 数据传递
名字解释:
Widget:指通知中心的插件
Host:指插件的宿主,即通知中心的Today区域
Container:指插件所依托存在的应用
Widget和Host数据共享
主要是利用协议下的
- (void)widgetPerformUpdateWithCompletionHandler:(void (^)(NCUpdateResult))completionHandler
方法进行,根据系统的要求,进行相应的视图更新等处理。
Widget和Container数据共享
Widget和Container之间,数据的共享可以通过AppGroup配置后,对共用的存储空间内进行数据共享。
主要步骤有
1.在target中配置AppGroup
2.利用NSUserDefault或者NSFileManager访问AppGroup共享区域的内容,如果是NSUserDefault需要用创建方法:
[[NSUserDefault alloc] initWithSuiteName:groupID]
如果是NSFileManager需要使用下面的获取路径方法
[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:groupID]
Widget和Container的实时数据交互
按照苹果的设计来看,本意是不希望Widget和Container存在直接的实时数据交互的,但是如果我们真的有一些特殊需求,比如:
当Container开启时,可以实时改变一些Widget中的内容;又或者在Widget中触发某个按钮之类的操作,希望可以实时影响应用的展示...
这里我想到一种利用他们之间的AppGroup存储可以共享使用,建立文件监视来变相达到目的的方法。查了一下iOS中目前好像没有相应的FileWatchDog类,因此自己做了一个,丢在github上,链接FileWatchDog
共享数据的原理是:Widget和Container都对同一个文件,进行文件变动监视,这样另一方有什么要传递的数据或指令,可以通过写文件的方式来提醒另一方,达到变相的实时数据交互。
PS:
网上看到过有人在Widget中利用NSURLSession来进行对Container的下载结束的提醒,这种也在特定条件下可以做一些事情,因此一并列在这里。
- iOS通知中心插件与应用的数据交互
- IOS的通知中心
- iOS 通知中心的使用
- iOS 的通知中心简介
- iOS通知中心的使用
- IOS中通知中心NSNotificationCenter应用总结
- iOS中通知中心NSNotificationCenter应用总结
- iOS中通知中心NSNotificationCenter应用总结
- iOS中通知中心NSNotificationCenter应用总结
- IOS观察者模式与通知中心
- IOS观察者模式与通知中心
- 随笔:关于ios通知中心插件widget验证的一些坑
- iOS通知中心的简单实现-YRSignal
- IOS NSNotification Center 通知中心的使用
- iOS通知中心的使用流程
- IOS中通知中心(NSNotificationCenter)的使用
- IOS中通知中心(NSNotificationCenter)的使用
- iOS 通知中心(NSNotificationCenter)的使用
- 汉字乱码 UTF8 UNICODE
- 软件安装到D盘失败,提示“您对该安装目录没有写权限”解决办法
- 解析Javascript事件冒泡机制
- javaSe字符串全转大写
- 小蔡电脑助手3.0新版全新发布上线啦~欢迎大家下载使用哦~
- iOS通知中心插件与应用的数据交互
- 再谈如何以最简单的方法将泛型为String类型的集合或String类型的数组转化为逗号间隔字符串形式
- Swift JSON 字符串 和 对象(NSArray,NSDictionary) 相互转换
- 小蔡计算器 V4.0新版全新发布上线啦~欢迎大家下载使用哈~
- android:id="@android:id/tabhost" 、android:id="@+id/llRoot" 、android:id="@id/llRoot" 之间的区别
- XCode环境变量及路径设置
- AOSP编译系统初探(一)
- 关于Java中的继承
- 《Python核心编程》第二版第六章练习 6-14 解答