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. Info.plist中新增 NSBonjourServices

    Info.plist 中指定 NSBonjourServices 即可: 允許在 iOS 14 上成功搜尋區域網路。

    您需要同時新增 _googlecast._tcp 和 將「_<your-app-id>._googlecast._tcp」設為裝置服務 才能正常運作

    appID 是您的接收器 ID,這與您在 GCKDiscoveryCriteria

    更新下列範例 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 區域網路存取權」對話方塊中,如: 顯示在模擬畫面中

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

    我們也建議您使用 4.8.3 重新發布應用程式,方法為

iOS 13

iOS 12 版本

確認存取 Wi-Fi 資訊功能 部分設為「On」,

此外,您的佈建設定檔必須支援存取 Wi-Fi 資訊功能。您可以新增 Apple Developer 入口網站

CocoaPods 設定

建議您採用 CocoaPods:如要整合,請使用 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

請為專案指定範圍,以免發生非預期的情況 請前往 podfile 指南

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

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

舉例來說,如果指定「~> 1.6.7」,系統就會納入 1.6.7 到 2.0.0 之間的所有版本 (不含 2.0.0)。

手動設定

以下操作說明將協助您將 Cast iOS SDK 新增至專案 不使用 CocoaPods:

下載

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

Cast iOS Sender SDK 4.8.3 程式庫:

靜態 動態

設定步驟

如何安裝程式庫:

  1. 下載並解壓縮適用於專案的 SDK。
  2. 設定動態 GoogleCastSDK 程式庫:
  3. 將解壓縮的 .xcframework 拖曳到 Xcode 專案導覽工具 (如果有 Pod 專案,請勿進入 Pod 專案)。 勾選「視需要複製所有項目」,並新增到所有目標中。
  4. 在 Xcode 目標的 [General] 分頁下,為 GoogleCast.xcframework 選取 Embed and Sign

如要設定靜態資料庫,請同時按照下列步驟操作: 先前的步驟:

  1. 設定最低版本的 Protobuf 程式庫 3.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 程式庫 3.13 以上版本 請按照 Protobuf GitHub 存放區
  2. 在 Xcode 專案中,將 -ObjC -lc++ 標記新增至 版本設定 >「Other Linker Flags」(其他連結器旗標)。
  3. 在解壓縮的目錄中找出「Resources」資料夾,並 拖曳GoogleCastCoreResources.bundleGoogleCastUIResources.bundleMaterialDialogs.bundle 加到專案中,GoogleCast.xcframework 已新增勾選「視需要複製所有項目」,並新增到所有項目 目標。

Mac Catalyst 設定

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