关闭

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

标签: ios扩展Today扩展iOS扩展应用iOS新特性扩展
153人阅读 评论(0) 收藏 举报
分类:

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,或者删除应用重新安装。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44439次
    • 积分:859
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论