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 是接收端 ID,與 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 檔案中為 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

確認目標的「Capabilities」部分中「Access WiFi Information」切換鈕已設為「On」。

此外,您的裝置設定檔必須支援「存取 Wi-Fi 資訊」功能。您可以在 Apple Developer 入口網站中新增這項資訊。

設定 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 之間的所有版本 (不含 2.0.0)。

手動設定

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

下載

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

Cast iOS Sender SDK 4.8.3 程式庫:

靜態 動態

設定步驟

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

  1. 下載並解壓縮專案適用的 SDK。
  2. 設定動態 GoogleCastSDK 程式庫:
  3. 在 Xcode 專案導覽器中,將已解壓縮的 .xcframework 拖曳至主要專案 (如果有 Pods 專案,則不拖曳至該專案)。勾選「如有需要,複製所有項目」,然後新增至所有目標。
  4. 在 Xcode 目標的 General 分頁中,選取 GoogleCast.xcframeworkEmbed and Sign

如果您要設定靜態程式庫,除了前述步驟外,請按照下列步驟操作:

  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 程式庫 v3.13 以上版本。
  2. 在 Xcode 專案中,將標記 -ObjC -lc++ 新增至「Build Settings」 >「Other Linker Flags」
  3. 在解壓縮的目錄中找出「Resources」資料夾,然後將 GoogleCastCoreResources.bundleGoogleCastUIResources.bundleMaterialDialogs.bundle 拖曳至先前新增的 GoogleCast.xcframework 旁。勾選「如有需要,複製所有項目」,然後新增至所有目標。

Mac Catalyst 設定

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