iOS widget 開發入門小結

先感謝無私分享的博主大大們,一并附上一波入門貼:

iOS開發之widget實現
iOS開發之widget的簡單實現
從0到1思考與實現iOS-Widget
iOS widget開發
iOS開發-widget基礎
iOS之widget開發(Today Extension)

1. widget是一個什么東西?

Web Widget,中文譯名被稱作是微件,是一小塊可以在任意一個基于HTML的Web頁面上執行的代碼,它的表現形式可能是視頻,地圖,新聞,小游戲等等。它的根本思想來源于代碼復用,通常情況下Widget的代碼形式包含了DHTML,JavaScript以及Adobe Flash。 簡單點說就是一個小掛件,小應用,為主應用服務的一個小而美的存在形式

在iOS中這樣的掛件類似于通知欄,存在于在屏幕的最左邊,然后還可以在支持3D touch功能的設備上按住可以看到縮小版的widget的一個快捷方式.

2. 如何創建這樣一個應用?

打開Xcode->File->New 一個 Target-> iOS Today Extension 直接創建就ok啦

3. 需要做哪些配置?

使用的是純代碼,所以把系統自動生成的StoryBoard刪掉,然后在info.plst里添加字段NSExtension,對應的Value是一個字典類型,代碼如下:

    <dict>
        <key>NSExtensionPointIdentifier</key>
        <string>com.apple.widget-extension</string>
        <key>NSExtensionPrincipalClass</key>
        <string>TodayViewController</string>
    </dict>

做好這些配置之后,進行groupID的綁定
當然是自定義的這個ID,保證主app與widget兩邊的通信,數據互通
操作如下: 點擊藍色工程->Capabilities -> APP Groups 打開開關按鈕-> + 創建一個groupID
然后會自動生成兩個文件,一個是宿主app的,一個是widget的, 是plist格式的文件, 它的XML代碼如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>group.com.t.widget.app</string>
    </array>
</dict>
</plist>

4. 代碼如何構建?

不知道是什么問題,調用不了宿主APP里的文件,搞得我重新創建了一些輔助類,布局類Masonry也用不了,貌似要用pod打入~~ 后續再看, 寫代碼和宿主app一個樣,幾個代理方法以及生命周期的時機把控
主要是事件的處理和app跳轉,解析參數之類的一些技巧.
在app里新建一個url scheme , widgetDemo , 跳轉的時候拼上參數, widgetDemo: //args = homePage
然后在Appdelegate的- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation回調方法里做解析判斷,然后做一些事情...

5. 有什么用途?

  • 在不改變宿主app本身的情況下,新增了一個APP入口或展示切面,shortCut操作更加快捷以及方便
  • 輕量級的應用使用方便,不占用空間
  • 提升了app的逼格以及用戶的體驗
    ......
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,155評論 4 61
  • 在這個信息爆炸的時代,很難找到值得一看的影視作品,值得翻閱的書籍文字,值得循環播放的音樂旋律。 在這個被流行音樂霸...
    何奈可閱讀 612評論 1 3
  • 我認識一個漂亮的女孩,就是那種烏發大眼,勻稱秀氣的基因美女。她和我同歲,甚至不差幾天,現在似乎已經墮落地不成樣子。...
    洄游從之閱讀 250評論 0 0
  • 我最愛的你在哪里 我的步履從未走的輕盈 我最愛的你在心里 在遠方的夢里 我甚至懷疑自己,我最愛的你在哪里 看不清自...
    旨故閱讀 180評論 0 0
  • 在起初的兩個小時里,金多多很緊張,她把微信的消息提示設置為振動放在枕邊,像一個等待宣判的犯人等待天亮的來臨。漸漸地...
    洛家仁人閱讀 886評論 2 10