當前位置:編程學習大全網 - 源碼下載 - IOS14小部件擴展(小部件擴展)

IOS14小部件擴展(小部件擴展)

文件-& gt;新建-& gt;目標-& gt;小部件擴展

本文主要說明不檢查用戶配置屬性的情況。

顯示為小部件提供所有必要信息的結構,遵循TimelineProvider協議,並生成壹個時間線,告訴WidgetKit何時呈現和刷新小部件。時間軸包含用戶定義的TimelineEntry類型。時間軸條目標識您希望WidgetKit更新小部件內容的日期。在自定義類型中包含小部件視圖需要呈現的屬性。

Timeline的刷新策略將被延遲,可能不會完全按照您設置的時間刷新。同時官方表示每個widget小工具每天都會收到有限次數的刷新。

TimelineProvider官方解釋

呈現小部件所需的數據模型需要符合TimelineEntry協議。

您可以根據窗口小部件在屏幕上顯示的內容,為不同大小的窗口小部件設置不同的視圖。

壹個Widget只能實現大、中、小三種不同大小的組件。如果現有的組件需要做不同的功能,並且具有相同的尺寸和規格,則需要實現多個組件。

1.通過修改原始小部件條目文件和添加更多配置來支持多個小部件。

2.再創建壹個SwiftUI文件實現組件功能,去掉@main修改相同的函數名。

並在Widget頁面的條目中綁定相應的模型。

如果主APP是用swift寫的,可以共享網絡請求模塊文件或者pods庫(方法後面會介紹)。

PosterFromJson這種數據模型轉換方法只適合簡單接口(對於懶惰♀?),復雜的數據模型還是由HandyJSON或者KaKaJson解析。

如果使用第三方模型轉換方法,圖片的同步請求處理可以放在getTodayPoster的請求中進行同步處理

然後在占位符getSnapshot預覽中更新並完成相應的條目,以完成小部件內容顯示。

點擊微件窗口,喚起APP互動。有兩種方法可以指定跳轉:

在部件的三種尺寸規格中,

接收模式

在APPDelegate中接收返回的URL。

如果項目實現了SceneDelegate,則需要在SceneDelegate中實現跳轉處理。

因為widget和App是相互獨立的,如果要使用相同的數據,就需要在兩者之間共享數據,創建壹個APP組。

目標->在主APP中;簽名& amp能力-& gt;+能力-& gt;添加應用程序組

Ps:網上都說需要創建壹個應用APPID,但是在開啟自動管理自動管理簽名的情況下,xcode會自動為妳創建相關的APPID。

它們之間的數據* * *主要以兩種形式共享:UserDefaults和FileManager。

以UserDefaults ***享受OC中的數據為例。

swift混合呼叫主管

完成後,您可以使用pods中的第三方SDK。

Pods第三方SDK使用錯誤提示。

如果您將* * *第三方庫導入pods,或使用[UI應用程序共享應用程序]方法報告以下錯誤。

您需要在pods目標中選擇錯誤的SDK,然後單擊buildSettings搜索Require。

然後更改僅要求應用程序擴展安全API,然後將“是”更改為“否”

  • 上一篇:世界五大黑客是誰啊?
  • 下一篇:什麽是原子鏈?它的價值是什麽?如何改變世界?
  • copyright 2024編程學習大全網