前言
自從上篇文章某個(gè)小伙伴問(wèn)到關(guān)于Widget的問(wèn)題,確實(shí),這個(gè)東東在我們的app中也沒有搞過(guò),而且隨著蘋果公司以及各大著名app對(duì)它的重視度越來(lái)越高,比如下圖的某寶,所以今天就在這里搞一搞??
展示圖.png
實(shí)現(xiàn)步驟:
1.添加Today Extension
-
點(diǎn)擊Xcode頂部菜單欄File ---> New ---> Target ---> 新建Today Extension
新建Today Extension.png 創(chuàng)建好了以后會(huì)多出如下圖所示的幾個(gè)類:
todayTest.png
2.修改info.plist文件
- 這里注意
todayAxeExamples
是我起的名字,不要弄混了小伙伴們. 如果不想用sb布局界面的話,那就需要更改下info.plist里的** NSExtensionMainStoryboard參數(shù),把它刪除掉,替換為 NSExtensionPrincipalClass**, value為主控制器的類名即可,下面直接上圖??
infoplist.png
3.配置App Groups
- 因?yàn)閕OS的App都基于沙盒的形式存儲(chǔ),拓展應(yīng)用和主應(yīng)用彼此又相對(duì)獨(dú)立,所以如果想讓彼此數(shù)據(jù)共享,那就需要配置App Groups.
- 第一步要先在你的開發(fā)者賬戶中注冊(cè)一個(gè)App Groups,如圖所示??
注冊(cè)App Groups.png
- 其次,你需要在你的主應(yīng)用和拓展應(yīng)用填寫App Groups,如圖:
填寫App Groups.png
4.使用它進(jìn)行數(shù)據(jù)流通
- 上述步驟都OK的話,接下來(lái)就要來(lái)使用了.我在我的主應(yīng)用的AppDelegate里寫了如下代碼,往偏好設(shè)置里保存一個(gè)字符串.
test1.png
大家可能在想為什么這個(gè)和平常用的用戶偏好設(shè)置不一樣的,正如之前所說(shuō),因?yàn)榛谏澈械臋C(jī)制,拓展應(yīng)用是無(wú)法訪問(wèn)主應(yīng)用中的沙盒路徑的,所以這里要搭配App Groups使用,??這里一定要注意下!!!
其次在拓展應(yīng)用中取值并驗(yàn)證,代碼上線哈:
test2.png
最后附上效果圖
lastTest.png