Thiết lập để phát triển bằng khung ứng dụng truyền (CAF) dành cho iOS

Khung Cast hỗ trợ iOS 13 trở lên, có cả khung tĩnh và động.

Hãy xem Tài liệu tham khảo API Google Cast dành cho iOS để biết nội dung mô tả về tất cả các lớp và phương thức.

Thiết lập Xcode

iOS 14

  1. Thêm Cast iOS SDK 4.8.0 vào dự án của bạn

    Nếu bạn sử dụng CocoaPods, hãy sử dụng pod update để thêm SDK 4.8.0 vào dự án của bạn.

    Nếu không, hãy lấy SDK theo cách thủ công.

  2. Thêm NSBonjourServices vào Info.plist của bạn

    Chỉ định NSBonjourServices trong Info.plist để cho phép khám phá mạng cục bộ thành công trên iOS 14.

    Bạn sẽ cần thêm cả _googlecast._tcp_<your-app-id>._googlecast._tcp làm dịch vụ để tính năng khám phá thiết bị hoạt động đúng cách.

    appID là receiverID của bạn. Đây là mã nhận dạng được xác định trong GCKDiscoveryCriteria.

    Hãy cập nhật định nghĩa NSBonjourServices của ví dụ sau và thay thế "ABCD1234" bằng appID.

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Add NSLocalNetworkUsageDescription to your Info.plist

    We strongly recommend that you customize the message shown in the Local Network prompt by adding an app-specific permission string in your app's Info.plist file for the NSLocalNetworkUsageDescription such as to describe Cast discovery and other discovery services, like DIAL.

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

    This message will appear as part of the iOS Local Network Access dialog as shown in the mock.

    Cast Local Network Access permissions dialog image
  4. Re-release your app to the Apple App Store

    We recommend you also re-release your app using 4.8.0 as soon as possible.

iOS 13

iOS 12

Ensure that the Access WiFi Information switch in the Capabilities section of the target is set to "On".

Additionally, your provisioning profile will need to support the Access WiFi Information capability. This can be added in the Apple Developer Portal.

CocoaPods setup

The recommended way of integrating Google Cast is using CocoaPods. CocoaPods is supported for both the Universal Framework and XCFramework.

For a Universal Framework integration, use the google-cast-sdk and google-cast-sdk-no-bluetooth CocoaPods.

For an XCFramework integration, use the google-cast-sdk-xcframework and google-cast-sdk-no-bluetooth-xcframework CocoaPods.

To get started, follow the getting started guide.

Once CocoaPods is set up, follow the using CocoaPods guide to get your Podfile created and your project ready to use with the Google Cast SDK.

Here's an example of how to add the google-cast-sdk CocoaPod to your Podfile:

use_frameworks!

platform :ios, '13.0'

def target_pods
  pod 'google-cast-sdk'
end

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

Dưới đây là ví dụ về cách thêm google-cast-sdk-no-bluetooth CocoaPod vào Podfile:

use_frameworks!

platform :ios, '13.0'

def target_pods
  pod 'google-cast-sdk-no-bluetooth'
end

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

Đối với dự án, bạn nên chỉ định một phạm vi cho các nhóm để ngăn chặn những thay đổi gây lỗi ngoài dự kiến như được nêu chi tiết trong hướng dẫn về Podfile.

Trong đoạn mã này, phiên bản 4.8.0 và các phiên bản lên đến phiên bản chính tiếp theo (major.minor.patch) được cho phép:

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

Ví dụ: "~> 1.6.7" sẽ bao gồm mọi phiên bản từ 1.6.7 trở lên, nhưng không bao gồm phiên bản 2.0.0.

Thiết lập thủ công

Các hướng dẫn sau là để thêm Cast iOS SDK vào dự án của bạn mà không cần sử dụng CocoaPods:

Nội dung tải xuống

Sau khi tải thư viện thích hợp bên dưới xuống, hãy làm theo các bước thiết lập để thêm khung vào dự án của bạn. Các yêu cầu thiết lập đối với XCFrameworks là giống nhau đối với Khung phổ quát cũ.

Khung chung

Thư viện Cast iOS Sender SDK 4.8.0:

Tĩnh khi có Bluetooth Tĩnh không có Bluetooth

Linh hoạt nhờ Bluetooth Linh hoạt mà không cần Bluetooth

XCFramework

Cast iOS SDK hỗ trợ XCFrameworks, cho phép phát triển trên máy tính Mac bằng Apple silicon, cùng với tính năng gỡ lỗi bằng Trình mô phỏng iOS.

Truyền thư viện XCFramework 4.8.0 của iOS Sender SDK:

XCFramework tĩnh có Bluetooth XCFramework tĩnh không có Bluetooth

XCFramework động có Bluetooth XCFramework động không có Bluetooth

Các bước thiết lập

Cách cài đặt một trong các thư viện tĩnh:

  1. Tải xuống và giải nén SDK tĩnh thích hợp cho dự án của bạn.
  2. Thiết lập thư viện Protobuf với phiên bản tối thiểu là v3.13.
    1. Nếu dự án của bạn sử dụng CocoaPods:
      1. Mở Podfile và xoá google-cast-sdk (nếu có):
        pod 'google-cast-sdk'
      2. Thêm thư viện Protobuf nếu chưa có:
        pod 'Protobuf', '3.13'
      3. Chạy pod install trong thư mục gốc của dự án.
    2. Nếu dự án của bạn không sử dụng CocoaPods:
      1. Xoá phiên bản hiện tại của GoogleCastSDK (nếu có).
      2. Thêm thư viện Protobuf phiên bản 3.13 trở lên, theo hướng dẫn trên kho lưu trữ GitHub về Protobuf.
  3. Kéo .framework hoặc .xcframework đã giải nén vào dự án chính trong trình điều hướng dự án Xcode (không phải vào dự án Nhóm nếu bạn có). Chọn "Sao chép tất cả các mục nếu cần" và thêm vào tất cả mục tiêu.
  4. Trong dự án Xcode của bạn, hãy thêm cờ -ObjC -lc++ vào Cài đặt bản dựng > Cờ trình liên kết khác.
  5. Nhấp chuột phải vào GoogleCast.framework hoặc GoogleCast.xcframework trong dự án của bạn rồi chọn "Show In Finder" (Hiện trong trình tìm kiếm).
  6. Kéo GoogleCastCoreResources.bundleGoogleCastUIResources.bundle vào dự án của bạn bên cạnh GoogleCast.framework hoặc GoogleCast.xcframework mà bạn đã thêm trước đó và chọn "Copy all items if cần" (Sao chép tất cả mục nếu cần) rồi thêm vào tất cả mục tiêu.

Cách cài đặt một trong các thư viện động:

  1. Tải xuống và giải nén SDK động thích hợp cho dự án của bạn.
  2. Thiết lập thư viện GoogleCastSDK động:
    1. Nếu dự án của bạn sử dụng CocoaPods:
      1. Mở Podfile và xoá:
        pod 'google-cast-sdk'
      2. Chạy pod install trong thư mục gốc của dự án.
    2. Nếu dự án của bạn không sử dụng CocoaPods, hãy xoá thư viện Google Cast hiện tại.
  3. Kéo .framework hoặc .xcframework đã giải nén vào dự án chính trong trình điều hướng dự án Xcode (không phải vào dự án Nhóm nếu bạn có). Chọn "Sao chép tất cả các mục nếu cần" và thêm vào tất cả mục tiêu.
  4. Trong mục tiêu Xcode của bạn, trong thẻ General, hãy chọn Embed and Sign cho GoogleCast.framework hoặc GoogleCast.xcframework.

Thiết lập Mac Catalyst

Đối với các ứng dụng hỗ trợ Mac Catalyst, hãy sử dụng thư viện động của Cast SDK. Làm theo quy trình thiết lập thủ công để thêm khung vào dự án của bạn. Sau đó, loại trừ có điều kiện SDK Cast khỏi mục tiêu Mac như đã đề cập trong tài liệu của Apple. Các thư viện tĩnh được biên dịch trước cho cấu trúc iOS, gây ra lỗi trình liên kết khi xây dựng dựa trên mục tiêu Mac.

Xuất bản ứng dụng lên App Store

Trước khi phát hành ứng dụng lên App Store, bạn cần chạy tập lệnh shell strip_unused_archs.sh để loại bỏ các cấu trúc không dùng đến khỏi gói ứng dụng. Tập lệnh này nằm trong Cast SDK cho iOS.