您的位置:首页 > 移动开发 > IOS开发

随笔:关于ios通知中心插件widget验证的一些坑

2017-01-18 19:53 501 查看
最近在对ios通知中心插件widget做一下技术验证,以下记录一些坑,以防以后忘记,如果是小白可以看看:

1.关于数据通讯,app groups的打开不仅要在原生app中,还得 在新建的widget中打开,两个都打开并勾选创建的app groups才能用userdefault实现数据通讯

2.通过FileManager进行widget和原生app通讯时,可以存储数据库,但路径只能为
NSURL *documentsDirectory = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.xxx"];
*

不能加上
@"Library/Caches/widgetTest"
,否则会创建数据库失败


3.widget的没有展开和折叠按钮是因为还没设置widgetActiveDisplayModeDidChange方法,方法如下:

- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize {
if (activeDisplayMode == NCWidgetDisplayModeCompact) {
self.preferredContentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, 110);
} else {
self.preferredContentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width, 300);
}
}


4.若想不显示隐藏折叠按钮,把widgetLargestAvailableDisplayMode设置为折叠模式就可以了,写法为:
self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeCompact;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息