MAC上如何使用Xcode建立應用剪輯呢?

miqi_1998發表於2020-12-11

使用Xcode建立應用剪輯,將應用程式剪輯目標新增到您的Xcode專案中,並在應用程式剪輯及其相應的完整應用程式之間共享程式碼。一個應用夾是你的應用程式的一個輕量級版本,它提供一些功能何時何人需要它。使用Xcode,您可以將App Clip目標新增到應用程式的專案中,在App Clip和整個應用程式之間共享程式碼和資產,以及構建,執行和除錯App Clip。

新增應用剪輯目標

應用程式剪輯需要一個相應的完整應用程式,該應用程式至少應提供與應用程式剪輯相同的功能;您為完整的應用程式和應用程式剪輯使用相同的Xcode專案。如果要啟動新的應用程式專案,請首先使用Xcode建立一個新的iOS專案。如果要將應用剪輯新增到現有的iOS應用,請開啟其Xcode專案。然後,將App Clip目標新增到Xcode專案:

使用應用剪輯模板新增新目標。

選擇一個產品名稱,為您的App Clip選擇適用的選項,然後單擊“完成”。

MAC上如何使用Xcode建立應用剪輯呢?


Xcode為您選擇的選項建立所有必需的檔案,並使用以下命令為您的App Clip新增目標:

一種名為“按需安裝功能”的新功能,用於新增權利。com.apple.developer.on-demand-install-capable的Parent Application Identifiers Entitlement。

應用剪輯的應用識別符號,使用完整應用的應用識別符號作為其字首,後跟一個字串。例如,如果完整應用程式的應用程式識別符號為,則應用剪輯的應用程式識別符號為。$(AppIdentifierPrefix)com.example.MyApp$(AppIdentifierPrefix)com.example.MyApp.Clip

作為App Clip方案一部分的環境變數,使您可以除錯呼叫。_XCAppClipURL

支援與完整應用程式相同的裝置,不包括macOS。

此外,Xcode為應用目標建立了一個新的構建階段,該階段將應用剪輯嵌入到應用中。

在將程式碼新增到App Clip目標之前,請在Simulator或裝置上執行App Clip。此時,App Clip會顯示一個空白螢幕,因為您尚未向App Clip目標新增任何程式碼和資產。

新增程式碼和資產

應用程式剪輯使用與完整應用程式相同的框架,並且嚮應用程式剪輯的目標新增程式碼或資產的工作方式與對其他任何目標一樣。建立新的原始檔和資產,或使用現有的原始檔和資產,並將它們作為成員新增到App Clip的目標中。為了確保專案的可維護性,完整的應用程式和應用程式剪輯應共享盡可能多的程式碼:

如果您建立一個新應用程式,請在建立該應用程式時牢記建立一個應用程式剪輯,並遵循促進模組化程式碼庫的最佳實踐。例如,建立可重複使用的元件,將它們捆綁為Swift Packages,然後在完整應用程式和App Clip中使用這些程式包。有關更多資訊,請參見使用本地包組織程式碼。

如果將應用程式剪輯新增到現有應用程式,請留出時間將應用程式的程式碼庫重構為模組化,並在應用程式剪輯和完整應用程式之間共享程式碼,以避免重複程式碼。

將共享資產新增到新資產目錄,然後在完整應用程式和應用程式剪輯中使用該目錄。有關更多資訊,請參見Xcode幫助中的關於資產目錄。

保持您的應用剪輯小巧

應用程式剪輯必須小巧(不壓縮的應用程式剪輯不能超過10 MB)才能立即啟動。如果可能,將您的App Clip保持在此限制以下。

要測量您的應用程式剪輯的大小,請為您的應用程式剪輯建立一個應用程式大小報告:

在Xcode中,存檔應用剪輯的相應應用,開啟管理器視窗,選擇存檔,然後單擊“分發應用”。

啟用了App Thining和從位碼重建功能,將App Clip匯出為Ad Hoc或Development版本。

匯出的App Clip的輸出資料夾還包含其大小報告:名為的檔案。開啟文字檔案,並記下App Clip的未壓縮大小,並對專案進行調整,以使其未壓縮大小保持在10 MB以下。App Thinning Size Report.txt

有關測量應用程式大小的更多資訊,請參閱減小應用程式大小。

使用主動編譯條件

在許多情況下,嚮應用程式新增應用剪輯是將應用程式程式碼重構為模組化和可重用的好機會。完整應用程式可用的大多數功能和框架都可用於您的應用程式剪輯。但是,您可能會遇到無法在應用程式剪輯中使用某些應用程式程式碼的情況,並且無法為應用程式和應用程式剪輯程式碼建立單獨的模組。在這些情況下,請利用“活動編譯條件”構建設定,在其中可以宣告排除程式碼的條件。

MAC上如何使用Xcode建立應用剪輯呢?

首先,導航到您的App Clip目標的構建設定,然後為“活動編譯條件”構建設定建立一個新值;例如,APPCLIP。然後,在需要的地方在共享程式碼中新增一個檢查,以排除您不想在App Clip中使用的程式碼。

以下程式碼檢查APPCLIP您新增到“活動編譯條件”構建設定中的值。

#if !APPCLIP

// Code you don't want to use in your App Clip.

#else

// Code your App Clip may access.

#endif

新增關聯的域權利

使用者從將呼叫URL傳遞到應用剪輯的呼叫啟動應用剪輯,或者如果使用者安裝了應用以替換應用剪輯,則將呼叫傳遞到完整的應用。啟動機制利用了Associated Domains Entitlement—如果您的應用程式支援Handoff或通用連結,您可能已經很熟悉這種權利。

設計和配置App Clip的啟動體驗是一項重要任務,而快速啟動是使用App Clip的關鍵。但是,無論您選擇支援哪種呼叫,以及使用哪種呼叫URL,都必須將新增Associated Domains Entitlement到應用程式和App Clip目標中:

在Xcode中開啟您的專案;然後,在您的專案設定中,啟用“關聯域”功能以新增Associated Domains Entitlement。

對於每個啟動您的應用程式剪輯或完整應用程式的URL,使用以下模式將其域新增到“關聯的域”功能中:appclips:<fully qualified domain>。例如,新增。appclips:example.com

配置並響應呼叫

要啟動App Clip,使用者可以執行呼叫,例如,透過掃描NFC標籤或可視程式碼。在您的程式碼中,響應啟動時系統呼叫傳遞給應用程式剪輯或完整應用程式的呼叫和呼叫URL。您無需新增程式碼即可掃描NFC標籤,可視程式碼等。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983423/viewspace-2741499/,如需轉載,請註明出處,否則將追究法律責任。

相關文章