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ıfların ve yöntemlerin açıklamaları için Google Cast iOS API Referansı'na bakın.

Xcode kurulumu

iOS 14

  1. Cast iOS SDK 4.8.0'ı projenize ekleme

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

    Aksi halde SDK'yı manuel olarak çekin.

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

    iOS 14'te yerel ağ keşfinin başarılı olmasını sağlamak 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 hizmetlerini hizmet olarak eklemeniz gerekir.

    appID, alıcı kimliğinizdir. Bu, GCKDiscoveryCriteria öğenizde tanımlanan kimlikle aynıdır.

    Aşağıdaki örnek NSBonjourServices tanımını güncelleyip "ABCD1234" ifadesini appID ile 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, beklenmedik şekilde bozulan 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 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 eski tüm sürümleri içerir, ancak 2.0.0 sürümünden öncekileri kapsamaz.

Manuel kurulum

Aşağıdaki talimatlar, Cast iOS SDK'sını CocoaPods kullanmadan projenize eklemeye yöneliktir:

İ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

iOS Sender 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ı, Apple Silicon'a sahip Mac bilgisayarlarda geliştirme yapılmasına ve iOS Simülatörü'nü kullanarak hata ayıklamaya olanak tanıyan XCFrameworks'ü destekler.

iOS Sender SDK XCFramework 4.8.0 kitaplıklarını yayınlama:

Bluetooth ile Statik XCFramework Bluetooth olmadan Statik XCFramework

Bluetooth ile Dynamic XCFramework Bluetooth olmadan Dynamic XCFramework

Kurulum adımları

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

  1. Projenize uygun statik SDK'yı indirip sıkıştırmasını açın.
  2. En küçük sürüm 3.13'te Protobuf kitaplığını 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. Protobuf kitaplığı mevcut değilse 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. 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 öğesini, Xcode proje gezginindeki ana projenize sürükleyin (varsa Pods projesine 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 değerlerini, 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 şunları 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. Açtığınız .framework veya .xcframework öğesini, Xcode proje gezginindeki ana projenize sürükleyin (varsa Pods projesine sürükleyin). "Gerekirse tüm öğeleri kopyala"yı işaretleyin ve öğeyi tüm hedeflere ekleyin.
  4. Xcode hedefinizde, General sekmesinin altında GoogleCast.framework için Embed and Sign veya GoogleCast.xcframework 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. Daha sonra, Apple belgelerinde belirtildiği gibi Cast SDK'sını Mac hedefinden koşullu olarak 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ındadır.