App Extension - iOS开发

作者: 莫威權在B612等着那温柔的风 | 来源:发表于2016-03-30 22:47 被阅读857次

Apple 官方文档App Extension Programming Guide

我总结文档的大概如下:

Extension 包括Today,分享,Action,自定义输入键盘,修图等

Extension工作机制
Extension Life Cycle

因为app extension不是一个app,所以的Life Cycle ,譬如当按下分享按钮时,如下:

Extension 传递信息的方式

譬如在Safari上点击微博的分享按钮,就会弹出微博的输入框,然后按分享。那么Host app就是Safari,而App extension则是那个弹出来的微博输入框,Containing app则是微博。

App extension虽然是属于Containing app,但是它是独立出来就像是另一个app一样.所以如图打开微博,则需要使用Url scheme,共用数据则需创建共享空间。

a8430e88-dbc5-4c0a-9658-5e91c708448c.jpg
使用Framework共享代码

因为App extension是独立出来的,所以是不能直接使用Containing app的代码。

可以把需要用到的函数或者类打包为Framework进行共用。


教程:Build your own Cocoa Touch Frameworks, in pure Swift

使用App Group共享数据

开启app group如下图做。设置group名为group.xxx,我的则为group.value
先设置你的app

接着设置extension的


举个例子

let groupKey = "group.value"
//存储数据
let myContainShare = NSUserDefaults.init(suiteName: groupKey)
myContainShare?.setInteger(2, forKey: "test")

//获取数据
let myContainShare = NSUserDefaults.init(suiteName: groupKey)
let i  = myContainShare?.integerForKey("test") // i = 2 

相关文章

网友评论

    本文标题:App Extension - iOS开发

    本文链接:https://www.haomeiwen.com/subject/xnkelttx.html