iOS 適用的 Cast 應用程式架構 (CAF) 開發設定

Cast 架構支援 iOS 16 以上版本,並提供靜態和動態架構。

如需所有類別和方法的說明,請參閱 Google Cast iOS API 參考資料。

Xcode 設定

  1. 在專案中新增 Cast iOS SDK 4.8.6

    如果使用 Swift Package Manager,請將 google-cast-ios-sdk 套件更新至 4.8.6 版。

    否則,請 手動拉入 SDK。

  2. 將 NSBonjourServices 新增至 Info.plist

    在 Info.plist 中指定 NSBonjourServices,允許區域網路探索作業成功。

    您必須同時新增 _googlecast._tcp 和 _<your-app-id>._googlecast._tcp 做為服務,裝置探索功能才能正常運作。

    appID 是 receiverID,與您在 GCKDiscoveryCriteria 中定義的 ID 相同。

    更新下列範例 NSBonjourServices 定義,並將「ABCD1234」換成您的 appID。

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. 將 NSLocalNetworkUsageDescription 新增至 Info.plist

    強烈建議您在應用程式的 Info.plist 檔案中加入應用程式專屬的權限字串,自訂「區域網路」提示中顯示的訊息,例如說明 Cast 探索和其他探索服務 (如 DIAL)。NSLocalNetworkUsageDescription

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    這則訊息會顯示在 iOS 區域網路存取權對話方塊中,如模擬畫面所示。

    投放區域網路存取權對話方塊圖片
  4. 將應用程式重新發布至 Apple App Store

    建議您盡快使用 4.8.6 重新發布應用程式。

設定 Swift Package Manager

建議使用 Swift Package Manager (SPM) 整合 Google Cast。Cast iOS SDK 套件可從 google-cast-ios-sdk GitHub 存放區取得。

如要在 Xcode 專案中新增 Cast iOS SDK,請按照下列步驟操作:

  1. 在 Xcode 中,依序選取「File」 >「Add Packages...」。
  2. 輸入存放區網址: https://github.com/googlecast/google-cast-ios-sdk。
  3. 選取版本控管規則。舉例來說,選取「最多到下一個主要版本」,並將最低版本設為 4.8.6,即可接收相容的更新,不會發生預期外的重大變更。
  4. 按一下「新增套件」。
  5. 選取 GoogleCastDynamic 或 GoogleCastStatic 產品, 然後新增至應用程式目標。

選擇架構變體

Cast iOS SDK 套件提供兩項產品:

  • GoogleCastDynamic:動態框架。當中包含 Cast UI 元件所需的所有資產資源,且不需要任何額外的連結器旗標。支援 Mac Catalyst 的應用程式必須使用動態架構。詳情請參閱「Mac Catalyst 設定」。
  • GoogleCastStatic:靜態架構。這需要靜態架構設定中說明的額外設定步驟。

靜態框架設定

靜態架構不得包含資源套件。因此,Swift Package Manager 無法自動將 Cast UI 元件所需的資產資源 (例如 UI 圖片、分鏡腳本和本地化檔案) 與 GoogleCastStatic 產品組合。如要將 GoogleCastStatic 新增至目標,請完成下列步驟:

  1. 在 Xcode 專案中,將 -ObjC -lc++ 標記加進「Build Settings」>「Other Linker Flags」。
  2. 如果應用程式使用 Cast UI 元件,請手動將資產組合新增至專案:
    1. 從「下載」下載靜態資料庫。請確認靜態資料庫版本與您新增的套件版本相符。
    2. 在解壓縮的目錄中找到 Resources 資料夾,然後將所有 .bundle 檔案拖曳至 Xcode 專案。勾選「Copy all items if needed」(視需要複製所有項目),並新增至所有目標。

設定 CocoaPods

手動設定

如要在專案中新增 Cast iOS SDK,但不想使用 Swift Package Manager,請按照下列操作說明進行:

下載

下載下方適用的程式庫後,請按照設定步驟將架構新增至專案。

Cast iOS Sender SDK 4.8.6 程式庫:

靜態 動態

設定步驟

如要安裝程式庫,請按照下列步驟操作:

  1. 下載並解壓縮專案適用的 SDK。
  2. 設定動態 GoogleCastSDK 程式庫:
  3. 將解壓縮的 .xcframework 拖曳至 Xcode 專案導覽器中的主要專案。 勾選「Copy all items if needed」,並新增至所有目標。
  4. 在 Xcode 目標的「General」分頁中,選取「GoogleCast.xcframework」的「Embed and Sign」。

如要設定動態程式庫,請按照下列步驟操作,並完成先前的步驟:

  1. 移除目前的 GoogleCastSDK 版本 (如有)。
  2. 按照 Protobuf GitHub 存放區中的操作說明,新增 Protobuf 程式庫 v3.13 以上版本。

如要設定靜態程式庫,請按照下列步驟操作,並完成先前的步驟:

  1. 在 Xcode 專案中,將 -ObjC -lc++ 標記新增至「Build Settings」 >「Other Linker Flags」。
  2. 在解壓縮的目錄中找到「Resources」資料夾,然後將所有 .bundle 檔案拖曳到專案中,與先前新增的 GoogleCast.xcframework 檔案並列。勾選「Copy all items if needed」,並新增至所有目標。

設定 Mac Catalyst

如果應用程式支援 Mac Catalyst,請使用 Cast SDK 的動態程式庫。按照手動設定程序,將架構新增至專案。然後,如這篇 Apple 說明文件所述,有條件地從 Mac 目標排除 Cast SDK。靜態程式庫是針對 iOS 架構預先編譯,因此針對 Mac 目標建構時會發生連結器錯誤。