การตั้งค่าสำหรับการพัฒนาด้วย Cast Application Framework (CAF) สำหรับ iOS

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

ดูคำอธิบายคลาสและเมธอดทั้งหมดในเอกสารอ้างอิง Google Cast iOS API

การตั้งค่า Xcode

iOS 14

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

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

    หรือ ดึง SDK มาเอง

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

    ระบุ NSBonjourServices ใน Info.plist เพื่อให้การค้นพบเครือข่ายภายในสําเร็จใน iOS 14

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

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

    อัปเดตคำนิยาม NSBonjourServices ของตัวอย่างต่อไปนี้ และแทนที่ "ABCD1234" ด้วยรหัสแอปของคุณ

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. เพิ่ม NSLocalNetworkUsageDescription ลงใน Info.plist

    เราขอแนะนําอย่างยิ่งให้คุณปรับแต่งข้อความที่แสดงในพรอมต์เครือข่ายภายในด้วยการเพิ่มสตริงสิทธิ์เฉพาะแอปในไฟล์ Info.plist ของแอปสําหรับ NSLocalNetworkUsageDescription เช่น เพื่ออธิบายการค้นพบ Cast และบริการการค้นพบอื่นๆ เช่น DIAL

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    ข้อความนี้จะปรากฏเป็นส่วนหนึ่งของกล่องโต้ตอบการเข้าถึงเครือข่าย LAN ของ iOS ดังที่แสดงในภาพตัวอย่าง

    รูปภาพกล่องโต้ตอบสิทธิ์การเข้าถึงเครือข่ายภายในของ Cast
  4. เผยแพร่แอปของคุณอีกครั้งใน Apple App Store

    นอกจากนี้ เราขอแนะนำให้คุณเผยแพร่แอปอีกครั้งโดยใช้ 4.8.3 โดยเร็วที่สุด

iOS 13

iOS 12

ตรวจสอบว่าได้ตั้งค่าสวิตช์เข้าถึงข้อมูล Wi-Fi ในส่วนความสามารถของเป้าหมายเป็น "เปิด"

นอกจากนี้ โปรไฟล์การจัดสรรจะต้องรองรับความสามารถเข้าถึงข้อมูล Wi-Fi ด้วย ซึ่งสามารถเพิ่มได้ในพอร์ทัล Apple Developer

การตั้งค่า CocoaPods

วิธีแนะนำในการผสานรวม Google Cast คือการใช้ CocoaPods สําหรับการผสานรวม ให้ใช้ google-cast-sdk CocoaPods

หากต้องการเริ่มต้นใช้งาน ให้ทำตามคู่มือเริ่มต้นใช้งาน

เมื่อตั้งค่า CocoaPods แล้ว ให้ทําตามคู่มือการใช้ CocoaPods เพื่อสร้าง Podfile และเตรียมโปรเจ็กต์ให้พร้อมใช้งานกับ Google Cast SDK

ตัวอย่างวิธีเพิ่ม google-cast-sdk CocoaPod ลงใน Podfile มีดังนี้

use_frameworks!

platform :ios, '14.0'

def target_pods
  pod 'google-cast-sdk'
end

target 'CastVideos-objc' do
  target_pods
end
target 'CastVideos-swift' do
  target_pods
end

สําหรับโปรเจ็กต์ คุณควรระบุช่วงสําหรับพ็อดเพื่อป้องกันการเปลี่ยนแปลงที่ทําให้ใช้งานไม่ได้โดยไม่คาดคิดตามที่ระบุไว้ในคู่มือ podfile

ในสนิปตนี้ ระบบจะอนุญาตให้ใช้เวอร์ชัน 4.8.3 และเวอร์ชันที่อัปเกรดเป็นเวอร์ชันหลักถัดไป (major.minor.patch)

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

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

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

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

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

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

ไลบรารี Cast iOS Sender SDK 4.8.3

คงที่ แบบไดนามิก

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

วิธีติดตั้งไลบรารี

  1. ดาวน์โหลดและแตกไฟล์ SDK ที่เหมาะสมสำหรับโปรเจ็กต์
  2. ตั้งค่าไลบรารี GoogleCastSDK แบบไดนามิก
  3. ลาก .xcframework ที่แตกไฟล์แล้วไปยังโปรเจ็กต์หลักในเครื่องมือนำทางโปรเจ็กต์ Xcode (ไม่ใช่ไปยังโปรเจ็กต์ Pods หากคุณมี) เลือก "คัดลอกรายการทั้งหมดหากจำเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด
  4. ในเป้าหมาย Xcode ให้เลือก Embed and Sign สำหรับ GoogleCast.xcframework ในแท็บ General

หากตั้งค่าคลังแบบคงที่ ให้ทำตามขั้นตอนต่อไปนี้เพิ่มเติมจากขั้นตอนก่อนหน้า

  1. ตั้งค่าไลบรารี 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 ขึ้นไป โดยทําตามวิธีการที่ระบุไว้ในที่เก็บ GitHub ของ Protobuf
  2. ในโปรเจ็กต์ Xcode ให้เพิ่ม Flag -ObjC -lc++ ไปที่การตั้งค่าการสร้าง > Flag อื่นๆ ของ Linker
  3. ค้นหาโฟลเดอร์ Resources ในไดเรกทอรีที่แตกไฟล์แล้ว และลาก GoogleCastCoreResources.bundle, GoogleCastUIResources.bundle และ MaterialDialogs.bundle ไปไว้ในโปรเจ็กต์ข้าง GoogleCast.xcframework ที่คุณเพิ่มไว้ก่อนหน้านี้ เลือก "คัดลอกรายการทั้งหมดหากจำเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด

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

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