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

Yayın çerçevesi iOS 13 ve sonraki sürümleri destekler ve hem statik hem de dinamik çerçevelerde sunulur.

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 projenize 4.8.0 SDK'sını eklemek için pod update kullanın.

    Aksi takdirde, SDK'yı manuel olarak alın.

  2. NSBonjourServices adlı kullanıcıyı Info.plist listenize ekleyin

    Yerel ağ keşfinin iOS 14'te başarılı olmasını sağlamak için Info.plist bölümünde NSBonjourServices özelliğini belirtin.

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

    appID, alıcı kimliğinizdir. Bu, GCKDiscoveryCriteria cihazınızda tanımlanan kimliktir.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyin ve "ABCD1234"ü appID'nizle 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

Aşağıda, google-cast-sdk-no-bluetooth CocoaPod'u Podfile örneğinize nasıl ekleyeceğinize dair bir örnek 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 beklenmedik şekilde bozulabilecek değişiklikleri önlemek amacıyla kapsülleriniz için bir aralık belirtmeniz gerekir.

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

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

Örneğin, "~> 1.6.7", 1.6.7 ve daha yeni tüm sürümleri içerir, ancak 2.0.0 sürümüne dahil edilmez.

Manuel kurulum

Aşağıdaki talimatlar CocoaPods kullanmadan projenize Cast iOS SDK'sını ekleyebilirsiniz:

İndirilenler

Aşağıdaki uygun kitaplığı indirdikten sonra, çerçeveyi projenize eklemek için kurulum adımlarını uygulayın. Kurulum şartları, XCFrameworks için eski Evrensel Çerçevelerle aynıdır.

Evrensel Çerçeve

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

Bluetooth ile statik Bluetooth olmadan statik

Bluetooth ile dinamik Bluetooth olmadan dinamik

XCFramework

Cast iOS SDK'sı, XCFrameworks'ü destekler. Bu özellik, Apple Simicon kullanan Mac bilgisayarlarda iOS Simülatörü ile hata ayıklamanın yanı sıra geliştirme yapılmasına da olanak tanır.

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

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. Projeniz için uygun statik SDK'yı indirip sıkıştırmasını açın.
  2. Protobuf kitaplığını en düşük sürüm 3.13 ile kurun.
    1. Projeniz CocoaPods kullanıyorsa:
      1. Podfile öğenizi 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 komutunu çalıştırın.
    2. Projeniz CocoaPods kullanmıyorsa:
      1. Varsa 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. Sıkıştırılmamış .framework veya .xcframework öğesini Xcode proje gezgininde ana projenize (varsa) Kapsül projesine sürüklemeyin. "Gerekiyorsa tüm öğeleri kopyalayın" seçeneğini işaretleyin ve tüm hedeflere ekleyin.
  4. Xcode projenizde, -ObjC -lc++ işaretlerini Build Settings (Derleme Ayarları) > Other Linker Flags'e ekleyin.
  5. Projenizde GoogleCast.framework veya GoogleCast.xcframework simgesini sağ tıklayın, ardından "Finder'da Göster"i seçin.
  6. GoogleCastCoreResources.bundle ve GoogleCastUIResources.bundle değerlerini, daha önce eklediğiniz GoogleCast.framework ya da GoogleCast.xcframework öğesinin yanındaki projenize sürükleyin ve "Gerekirse tüm öğeleri kopyalayın" seçeneğini işaretleyip tüm hedeflere ekleyin.

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

  1. Projeniz için uygun dinamik SDK'yı indirip sıkıştırmasını açın.
  2. Dinamik GoogleCastSDK kitaplığını ayarlama:
    1. Projeniz CocoaPods kullanıyorsa:
      1. Podfile cihazınızı açın ve aşağıdakileri kaldırın:
        pod 'google-cast-sdk'
      2. Projenizin kök klasöründe pod install komutunu çalıştırın.
    2. Projeniz CocoaPods kullanmıyorsa mevcut Google Cast kitaplığını kaldırın.
  3. Sıkıştırılmamış .framework veya .xcframework öğesini Xcode proje gezgininde ana projenize (varsa) Kapsül projesine sürüklemeyin. "Gerekiyorsa tüm öğeleri kopyalayın" seçeneğini işaretleyin ve tüm hedeflere ekleyin.
  4. Xcode hedefinizde, General sekmesinin altında GoogleCast.framework veya GoogleCast.xcframework için Embed and Sign öğesini seçin.

Mac Catalyst kurulumu

Mac Catalyst'i destekleyen uygulamalar için Cast SDK'sının dinamik kitaplığını kullanın. Çerçeveyi projenize eklemek için manuel kurulum işlemini uygulayın. Daha sonra, Apple dokümanlarında açıklandığı şekilde Cast SDK'sını Mac hedefinden koşullu olarak hariç tutun. Statik kitaplıklar, iOS mimarisi için önceden derlenir. Bu da Mac hedefi için 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 komut dosyasını çalıştırmanız gerekir. Bu komut dosyası, iOS için Cast SDK'sındadır.