Penyiapan untuk Pengembangan dengan Framework Aplikasi Cast (CAF) untuk iOS

Framework Cast mendukung iOS 12 dan yang lebih baru, serta hadir dalam framework statis dan dinamis.

Lihat Referensi Google Cast iOS API untuk deskripsi semua class dan metode.

Perlu diperhatikan bahwa perangkat Cast generasi yang lebih baru mendukung mode tamu untuk iOS, tetapi perangkat generasi yang lebih lama tidak mendukungnya. Untuk mengetahui detailnya, lihat Mode Tamu - Perangkat Transmisi yang Didukung.

Penyiapan Xcode

iOS 14

  1. Menambahkan Cast iOS SDK 4.7.0 ke project

    Jika menggunakan CocoaPods, gunakan pod update untuk menambahkan SDK 4.7.0 ke project Anda.

    Jika tidak, tarik SDK secara manual.

  2. Tambahkan NSBonjourServices ke Info.plist Anda

    Tentukan NSBonjourServices di Info.plist untuk memungkinkan penemuan jaringan lokal berhasil di iOS 14.

    Anda harus menambahkan _googlecast._tcp dan _<your-app-id>._googlecast._tcp sebagai layanan agar penemuan perangkat dapat berfungsi dengan baik.

    appID adalah receiverID Anda, yang merupakan ID yang ditentukan di GCKDiscoveryCriteria.

    Perbarui contoh definisi NSBonjourServices berikut dan ganti "ABCD1234" dengan appID Anda.

    <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.7.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.

The google-cast-sdk and google-cast-sdk-no-bluetooth CocoaPods are available for download.

Use the google-cast-sdk-no-bluetooth if your app does not require guest mode or you do not wish to require Bluetooth® permission.

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, '12.0'

def target_pods
  pod 'google-cast-sdk'
end

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

Berikut adalah contoh cara menambahkan CocoaPod google-cast-sdk-no-bluetooth ke Podfile Anda:

use_frameworks!

platform :ios, '12.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

Untuk project, Anda harus menentukan rentang pod untuk mencegah perubahan yang dapat menyebabkan gangguan yang tidak terduga, seperti yang dijelaskan dalam panduan podfile.

Dalam cuplikan ini, versi 4.7.0 dan versi hingga versi utama berikutnya (major.minor.patch) diizinkan:

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

Misalnya, '~> 1.6.7' akan menyertakan semua versi dari 1.6.7 dan yang lebih baru, tetapi tidak mencakup, versi 2.0.0.

Penyiapan manual

Petunjuk berikut adalah untuk menambahkan Cast iOS SDK ke project Anda tanpa menggunakan CocoaPods:

Download

Setelah mendownload library yang sesuai di bawah, ikuti langkah-langkah penyiapan untuk menambahkan framework ke project Anda. Persyaratan penyiapannya sama untuk XCFrameworks seperti Framework Universal lama.

Library tanpa mode tamu telah disediakan untuk situasi saat aplikasi Anda tidak memerlukan fitur ini atau Anda tidak ingin memerlukan izin Bluetooth®, yang diperkenalkan di iOS 13. Lihat dokumen Perubahan iOS 13 untuk mengetahui informasi selengkapnya.

Framework Universal

Library Cast Sender SDK 4.7.0 iOS:

Statis dengan Mode Tamu Statis tanpa Mode Tamu

Dinamis dengan Mode Tamu Dinamis tanpa Mode Tamu

XCFramework (Beta)

Mulai dari versi 4.7.1, Cast iOS SDK mendukung XCFrameworks, yang memungkinkan pengembangan di komputer Apple M1 dan proses debug menggunakan Simulator iOS M1.

Library tersebut masih dalam versi Beta. Silakan laporkan masalah apa pun ke Issue Tracker SDK SDK.

Library Cast Sender SDK XCFramework 4.7.1 iOS:

XCFramework Statis dengan Mode Tamu XCFramework Statis tanpa Mode Tamu

XCFramework Dinamis dengan Mode Tamu XCFramework Dinamis tanpa Mode Tamu

Langkah-langkah penyiapan

Untuk menginstal salah satu library statis:

  1. Download dan ekstrak SDK statis yang sesuai untuk project Anda.
  2. Siapkan library Protobuf dengan versi minimum v3.13.
    1. Jika project Anda menggunakan CocoaPods:
      1. Buka Podfile dan hapus google-cast-sdk jika ada:
        pod 'google-cast-sdk'
      2. Tambahkan library Protobuf jika tidak ada:
        pod 'Protobuf', '3.13'
      3. Jalankan pod install di folder root project Anda.
    2. Jika project Anda tidak menggunakan CocoaPods:
      1. Hapus versi GoogleCastSDK saat ini jika ada.
      2. Tambahkan library Protobuf v3.13 atau yang lebih baru, dengan mengikuti petunjuk yang ditemukan di repo GitHub Protobuf.
  3. Tarik .framework atau .xcframework yang telah diekstrak ke project utama Anda di navigator project Xcode (bukan ke project Pod jika Anda memilikinya). Centang 'Salin semua item', dan tambahkan ke semua target.
  4. Pada project Xcode Anda, tambahkan flag -ObjC -lc++ ke Build Settings > Other Linker Flags.
  5. Klik kanan GoogleCast.framework atau GoogleCast.xcframework di project Anda, lalu pilih 'Show In Finder'.
  6. Tarik GoogleCastCoreResources.bundle dan GoogleCastUIResources.bundle ke project Anda di samping GoogleCast.framework atau GoogleCast.xcframework yang Anda tambahkan sebelumnya dan centang 'Copy all items if needed', lalu tambahkan ke semua target.

Untuk menginstal salah satu library dinamis:

  1. Download dan ekstrak SDK dinamis yang sesuai untuk project Anda.
  2. Siapkan library GoogleCastSDK dinamis:
    1. Jika project Anda menggunakan CocoaPods:
      1. Buka Podfile Anda dan hapus:
        pod 'google-cast-sdk'
      2. Jalankan pod install di folder root project Anda.
    2. Jika project Anda tidak menggunakan CocoaPods, hapus library Google Cast saat ini.
  3. Tarik .framework atau .xcframework yang telah diekstrak ke project utama Anda di navigator project Xcode (bukan ke project Pod jika Anda memilikinya). Centang 'Salin semua item', dan tambahkan ke semua target.
  4. Di target Xcode, pada tab General, pilih Embed and Sign untuk GoogleCast.framework atau GoogleCast.xcframework.

Penyiapan Mac Catalyst

Untuk Aplikasi yang mendukung Mac Catalyst, gunakan library dinamis SDK Cast. Ikuti proses penyiapan manual untuk menambahkan framework ke project Anda. Kemudian, kecualikan secara kondisional Cast SDK dari target Mac seperti yang disebutkan dalam dokumentasi Apple. Library statis telah dikompilasi sebelumnya untuk arsitektur iOS, yang menyebabkan error penaut saat mem-build terhadap target Mac.

Memublikasikan aplikasi ke App Store

Sebelum memublikasikan aplikasi ke App Store, Anda harus menjalankan skrip shell strip_unused_archs.sh untuk menghapus arsitektur yang tidak digunakan dari app bundle. Skrip ini ada di Cast SDK untuk iOS.