iOS TodayWidge开发

最近在学习点新的东西,偶然看到一篇博客说到了Today Extension ,看完那篇文章之后自己又实现了一遍,觉得还是挺有用的,避免时间久了忘记了,就写下来吧。
先说一下本篇涉及到的内容:
1、App Groups (用来两个进程之间的数据交互用的),需要配置证书。
2、Extension中怎么使用cocoapods
3、Today Extension 折叠效果

App Groups:
我们想要在两个进程之间传输一些数据,只要借助它就可以简单的实现了,首先配置一下证书


APP Groups.png

在这里新建一个APP Groups ,然后然后添加到已有的APP IDs里

2.png

新建一个singleView、再添加一个target Today Extension

3.png
4.png

完了之后应该是这个样子的

5.png

这时候运行你就会看到一个hello world 的label了,如果没有,点击编辑,把扩展添加上。这个label是系统默认的,删除掉,在MainInterface.storyboard建一个table,然后在TodayViewController里实现datasource,delegate,运行你就能看到你的table了,
前期的准备工作已经做好了,接下来我们同host app 来进行数据交互,首先打开Extension和 App的的App Groups (App的操作步骤一样)


6.png

如果之前有配置证书的话就会看到已经有了,直接勾上。
在APP中存入数据:

 NSUserDefaults*defaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.com.scqc.helloToday"];
 [defaults setObject:@[@"1",@"2",@"3",@"4"] forKey:@"array"];

在扩展中取数据:

 NSUserDefaults*defaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.com.scqc.helloToday"];
   _dataArray = [defaults objectForKey:@"array"];

如何在Extension中使用cocoapods呢:
其实很简单,写podfile的时候把Extension的target也写上就行了

target 'App' do
pod 'SDWebImage'
end
target 'Extension' do
pod 'SDWebImage'
end

实现一个简单的table效果,图片是用SDWebImage加载的


7.png

Tips:

8.png

第三个方法用来调节edge的,在iOS10之后便不会再调用了、edge现在可以设置为0了;
要实现折叠的效果需要设置

self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeExpanded;//设置可以展开

然后实现上图的第二个方法返回折叠和展开的size就可以了。

-(void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize{
    if (activeDisplayMode==NCWidgetDisplayModeExpanded) {
        // 调节成展开的状态
        self.preferredContentSize = CGSizeMake(0, 300);//这里width是不能改变的所以写0也可以
    }else{
        // 调整frame成折叠状态
        self.preferredContentSize = maxSize;
        
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,572评论 7 249
  • 在说widget开发前,先来了解下APP Extensions和App Groups: 一、关于App Exten...
    P大迷妹阅读 4,420评论 1 10
  • 凝夜,微风袭来,带着阵阵清凉。品一味浓茶,人生几多闲暇。毋然之间,滑过丝丝丁香。轻摇身下竹慷,溜入睱意梦乡
    轩月阅读 158评论 0 0
  • 人生如琴 是否能弹出优雅的曲 在于你的双手 很多人 都不敢冒险 人生就这么过下去挺好的 于是就固守那一亩三分地 不...
    叶娜姐姐阅读 356评论 1 3
  • 边框 border-radius - 圆角边框 box-shadow - 边框阴影 border-image - ...
    AdrianRD阅读 227评论 0 1