App clip 是 App 應用程序的輕量級版本,可在用戶須要的位置和時間提供某些功能。在 Xcode 中, App clip 是和你主應用程序共享代碼和資源的附加 Target。App clip 還能夠訪問和 App 相同的 frameworks。例如,您的 App clip 能夠請求訪問攝像頭,將敏感數據存儲在本地鑰匙串中,鏈接到藍牙設備等等。可是,在保護用戶隱私和保留資源的前提下,App clip 也有必定的侷限性。微信
用戶經過執行如下調用來啓動 App clip:網絡
當用戶調用 App clip 時,系統首先驗證 App clip 的元數據及其關聯的URL。而後,使用 URL 來決定 App clip card 上顯示什麼數據 (App clip card 是一個咱們調用後再底部彈出的 Sheet 視圖)。App clip card 提供了不少信息,並提供了用戶點擊以啓動應用程序剪輯的按鈕。框架
用戶啓動應用 App clip 時,系統會將 URL 傳遞給它。啓動後,App clip 將訪問 URL 並對其進行解析以提取信息,而後使用該信息來更新其用戶界面。ide
App clip 不會顯示在主屏幕上,而且用戶沒法以管理 App 的方式對其進行管理。相反,一段時間不活動後,系統會從設備中刪除 App clip 。所以,爲您的 App clip 提供出色的用戶體驗很是重要。網站
App clip 應該避免複雜的界面元素(如標籤欄或複雜的表單),從而提供線性,集中的用戶體驗。在要求用戶執行復雜的任務的時候,應該減小使用複雜性的技術。例如,在 App clip 中使用 Apple Pay 來支付費用,或者利用 Sign in with Apple 來避免複雜的用戶登陸註冊。spa
App clip 的大小必須不超過10 MB,才能提供即時啓動。若是可能,將您的應用剪輯保持在此限制如下。code
App clip 可使用SwiftUI和UIKit,而且能夠訪問與完整應用程序相同的框架。可是,如下框架不適用於 App clip :CallKit,CareKit,CloudKit,HealthKit,HomeKit,ResearchKit,SensorKit 和 Speech。cdn
在 App clip 使用這些框架中的任何一個都不會致使編譯時錯誤,可是它們的 API 返回的值會指示運行時不可用,空數據或錯誤代碼。例如,當您從應用程序剪輯中調用 HealthKit 的 isHealthDataAvailable()時,它會返回false。blog
App clip 可使用 SKOverlay 或 SKStoreProductViewController 展現廣告並推薦其餘應用。可是,始終在 App clip 中啓用「限制應用程序跟蹤」,以保護用戶隱私並防止用戶跨應用程序和 App clip 進行跟蹤。ip
App clip 沒法經過 AppTrackingTransparency 請求受權來跟蹤用戶,而且 name 和 identifierForVendor 都返回一個空字符串。此外,App clip 沒法執行後臺活動,例如使用 URLSession 進行後臺網絡鏈接或在不使用 App clip 時保持藍牙鏈接。App clip 也沒法請求連續的位置信息訪問權限。可是,他們可能會請求 When In Use authorization,該受權會在次日凌晨4:00自動重置。
爲了保護用戶數據,App clip 沒法訪問:
除了與自身相對應的應用程序外,App clip 沒法與任何其餘應用程序共享數據。
App clip 可提供即時的體驗,並專一於爲平常任務提供最快的解決方案,但某些功能並不適用 App clip :
到這裏,文章就結束了,下篇咱們來說下如何建立一個 App clip。
記得幫忙點下最下面的廣告哦~(只需點擊看下便可)
感興趣的朋友能夠關注個人技術公衆號,每週都有優質技術文章推送,微信掃一掃下方二維碼便可關注: