添加Today Extension
File > New > Target > Application Extension > Today Extension
Widget和主程序共享数据
App Groups
iOS8以后,同一个开发者账号可以通过group共享资源,我们可以通过App Groups,共享Widget和程序的NSUserDefaults的数据
- 注意:suiteName必须和dev center中定义的app group的identifier ID一致
- App的Target和Widget的Target都要设置为同一个group1NSUserDefaults *ud = [[NSUserDefaults alloc] initWithSuiteName:@"group.blacktea"];
同过Widget插件启动App
NSExtensionContext
主程序设置URL Schemes
通过UIViewController的extensionContext属性,可以通过Scheme启动App主程序
|
|
调整Widget尺寸
设置preferredContentSize
- 设置宽度是不生效的,默认是整屏的宽度,直接设置高度即可
|
|
调整Widget的Edge
|
|
系统通知用户刷新界面
系统会在适当的时候让Widget刷新数据。可以做一些网络数据请求,并更新Widget视图的数据。
- 需要实现NCWidgetProviding协议和widgetPerformUpdateWithCompletionHandler方法
|
|
Widget 调试
- 调试
需要通过Debug设置才能对Wigget代码进行调试
Debug > Attach to Process by PID or Name
- Log
Widget的Log需要通过Devices的console查看
Windows > Devices > 对应的设备