創建一個蘋果小程序 App Clip 你該知道哪些事

前言

在 Xcode 工程中,你可以爲你的 App 添加一個 app clip target, 利用 Xcode ,app clip 可以與你的 app 共享代碼與資源,並可以編譯,調試,運行在真機或者模擬器環境。但是,在實際使用過程中,開發者必須在自己的服務器上做好驗證 app clip 的有效性的手段。

添加一個 App Clip Target

  1. 利用 Xcode 創建一個 iOS 工程
  2. 利用 App Clip template 爲該 iOS 工程創建一個新的 Target
  3. 輸入 App clip 的名稱,以及爲 app clip 選擇合適的選項並點擊完成

image

通過以上步驟,Xcode 會自動爲你創建你所需的文件,爲你的 app clip 的 Target 生成如下內容:

  • 一個用於你 app clip 編譯,運行,測試的 scheme
  • 新的 capability
  • Parent Application Identifiers Entitlement.
  • App clip 的 bundleID
  • 供你測試 App clip 的環境變量 _XCAppClipURL
  • 支持設備調試

當創建完成後,在模擬器或者真機上運行 app clip, 看是否報錯。

添加 Associated Domains Entitlement

  • App clip 可以通過用戶傳入的一個 URL(例如:掃碼)來喚起
  • 用戶可通過 app clip 傳遞給主 app 一個
    URL 的方式安裝完整應用

要支持以上倆種調用方式,必須在 app 和 app clip 中加入 Associated Domains Entitlement:

  1. 打開工程設置,在 Associated Domains capability 中加入 the Associated Domains Entitlement
  2. 使用以下樣式將其 domain 添加到 Associated Domains capability 功能中:appclips:.

添加代碼與資源

爲 App clip 編寫代碼邏輯和添加 asset 資源與正常開發 iOS App 沒有什麼區別,但是爲了工程的可維護性,App clip 與完整的應用程序應該儘可能多的分享代碼:

  • 如果你創建了一個新的 app, 並且帶有 app clip 功能, 那麼開發請遵循基於代碼模塊化的最佳實踐,例如, 創建可重複使用的組件。
  • 如果爲現有的 app 添加 app clip,建議先花點時間將代碼重構爲模塊化,與 app clip 共享,避免代碼重複
  • 在完整的應用程序與 app clip 中,Assets 資源共享

使用 Active Compilation Conditions

在 app clip 和完整應用之間共享代碼時,可能會遇到無法在 app clip 中使用某些代碼的情況。在這些情況下,請設置 Active Compilation Conditions ,在其中可以聲明排除代碼的條件。

image

在 app clip 的工程設置中找到 Active Compilation Conditions ,併爲其添加一個值,例如:APPCLIP,然後在共享的代碼中加入判讀,示例如下:

#if !APPCLIP
// Code you don't want to use in your app clip.
#else
// Code your app clip may access.
#endif

服務器配置

在系統彈出 app clip 或允許 app clip 調用之前,系統會驗證 app clip 的配置和調用的URL。如果無法執行驗證,則不會顯示app clip,也不會啓動。爲了使系統能夠驗證您的 app clip,您需要對你的 Web 服務器和 Xcode 項目進行配置:

  • 爲你的服務器添加一個 Apple App Site Association 文件
  • 在 Apple App Site Association 文件中添加一個鍵值對,key 爲 appclips,例如:
{
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
    ...
} 
  • 打開 Xcode ,爲 app 和 app clip 中的 Associated Domains Entitlement 配置服務器域名

在 App Store Connect 中註冊 App Clip

系統使用您在 App Store Connect 中配置的 URL 來啓動您的 app clip。因此,識別啓動 app clip 的URL,在啓動時對其進行響應並在 App Store Connect 中註冊它們對於創建 app clip 至關重要。

發佈 App Clip

準備發佈 app clip 時,請將其作爲 app archive 的一部分提交。請注意,必須通過App Store 審覈,才能發佈。


感興趣的朋友可以關注我的技術公衆號,每週都有優質技術文章推送,微信掃一掃下方二維碼即可關注:

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章