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

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

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

Xcode 設定

iOS 14

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

    如果使用 CocoaPods,請使用 pod update 將 4.8.3 版 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.3 重新發布應用程式。

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, '14.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.3 版和下一個主要版本 (major.minor.patch) 之前的版本:

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

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

手動設定

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

下載

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

Cast iOS Sender SDK 4.8.3 程式庫:

靜態 動態

設定步驟

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

  1. 下載並解壓縮專案適用的 SDK。
  2. 設定動態 GoogleCastSDK 程式庫:
  3. 在 Xcode 專案導覽器中,將解壓縮的 .xcframework 拖曳至主要專案 (如有 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 以上版本。
  2. 在 Xcode 專案中,將 -ObjC -lc++ 標記新增至「Build Settings」>「Other Linker Flags」。
  3. 在解壓縮的目錄中找到「Resources」資料夾,然後將 GoogleCastCoreResources.bundleGoogleCastUIResources.bundleMaterialDialogs.bundle 拖曳至專案中,放在先前新增的 GoogleCast.xcframework 旁邊。勾選「Copy all items if needed」,並新增至所有目標。

Mac Catalyst 設定

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