Penyiapan untuk Mengembangkan Dengan Framework Aplikasi Cast (CAF) untuk iOS

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

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

Penyiapan Xcode

iOS 14

  1. Menambahkan Cast iOS SDK 4.8.0 ke project

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

    Jika tidak, tarik SDK secara manual.

  2. Menambahkan NSBonjourServices ke Info.plist Anda

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

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

    AppID adalah penerimaID Anda, yang merupakan ID yang sama dengan yang ditentukan dalam GCKDiscoveryCriteria Anda.

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

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

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

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

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

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

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

Penyiapan manual

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

Hasil download

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

Framework Universal

Library Cast iOS Sender SDK 4.8.0:

Statis dengan Bluetooth Statis tanpa Bluetooth

Dinamis dengan Bluetooth Dinamis tanpa Bluetooth

XCFramework

SDK iOS Cast mendukung XCFrameworks, yang memungkinkan pengembangan di komputer Mac dengan Apple silicon, beserta proses debug menggunakan Simulator iOS.

Library Cast iOS Sender SDK XCFramework 4.8.0:

XCFramework statis dengan Bluetooth Static XCFramework tanpa Bluetooth

Dynamic XCFramework dengan Bluetooth Dynamic XCFramework tanpa Bluetooth

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 ada 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 jika diperlukan', lalu tambahkan ke semua target.
  4. Dalam project Xcode, 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, lalu 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 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 jika diperlukan', lalu tambahkan ke semua target.
  4. Pada 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 Cast SDK. Ikuti proses penyiapan manual untuk menambahkan framework ke project Anda. Kemudian, kecualikan Cast SDK secara kondisional dari target Mac seperti yang disebutkan dalam dokumentasi Apple. Library statis telah dikompilasi sebelumnya untuk arsitektur iOS, yang menyebabkan error linker saat mem-build terhadap target Mac.

Memublikasikan aplikasi Anda ke App Store

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