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」替換為您的應用程式 ID。

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

    強烈建議您自訂區域網路提示中顯示的訊息,方法是在應用程式的 Info.plist 檔案中,為 NSLocalNetworkUsageDescription 新增應用程式專屬的權限字串,例如描述 Cast 探索和其他探索服務 (例如 DIAL)。

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

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

    Cast 區域網路存取權限對話方塊圖片
  4. 在 Apple 應用程式商店 重新發布應用程式

    建議您也盡快使用 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. 選取版本管理規則。舉例來說,選取「Up to Next Major Version」(直到下一個主要版本),並將最低版本設為 4.8.6,即可接收相容的更新,避免發生非預期的破壞性變更。
  4. 按一下「新增套件」。
  5. 選取 GoogleCastDynamic 或 GoogleCastStatic 產品,並新增至應用程式目標。

選擇架構變化版本

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

  • GoogleCastDynamic:動態架構。其中包含 Cast UI 元件所需的所有素材資源,且不需要任何額外的連結器旗標。支援 Mac Catalyst 的應用程式必須使用動態架構。詳情請參閱「Mac Catalyst 設定」。
  • GoogleCastStatic:靜態架構。您必須按照「靜態架構設定」一節所述,完成額外的設定步驟。

靜態框架設定

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

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

CocoaPods 設定

手動設定

如要在不使用 Swift Package Manager 的情況下,將 Cast iOS SDK 新增至專案,請按照下列操作說明進行:

下載

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

Cast iOS Sender SDK 4.8.6 程式庫:

靜態 動態

設定步驟

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

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

如要設定動態程式庫,請在完成上述步驟後,再按照下列步驟操作:

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

如要設定靜態程式庫,請在完成上述步驟後,再按照下列步驟操作:

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

Mac Catalyst 設定

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