App Clip


添加一個 App Clip Target

原文在這里

參考:

官方視頻(推薦下載 "開發者"觀看,有字幕,英語大牛請忽略,這里只放了一個,其他視頻查看相關內容即可):https://developer.apple.com/videos/play/wwdc2020/10174/

大佬總結:https://github.com/Binlogo/WWDC20-Track/tree/master/FrutaBuildingAFeatureRichAppWithSwiftUI

流程圖:https://mubu.com/doc/6gmq5SaGQIo

 

App Clip要求對應的應用至少提供與App Clip相同的功能,對於完整的應用和App Clip,你通常使用相同的Xcode項目。如果你開始一個新的應用程序項目,首先用Xcode創建一個新的iOS項目。如果你想添加一個App Clip到你現有的應用,打開它的Xcode項目。然后,添加一個App Clip Target到Xcode項目。

使用App Clip模板添加一個新的Target

選擇產品名稱,為app clip選擇適用選項,然后單擊Finish。

 

Xcode為你選擇的選項創建所有需要的文件,並為你的app clip添加一個target:


構建和運行app clip及其測試的方案。要構建並運行完整的應用程序,請繼續使用現有的方案。
一個名為按需安裝能力的新功能。
父應用程序標識符授權。
app clip的應用標識符,使用完整的應用的應用標識符作為前綴,后面跟着一個字符串。例如,如果你的完整應用程序的應用標識符是$(AppIdentifierPrefix)com.example.MyApp,app clip的應用標識符是$(AppIdentifierPrefix)com.example.MyApp.clip。
_XCAppClipURL環境變量作為app clip方案的一部分,允許您測試調用。
支持與完整應用程序相同的設備,不包括macOS。
此外,Xcode為app目標創建了一個新的構建階段,該階段將app clip嵌入到app中。
在向app clip目標添加自己的代碼之前,請在模擬器或設備上運行app clip。此時,app clip顯示了一個空白的屏幕,因為您還沒有添加任何代碼和資產。

添加關聯域權利

用戶啟動應用程序片段通過調用URL調用應用程序片段,或者如果用戶安裝應用程序替換應用程序片段,充分應用。無論你選擇哪個調用支持,您必須添加相關的域名權利的應用和應用視頻目標:
1、在Xcode中打開項目;然后,在您的項目設置中,啟用關聯域功能來添加關聯域權利。
2、對於啟動app clip或完整應用程序的每個URL,使用以下模式將其域添加到關聯域功能:appclips:<fully qualified domain>。例如,添加appclips:example.com。

( 原文如下:

  1. Open your project in Xcode; then, in your project settings, enable the Associated Domains capability to add the Associated Domains Entitlement.

  2. For each URL that launches your app clip or full app, add its domain to the Associated Domains capability using this pattern: appclips:<fully qualified domain>. For example, add appclips:example.com.


除了增加相關的域授權,你必須改變你的服務器,讓系統在啟動之前驗證你的app clip。有關更多信息,請參見配置App剪輯的啟動體驗。(PS:

在App Store Connect中,在一個新的App版本的頁面上,您必須配置一個默認的App clip體驗,並為App clip卡提供以下元數據:
標題圖片
提供更多有關應用程序剪輯信息的副標題
用戶點擊動作按鈕就可以啟動應用程序剪輯
有關設計指南,請參見人機界面指南。


有關相關域的一般信息,請參見下面對服務器和Xcode項目的更改

添加Code and Assets

app clip使用與完整應用相同的框架,向app clip target添加代碼或資源就像對其他target一樣。創建新的源文件和資產,或使用現有的源文件和資產作為成員的app clip的目標。為了確保項目的可維護性,整個app和app clip都應該盡可能多地共享代碼:
如果您創建了一個新的應用程序,在創建app clip時要記住,並遵循促進模塊化代碼庫的最佳實踐。例如,創建可重用組件,將其打包為Swift包,並在完整的應用程序和app clip中使用這些包。有關更多信息,請參見使用本地包組織代碼。
如果你在現有的應用程序中添加了一個app clip,請留出時間重構它的代碼庫,使其模塊化,並在app clip和整個應用程序之間共享代碼,以避免代碼重復。
將共享資產添加到新的資產目錄中,並在完整的應用程序和app clip中使用該目錄。有關更多信息,請參見有關資產目錄。

Use Active Compilation Conditions 使用活動編譯條件

當你在app clip和完整的app之間共享代碼時,你可能會遇到一些無法在app clip中使用app代碼的情況。在這些情況下,可以利用活動編譯條件構建設置,在該設置中可以聲明排除代碼的條件。

在你的app clip target的構建設置,並為活動編譯條件的構建設置創建一個新值;例如,APPCLIP。

App Clip 的 Build Settings - Active Compilation Conditions 添加自定義編譯參數:`APPCLIP`

然后在共享代碼中添加一個簽入,在需要的時候,排除你不想在app剪輯中使用的代碼。
下面的代碼檢查添加到活動編譯條件構建設置的APPCLIP值。

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

現在在模擬器或設備上構建、運行和調試app clip。

請注意

在開發過程中,在本地或TestFlight中測試url,如測試app clip的啟動體驗中所述

對服務器和Xcode項目進行更改

在系統顯示app clip card或允許調用app clip之前,它驗證app clip的配置和調用URL。如果它不能執行驗證,它不會顯示app clip card,app clip不會啟動。要讓系統驗證你的app clip,你需要對你的web服務器和Xcode項目進行更改。
首先,向你的服務器添加一個蘋果應用網站關聯文件,就像在你的應用中支持關聯域中描述的那樣。如果您之前向服務器添加了蘋果應用程序站點關聯文件,請將appclips鍵的條目添加到現有文件中。
下面的代碼顯示了要添加的內容。注意apps鍵的值是一個只有一個入口的數組——app clip的app標識符。

{
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
    ...
} 

最后,在Xcode中,將你網站的域名添加到app和app clip的相關域名中。

配置並響應調用

系統使用你在App Store中配置的url來啟動你的app clip。因此,識別啟動aapp clip的url,在啟動時響應它們,並在app Store Connect中注冊它們對於創建app clip至關重要。有關更多信息,請參見配置app clip的啟動體驗和對調用的響應。

最后

app clip需要一個相應的應用程序。當你准備發布你的app clip時,提交它作為應用程序存檔的一部分。請注意,你的app clip必須在提交審核后通過app Store審核流程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM