iOS Widget && Today Extension 開發(fā)

前言

自從上篇文章某個小伙伴問到關(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

PS:小伙伴們?nèi)绻朐谀M器上調(diào)試3DTouch的話,給大家推薦個小tip??模擬器調(diào)試3DTouch

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容