iOS Widget(Today Extension)插件

today extension 开发很简单,一下内容简单介绍:

首先在你的工程添加target

建完之后你会发现工程目录多了一个文件

这个就是todayextension 插件的文件类 ,主工程是相互独立的 。

在todayviewcontroller 这里进行代码布局 也可以用maininterface 去布局;

我们简单建四个按钮

注意 画绿色线的部分是用来可以让插件展开收起操作,是iOS10 以后新增的 ,展开收起的操作需要实现协议

插件是需要和APP 进行交互的,那么是怎么启动的呢,就是利用openurl 去操作 ,刚才我们不是新建四个按钮,它们的具体实现如下


点击打开APP,还需要APP Info.plist 设置URL-Scheme (注意不是today 里的info.plist)

那么APP 启动起来是怎么区分的呢,就是AppDelegate回调处理

在这里去做相应处理。那么数据是怎么共享的呢,这离可以带数据参数,那插件怎么取APP d的数据呢,这就可以用NSUserDefaults 去获取 首先这里

然后就可以用了 ,例如主项目中我存储个用户名 :

NSUserDefaults* userDefault = [[NSUserDefaultsalloc] initWithSuiteName:@"group.com.company.testGroup"];

[userDefault setObject:@"张三"forKey:@"group.com.company.testGroup.nickname"];

在插件里我们就可以直接取出使用:

NSUserDefaults* userDefault = [[NSUserDefaultsalloc] initWithSuiteName:@"group.com.company.testGroup"];

NSString* nickName = [userDefault objectForKey:@"group.com.company.testGroup.nickname"];

这样就可以了,简单介绍到这里了 有问题可以留言一起讨论!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容