การตั้งค่าสําหรับการพัฒนาด้วยเฟรมเวิร์กแอปพลิเคชันแคสต์ (CAF) สําหรับ iOS

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

เฟรมเวิร์กของ Cast รองรับ iOS 12 ขึ้นไปและมีทั้งเฟรมเวิร์กแบบคงที่และแบบไดนามิก

ดูการอ้างอิง Google API สําหรับ iOS API สําหรับคําอธิบายของชั้นเรียนและวิธีการทั้งหมด

โปรดทราบว่าอุปกรณ์แคสต์รุ่นใหม่รองรับโหมดผู้มาเยือนสําหรับ iOS แต่อุปกรณ์รุ่นที่เก่ากว่าไม่รองรับ โปรดดูรายละเอียดที่หัวข้อโหมดผู้มาเยือน - อุปกรณ์แคสต์ที่รองรับ

การตั้งค่า Xcode

iOS 14

  1. เพิ่ม Cast iOS SDK 4.7.0 ในโปรเจ็กต์

    หากใช้ CocoaPods ให้ใช้ pod update เพื่อเพิ่ม SDK 4.7.0 ในโปรเจ็กต์

    หรือ ดึง SDK ด้วยตนเอง

  2. เพิ่ม NSBonjourServices ใน Info.plist

    ระบุ NSBonjourServices ใน Info.plist ของคุณเพื่อให้การค้นพบเครือข่ายในพื้นที่ใน iOS 14 ประสบความสําเร็จ

    คุณจะต้องเพิ่มทั้ง _googlecast._tcp และ _<your-app-id>._googlecast._tcp เป็นบริการเพื่อให้อุปกรณ์ค้นหาทํางานได้อย่างถูกต้อง

    appID คือ ReceiverID ซึ่งเป็นรหัสเดียวกันกับที่กําหนดไว้ใน GCKDiscoveryCriteria

    อัปเดตคําจํากัดความของ NSBonjourServices ตัวอย่างต่อไปนี้และแทนที่ "ABCD1234" ด้วย appID

    <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

ตัวอย่างวิธีเพิ่ม CocoaPod google-cast-sdk-no-bluetooth ไปยัง Podfile

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

ในข้อมูลโค้ดนี้ เวอร์ชัน 4.7.0 และเวอร์ชันถึงเวอร์ชันหลัก (major.minor.patch) จะได้รับอนุญาต

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

ตัวอย่างเช่น "~> 1.6.7" จะรวมทุกเวอร์ชันตั้งแต่ 1.6.7 ขึ้นไป แต่ไม่รวมเวอร์ชัน 2.0.0

ตั้งค่าด้วยตนเอง

วิธีการต่อไปนี้ใช้สําหรับเพิ่ม SDK ของ iOS ลงในโครงการของคุณโดยไม่ต้องใช้ CocoaPods

การดาวน์โหลด

หลังจากดาวน์โหลดไลบรารีที่เหมาะสมด้านล่างแล้ว ให้ทําตามขั้นตอนการตั้งค่าเพื่อเพิ่มเฟรมเวิร์กลงในโปรเจ็กต์ XCFrameworks มีข้อกําหนดการตั้งค่าเหมือนกับเฟรมเวิร์กสากลแบบเดิม

เราจัดเตรียมไลบรารีที่ไม่มีโหมดผู้มาเยือนไว้ให้ในสถานการณ์ที่แอปของคุณไม่ต้องใช้ฟีเจอร์ดังกล่าว หรือคุณไม่ต้องการขอสิทธิ์ Bluetooth® ซึ่งเปิดตัวใน iOS 13 แล้ว โปรดดูข้อมูลเพิ่มเติมในเอกสารการเปลี่ยนแปลงของ iOS 13

เฟรมเวิร์กสากล

แคสต์ไลบรารี iOS Sender SDK 4.7.0 โดยทําดังนี้

คงที่ด้วยโหมดผู้มาเยือน แบบคงที่โดยไม่มีโหมดผู้มาเยือน

ไดนามิกด้วยโหมดผู้มาเยือน ไดนามิกที่ไม่มีโหมดผู้มาเยือน

XCFramework (เบต้า)

ตั้งแต่เวอร์ชัน 4.7.1 เป็นต้นไป Cast iOS SDK จะรองรับ XCFrameworks ซึ่งช่วยให้พัฒนาคอมพิวเตอร์ Apple M1 และการแก้ไขข้อบกพร่องได้โดยใช้เครื่องจําลอง M1 iOS

ขณะนี้ไลบรารีเหล่านี้อยู่ในเวอร์ชันเบต้า โปรดรายงานปัญหาไปยังเครื่องมือติดตามปัญหา SDK

แคสต์ไลบรารี iOS Sender SDK XCFramework 4.7.1

XCFramework แบบคงที่พร้อมโหมดผู้มาเยือน XCFramework แบบคงที่โดยไม่มีโหมดผู้มาเยือน

Dynamic XCFramework withโหมดผู้มาเยือน Dynamic XCFramework withoutโหมดผู้มาเยือน

ขั้นตอนการตั้งค่า

วิธีติดตั้งไลบรารีแบบคงที่รายการใดรายการหนึ่ง

  1. ดาวน์โหลดและแตกไฟล์ SDK แบบคงที่สําหรับโปรเจ็กต์ของคุณ
  2. ตั้งค่าไลบรารี Protobuf เวอร์ชันขั้นต่ํา v3.13
    1. หากโปรเจ็กต์ใช้ CocoaPods ให้ทําดังนี้
      1. เปิด Podfile และนํา google-cast-sdk ออก (หากมี)
        pod 'google-cast-sdk'
      2. เพิ่มไลบรารี Protobuf หากไม่มี
        pod 'Protobuf', '3.13'
      3. เรียกใช้ pod install ในโฟลเดอร์รูทของโปรเจ็กต์
    2. หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้ทําดังนี้
      1. นํา GoogleCastSDK เวอร์ชันปัจจุบันออก (หากมี)
      2. เพิ่มไลบรารี Protobuf v3.13 ขึ้นไป โดยทําตามวิธีการในที่เก็บ Protobuf GitHub
  3. ลาก .framework หรือ .xcframework ที่แตกไฟล์ลงในโปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์ Pods หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด
  4. ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก -ObjC -lc++ ใน Build Settings > แฟล็กอื่นๆ ของ Linker
  5. คลิกขวาที่ GoogleCast.framework หรือ GoogleCast.xcframework ในโปรเจ็กต์ แล้วเลือก "แสดงในตัวค้นหา"
  6. ลาก GoogleCastCoreResources.bundle และ GoogleCastUIResources.bundle ไปยังโปรเจ็กต์ถัดจาก GoogleCast.framework หรือ GoogleCast.xcframework ที่คุณเพิ่มไว้ก่อนหน้านี้ แล้วเลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด

วิธีติดตั้งไลบรารีแบบไดนามิก

  1. ดาวน์โหลดและแตกไฟล์ SDK แบบไดนามิกที่เหมาะกับโครงการของคุณ
  2. วิธีตั้งค่าไลบรารี Google CastSDK แบบไดนามิก
    1. หากโปรเจ็กต์ใช้ CocoaPods ให้ทําดังนี้
      1. เปิด Podfile แล้วนําออก
        pod 'google-cast-sdk'
      2. เรียกใช้ pod install ในโฟลเดอร์รูทของโปรเจ็กต์
    2. หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้นําไลบรารี Google Cast ปัจจุบันออก
  3. ลาก .framework หรือ .xcframework ที่แตกไฟล์ลงในโปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์ Pods หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด
  4. ในเป้าหมาย Xcode ในแท็บ General ให้เลือก Embed and Sign สําหรับ GoogleCast.framework หรือ GoogleCast.xcframework

การตั้งค่า Mac Catalyst

สําหรับแอปที่รองรับ Mac Catalyst ให้ใช้ไลบรารีแบบไดนามิกของ Cast SDK ทําตามกระบวนการตั้งค่าด้วยตนเองเพื่อเพิ่มเฟรมเวิร์กลงในโปรเจ็กต์ จากนั้นยกเว้น Cast SDK จากเป้าหมาย Mac อย่างมีเงื่อนไขดังที่ระบุไว้ในเอกสารประกอบของ Apple ไลบรารีแบบคงที่ได้รับการคอมไพล์ล่วงหน้าสําหรับสถาปัตยกรรม iOS ทําให้เกิดข้อผิดพลาด Linker เมื่อสร้างต่อเป้าหมาย Mac

การเผยแพร่แอปของคุณไปยัง App Store

ก่อนเผยแพร่แอปไปยัง App Store คุณต้องเรียกใช้สคริปต์ Shell strip_unused_archs.sh เพื่อตัดสถาปัตยกรรมที่ไม่ได้ใช้ออกจาก App Bundle สคริปต์นี้อยู่ใน Cast SDK สําหรับ iOS