iOS'te Cast Uygulama Çerçevesi (CAF) ile Geliştirme Kurulumu

Cast çerçevesi, iOS 13 ve sonraki sürümleri destekler ve hem statik hem de dinamik çerçevelere sahiptir.

Tüm sınıf ve yöntemlerin açıklamaları için Google Cast iOS API Referansı'na bakın.

Xcode kurulumu

iOS 14

  1. Projenize Cast iOS SDK 4.8.0'ı ekleme

    CocoaPods kullanıyorsanız 4.8.0 SDK'sını projenize eklemek için pod update kullanın.

    Aksi takdirde, SDK'yı manuel olarak çekin.

  2. Info.plist cihazınıza NSBonjourServices ekleyin

    Yerel ağ keşfinin iOS 14'te başarılı olmasına izin vermek için Info.plist içinde NSBonjourServices değerini belirtin.

    Cihaz keşfinin düzgün çalışması için hem _googlecast._tcp hem de _<your-app-id>._googlecast._tcp hizmet olarak eklemeniz gerekir.

    appID, alıcı kimliğinizdir. Bu, GCKDiscoveryCriteria içinde tanımlanan kimlikle aynıdır.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyin ve "ABCD1234" ifadesini uygulama kimliğinizle değiştirin.

    <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

google-cast-sdk-no-bluetooth CocoaPod'u Podfile cihazınıza nasıl ekleyeceğinize dair bir örneği aşağıda bulabilirsiniz:

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

podfile kılavuzunda ayrıntılı olarak açıklandığı gibi, projenizde, beklenmeyen değişiklikleri engellemek için kapsülleriniz için bir aralık belirtmeniz gerekir.

Bu snippet'te 4.8.0 sürümüne ve sonraki ana sürüme (major.alt..patch) kadar olan sürümlere izin verilir:

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

Örneğin, "~> 1.6.7", 1.6.7 ile 2.0.0 arasındaki ancak 2.0.0 sürümüne kadar olan tüm sürümleri içerir.

Manuel kurulum

Aşağıdaki talimatlar, Cast iOS SDK'sını CocoaPods kullanmadan projenize eklemek için hazırlanmıştır:

İndirilenler

Aşağıdaki uygun kitaplığı indirdikten sonra, çerçeveyi projenize eklemek için kurulum adımlarını uygulayın. Kurulum gereksinimleri, XCFrameworks için eski Universal Frameworks ile aynıdır.

Evrensel Çerçeve

Yayınlama iOS Gönderen SDK'sı 4.8.0 kitaplıkları:

Bluetooth ile statik Bluetooth olmadan statik

Bluetooth ile dinamik Bluetooth olmadan dinamik

XCFramework

Cast iOS SDK'sı, Apple Silicon kullanan Mac bilgisayarlarda geliştirmenin yanı sıra iOS Simülatörü kullanarak hata ayıklamaya olanak tanıyan XCFrameworks'ü destekler.

iOS Gönderen SDK'sı XCFramework 4.8.0 kitaplıklarını yayınlama:

Bluetooth ile Statik XCFramework Bluetooth olmadan Statik XCFramework

Bluetooth ile dinamik XCFramework Bluetooth olmadan dinamik XCFramework

Kurulum adımları

Statik kitaplıklardan birini yüklemek için:

  1. Projenize uygun statik SDK'yı indirin ve sıkıştırılmış dosyayı açın.
  2. Protobuf kitaplığını en az 3.13 sürümüyle ayarlayın.
    1. Projenizde CocoaPods kullanılıyorsa:
      1. Podfile cihazınızı açın ve varsa google-cast-sdk öğesini kaldırın:
        pod 'google-cast-sdk'
      2. Mevcut değilse Protobuf kitaplığını ekleyin:
        pod 'Protobuf', '3.13'
      3. Projenizin kök klasöründe pod install çalıştırın.
    2. Projeniz CocoaPods kullanmıyorsa:
      1. Mevcut GoogleCastSDK sürümünü kaldırın.
      2. Protobuf GitHub deposunda bulunan talimatları uygulayarak Protobuf kitaplığı 3.13 veya sonraki bir sürümü ekleyin.
  3. Açtığınız .framework veya .xcframework dosyasını, Xcode proje gezginindeki ana projenize (varsa Pods projesine değil) sürükleyin. "Gerekirse tüm öğeleri kopyala"yı işaretleyin ve öğeyi tüm hedeflere ekleyin.
  4. Xcode projenizde, Build Settings (Derleme Ayarları) > Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne -ObjC -lc++ işaretlerini ekleyin.
  5. Projenizde GoogleCast.framework veya GoogleCast.xcframework öğesini sağ tıklayın ve "Finder'da Göster"i seçin.
  6. GoogleCastCoreResources.bundle ve GoogleCastUIResources.bundle öğelerini, daha önce eklediğiniz GoogleCast.framework veya GoogleCast.xcframework öğesinin yanındaki projenize sürükleyip "Gerekirse tüm öğeleri kopyala"yı işaretleyip tüm hedeflere ekleyin.

Dinamik kitaplıklardan birini yüklemek için:

  1. Projenize uygun dinamik SDK'yı indirip sıkıştırmasını açın.
  2. Dinamik GoogleCastSDK kitaplığını ayarlayın:
    1. Projenizde CocoaPods kullanılıyorsa:
      1. Podfile cihazınızı açın ve şu öğeleri kaldırın:
        pod 'google-cast-sdk'
      2. Projenizin kök klasöründe pod install çalıştırın.
    2. Projeniz CocoaPods kullanmıyorsa mevcut Google Cast kitaplığını kaldırın.
  3. Açtığınız .framework veya .xcframework dosyasını, Xcode proje gezginindeki ana projenize (varsa Pods projesine değil) sürükleyin. "Gerekirse tüm öğeleri kopyala"yı işaretleyin ve öğeyi tüm hedeflere ekleyin.
  4. Xcode hedefinizin General sekmesinde, GoogleCast.framework veya GoogleCast.xcframework için Embed and Sign seçeneğini belirleyin.

Mac Catalyst kurulumu

Mac Catalyst'i destekleyen uygulamalarda Cast SDK'sının dinamik kitaplığını kullanın. Çerçeveyi projenize eklemek için manuel kurulum işlemini uygulayın. Ardından Apple belgelerinde belirtildiği gibi, Cast SDK'sını koşullu olarak Mac hedefinden hariç tutun. Statik kitaplıklar, iOS mimarisi için önceden derlenir. Bu durum, Mac hedefine göre derleme yaparken bağlayıcı hatasına neden olur.

Uygulamanızı App Store'da yayınlama

Uygulamanızı App Store'da yayınlamadan önce, kullanılmayan mimarileri uygulama paketinden çıkarmak için strip_unused_archs.sh kabuk komut dosyasını çalıştırmanız gerekir. Bu komut dosyası, iOS için Cast SDK'sında yer alır.