iOS新特性扩展之Today分享(1)

1、在iOS 的新特性中,包含了几种特殊的分享,下面就首先介绍一下Today的分享扩展应用。
2、Today扩展的用处还是比较多的,利用Today扩展,我们不用进入到应用程序中就能够直接看到应用中的部分功能,例如中华万年历,在手机的今天列表中就能够看到天气情况。
3、首先扩展与应用之间的数据沟通是通过一个共同的存储区域完成的,这个区域就是App Group,通过App Group来完成数据的交互,既然要完成共享一个存储区域,那么久首先需要把桥梁建好,也就是首先是完成App Group的创建。下面就一步步完成吧。
(1)首先创建一个普通工程,这里我创建的是swift的一个工程,oc的工程步骤是相同的,这里就不介绍oc的了。

这里写图片描述
(2)创建工程之后,我们就需要添加Today扩展了,
按照下面的步骤完成,
首先添加一个Target,如下:
这里写图片描述
然后我们选择Today项:
这里写图片描述
点击next后,会弹出一个输入名称的界面,如下,
这里写图片描述
完成之后,点击finish会弹出一个提示框,用于激活扩展。这里写图片描述
点击Activate,然后我们的Today扩展就创建好了。

这里写图片描述
(3)创建好扩展之后,就需要创建App Group共享存储区域
首先创建工程的App Group,
这里写图片描述
在第5步的时候,点击打开,会弹出一个提示框,由于iOS的应用与扩展之间的数据共享是比较严格的,所以这里必须填写一个App Store上已经认证的开发者账号才能通过,这里我就不截图了,在填写完账号之后,会出现下面的界面,
这里写图片描述

,点击那个加号,提示输入一个App Group的名称,类似group.com.公司域名的名称(自己看着取名,规范就好),填写完成之后,在名称前面打勾(选中),然后系统会默认生成一个文件:
这里写图片描述

然后再创建扩展的App Group,步骤和上面的一样:
这里写图片描述
不同的是,在第5步选择开发者账号之后,App group就会显示出来,然后选中(名称一定要和上次填写的一样),选中之后,在扩展文件下面也会生成一个文件,
这里写图片描述

这样之后,我们就把App Group的通道打通了,下面要做的就是数据的共享

4、数据的共享,意味着数据是要存储的,这里我们用NSUserDefaults存储数据,
首先在应用的界面中存储数据,

应用数据存储:

        // 应用与应用扩展之间的数据交互(通过同一个数据存储区域进行交互)在添加App Group的时候,需要添加开发者账号的
        let userDefault = NSUserDefaults(suiteName: "group.com.XXXX") // 参数就是添加的App Group的名称
        userDefault?.setObject(button.currentTitle, forKey: "title") // 存储的数据是全局的,在整个应用中都可以拿来存取数据
        userDefault?.synchronize() // 强制将数据写入磁盘,以免丢失数据

扩展数据读取

        // 应用与应用扩展之间的数据交互(通过同一个数据存储区域进行交互)
        // 读取数据
        let userDefault = NSUserDefaults(suiteName: "group.com.XXXX") // 参数就是添加的App Group的名称,必须和存储时候的名称一样,否则不能成功读取数据
        let title:String = userDefault?.objectForKey("title") as! String // 存储的数据是全局的,在整个应用中都可以拿来存取数据
        self.city_View.text = title

这样的话,就完成了数据的共享了。

5、扩展文件介绍:
在创建好扩展并激活之后,系统会默认生成文件:TodayViewController.swift,MainInterface.storyboard,Info.plist3个文件,TodayViewController.swift和普通的文件类似,可以在文件中写代码数据,
MainInterface.storyboard界面是一个界面,和普通的storyboard类似,但也有不同(这是由于在今天列表中的展示方式的问题),我们可以往控制器中拖入控件,拖线设置属性等等,
这里写图片描述

6、到这里我们的Today扩展的简单应用就完成了,如果在操作界面的时候,今天列表中的展示并没有改变,建议clean一下Xcode,或者删除应用重新安装。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sw_gegewu/article/details/51540143
个人分类: iOS系统框架知识点
上一篇iOS tableView多选,长按弹出菜单
下一篇iOS新特性扩展之Today分享(2)
想对作者说点什么? 我来说一句

=DATEDIF(指定日期,TODAY(),"D")

2012年03月30日 17KB 下载

java8新特性

2017年12月26日 382KB 下载

Astronomy Today, 8th Edition.part2

2016年11月19日 56.54MB 下载

Start Developing iOS Apps Today RoadMapiOS

2013年11月03日 21.53MB 下载

iOS系统自带各平台分享功能

2016年02月01日 84KB 下载

RoadMapiOS.pdf

2015年08月29日 10.16MB 下载

Astronomy Today, 8th Edition part1

2016年11月19日 59.5MB 下载

qq空间分享_ios

2013年01月24日 117KB 下载

没有更多推荐了,返回首页

关闭
关闭