การตั้งค่าสำหรับการพัฒนาด้วย 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 เพื่อ อนุญาตให้การค้นหาเครือข่าย LAN สำเร็จใน 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. เพิ่ม 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

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

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

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