ios 扩展初试

Demo 地址:https://github.com/YUJINHAI2015/AppExtension
《今日扩展》--widget(窗口小部件)。该扩展可以将今日发生的简短消息放到消息中心“今日”里面。就是下面红框内这两个东东。我们现在来实现一下这个功能。

image.png

理解扩展:
app扩展是如何工作的,
app扩展和app是怎样的关系,
app extension (app扩展),containing app(容器应用),host app(宿主应用)

image.png

1)app extension 只是containing app功能的扩充,并不能当做一个app或者插件来对待,他只能依赖于containing app,app extension 不能单独存在,没有containing app就没有app extension 。
2)你不能上传一个空白的containing app+app extension ,会审核不过的,containing app一定要一些基础的功能。
3)containing app和app extension虽然在一起,但是他们并不是在同一个线程中运行,每个单独的app extension都会在单独的进程中。
4)每一个app extension是以二进制形式封装的,他与containing app的二进制是分开的,每一个app extension都是一个单独的Target,都有自己的Bundle ID.
5)app extension的声明周期是由 host app 决定的。
6)如图,containing app并不能和host app直接通讯,app extension相当于代理的作用。这里我们要明白一点, extension app和 host app可以直接通讯,但是extension app和containing app 却不能直接通讯,只能通过Open URL或者数据共享。
7)iOS8允许containing app 和extension app的target之间通过嵌入式框架访问同一份代码。


image.png

一、开始项目,添加Alamofire
1、新建一个项目Weather

image.png

2、切换到当前目录文件夹下面:
在命令行中输入:
git submodule add https://github.com/Alamofire/Alamofire.git

image.png

3、把Alamofire作为子项目,选中Almofire.xcodeproj拖到Weather里面:

image.png

4、然后在 build Phases 里面的 Target Dependencies 添加Almofire

image.png

5、添加一个New Copy Files Phase

image.png

6、然后重命名为Copy Frameworks ,选择Destination为Frameworks,并添加Alamofire

image.png

7、如果要移除Alamofire
在命令行中输入:
git rm -f Alamofire
rm -rf .git/modules/Alamofire
然后在项目中把报红的Alamofire文件夹删除即可。

二、做一个简单的请求天气的接口
1、搭建一个简单的界面

image.png

2、建一个全局文件Global.swif,做一下简单的网络请求,只是DEMO使用

image.png

3、在viewController中请求数据

image.png

三、添加扩展Widget
1、xcode8 在这里面添加widget,我们选择Today Extension.

image.png

添加成功后看到是这个结果

image.png

2、添加资源文件(自己去找一些icon)
我们在Assets.xcassets里面添加一些icon和一个小按钮。
这些资源是放在Weather Target里面的,Widget是无法访问的。
在Target Membership里面选中Widget选项,这时代表勾上的都可以访问Assets.xcassets里面的资源。

image.png

3、我们在WeatherWidget里面
在MainInterface.Storyboard上添加一个简单的界面
然后每个label连线,按钮添加一个点击事件refresh()

image.png

4、容器app和扩展app的界面都搭建完成了,那么他们是通过什么方式共享数据的呢?
我们现在用NSUserDefaults来存储数据,但是容器app和扩展app是两个单独的app,并不能直接去访问。苹果推出了应用程序组(App Group)只要在同一个程序组里面的app,就可以访问彼此的共享数据。
你要拥有一个开发者账号,分别在Weather和WeatherWidget的App Groups里面添加相同的Key.


image.png
image.png

5、我们在Global.swif文件中添加下面一些代码

image.png

6、把ViewController.swift文件保存方法修改一下

image.png

7、在TodayViewController.swift里面添加代码

image.png

完结!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,066评论 4 62
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,340评论 7 249
  • 2017.11.28 星期三 第4篇 看见孩子这几天学习又用心了,做父母心里非常高兴,现在非常喜欢看书...
    桑凤红阅读 160评论 0 0
  • 文/潇洒小兔 01 室友同我说: “她是那么好那么好,好到全身都在发光。我只能远远地看着,不敢将她占为己有。” “...
    花篮子阅读 367评论 0 0
  • 趁着年假驱车从小镇出发,沿乾冕路,一路向西,途经回坪、回龙、森荣、麦地、棉沙、马头五乡,到达凉山与甘孜交界...
    江边漂石阅读 280评论 0 0