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

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

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

Xcode 設定

iOS 14

  1. 將 Cast iOS SDK 4.8.4 新增至專案

    如果使用 CocoaPods,請使用 pod update 將 4.8.4 版 SDK 新增至專案。

    否則,請 手動提取 SDK

  2. NSBonjourServices 新增至 Info.plist

    Info.plist 中指定 NSBonjourServices,允許 iOS 14 成功偵測區域網路。

    您必須同時新增 _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檔案中加入應用程式專屬的權限字串,自訂「區域網路」提示中顯示的訊息,例如說明 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.4 重新發布應用程式。

iOS 13

iOS 12

確認目標的「功能」部分中,「存取 Wi-Fi 資訊」切換鈕已設為「開啟」。

此外,您的佈建設定檔必須支援「存取 Wi-Fi 資訊」功能。您可以在 Apple Developer Portal 中新增這項資訊。

設定 CocoaPods

建議使用 CocoaPods 整合 Google Cast。如要整合,請使用 google-cast-sdk CocoaPods。

如要開始使用,請參閱入門指南

設定 CocoaPods 後,請按照使用 CocoaPods 指南操作,建立 Podfile 並準備好專案,以便搭配使用 Google Cast SDK。

以下範例說明如何將 google-cast-sdk CocoaPod 新增至 Podfile

use_frameworks!

platform :ios, '15.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

如要避免發生非預期的重大變更,請為專案指定 Pod 的範圍,詳情請參閱 Podfile 指南

在這個程式碼片段中,允許使用 4.8.4 版和下一個主要版本 (major.minor.patch) 之前的版本:

pod 'google-cast-sdk', '~> 4.8.4'

舉例來說,「~> 1.6.7」會包含 1.6.7 以上的所有版本,但不含 2.0.0 版。

手動設定

以下說明如何在不使用 CocoaPods 的情況下,將 Cast iOS SDK 新增至專案:

下載

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

Cast iOS Sender SDK 4.8.4 程式庫:

靜態 動態

設定步驟

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

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

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

  1. 設定 Protobuf 程式庫,最低版本為 v3.13。
    1. 如果專案使用 CocoaPods:
      1. 開啟 Podfile 並移除 google-cast-sdk (如有):
        pod 'google-cast-sdk'
      2. 如果沒有 Protobuf 程式庫,請新增:
        pod 'Protobuf', '3.13'
      3. 在專案的根資料夾中執行 pod install
    2. 如果專案未使用 CocoaPods:
      1. 移除目前的 GoogleCastSDK 版本 (如有)。
      2. 按照 Protobuf GitHub 存放區的操作說明,新增 Protobuf 程式庫 3.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 目標建構時會發生連結器錯誤。