前言
自從上篇文章某個小伙伴問到關(guān)于Widget的問題,確實(shí),這個東東在我們的app中也沒有搞過,而且隨著蘋果公司以及各大著名app對它的重視度越來越高,比如下圖的某寶,所以今天就在這里搞一搞??

展示圖.png
實(shí)現(xiàn)步驟:
1.添加Today Extension
-
點(diǎn)擊Xcode頂部菜單欄File ---> New ---> Target ---> 新建Today Extension
新建Today Extension.png 創(chuàng)建好了以后會多出如下圖所示的幾個類:

todayTest.png
2.修改info.plist文件
- 這里注意
todayAxeExamples是我起的名字,不要弄混了小伙伴們. 如果不想用sb布局界面的話,那就需要更改下info.plist里的** NSExtensionMainStoryboard參數(shù),把它刪除掉,替換為 NSExtensionPrincipalClass**, value為主控制器的類名即可,下面直接上圖??

infoplist.png
3.配置App Groups
- 因?yàn)閕OS的App都基于沙盒的形式存儲,拓展應(yīng)用和主應(yīng)用彼此又相對獨(dú)立,所以如果想讓彼此數(shù)據(jù)共享,那就需要配置App Groups.
- 第一步要先在你的開發(fā)者賬戶中注冊一個App Groups,如圖所示??

注冊App Groups.png
- 其次,你需要在你的主應(yīng)用和拓展應(yīng)用填寫App Groups,如圖:

填寫App Groups.png
4.使用它進(jìn)行數(shù)據(jù)流通
- 上述步驟都OK的話,接下來就要來使用了.我在我的主應(yīng)用的AppDelegate里寫了如下代碼,往偏好設(shè)置里保存一個字符串.

test1.png
大家可能在想為什么這個和平常用的用戶偏好設(shè)置不一樣的,正如之前所說,因?yàn)榛谏澈械臋C(jī)制,拓展應(yīng)用是無法訪問主應(yīng)用中的沙盒路徑的,所以這里要搭配App Groups使用,??這里一定要注意下!!!
其次在拓展應(yīng)用中取值并驗(yàn)證,代碼上線哈:

test2.png
最后附上效果圖

lastTest.png
