iOS için Cast Uygulama Çerçevesi (CAF) ile Geliştirme Ayarı

Yayın çerçevesi iOS 12 ve sonraki sürümleri destekler ve hem statik hem dinamik çerçevelere sahiptir.

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

Yeni nesil Yayın cihazlarının iOS için misafir modunu desteklediğini ancak daha eski nesil cihazların desteklemediğini unutmayın. Ayrıntılar için Misafir Modu - Desteklenen Yayın Cihazları bölümüne bakın.

Xcode kurulumu

iOS 14

  1. Projenize Cast iOS SDK 4.7.0'ı ekleme

    CocoaPods kullanıyorsanız projenize 4.7.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.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

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

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

Misafir modu olmayan kitaplıklar sağlanmıştır. Bu özellik, uygulamanızın özelliğe ihtiyaç duymadığı veya iOS 13'te kullanıma sunulan Bluetooth® izinlerini gerekli kılmak istemediğiniz durumlar için sağlanmıştır. Daha fazla bilgi için iOS 13 Değişiklikler belgesini inceleyebilirsiniz.

Evrensel Çerçeve

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

Misafir Modu ile statik Misafir Modu olmadan statik

Misafir Modu ile dinamik Misafir Modu olmadan dinamik

XCFramework (Beta)

4.7.1 sürümünden itibaren, Cast iOS SDK'sı XCFrameworks'ü destekleyerek Apple M1 bilgisayarlarda geliştirmeye ve M1 iOS Simülatörü ile hata ayıklamaya olanak tanır.

Bu kitaplıklar şu anda Beta sürümündedir. Lütfen sorunları Yayın SDK'sı Sorun İzleyici'ye bildirin.

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

Misafir Modu ile Statik XCFramework Misafir Modu olmadan Statik XCFramework

Misafir Modu ile Dinamik XCFramework Misafir Modu 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.