當前位置:成語大全網 - 書法字典 - IOS14小部件擴展(小部件擴展)

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

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

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

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

Timeline的刷新策略將被延遲,並且可能不會完全根據您設置的時間進行刷新。同時,官方聲明每個widget小組件每天將獲得有限的刷新次數。

TimelineProvider官方解釋

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

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

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

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

2.創建另壹個SwiftUI文件來實現組件功能,並刪除@main並修改相同的功能名稱。

並在小部件頁面的條目中綁定相應的模型。

如果主應用程序是用swift編寫的,則可以共享網絡請求模塊文件或pods庫(方法將在後面介紹)。

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

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

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

單擊微件窗口以喚起應用程序進行交互。有兩種方法可以指定跳轉:

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

接收模式

在APPDelegate中接收返回的URL。

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

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

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

Ps:網上說妳需要創建壹個應用程序APPID,但當自動管理自動管理簽名打開時,xcode會自動為妳創建相關的APPID。

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

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

swift混合通知主管

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

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

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

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

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