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

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

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

การตั้งค่า Xcode

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

    หากใช้ Swift Package Manager ให้อัปเดตแพ็กเกจ google-cast-ios-sdk เป็นเวอร์ชัน 4.8.6

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

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

    ระบุ NSBonjourServices ใน Info.plist เพื่อ อนุญาตให้การค้นหาเครือข่าย LAN สำเร็จ

    คุณจะต้องเพิ่มทั้ง _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>

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

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

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

การตั้งค่า Swift Package Manager

วิธีผสานรวม Google Cast ที่แนะนำคือการใช้ Swift Package Manager (SPM) แพ็กเกจ Cast iOS SDK พร้อมให้ใช้งานจากที่เก็บ google-cast-ios-sdk ใน GitHub

วิธีเพิ่ม Cast iOS SDK ลงในโปรเจ็กต์ใน Xcode

  1. ใน Xcode ให้เลือกไฟล์ > เพิ่มแพ็กเกจ...
  2. ป้อน URL ของที่เก็บข้อมูล https://github.com/googlecast/google-cast-ios-sdk
  3. เลือกกฎการกำหนดเวอร์ชัน เช่น เลือกจนถึงเวอร์ชันหลักถัดไปที่มีเวอร์ชันขั้นต่ำ 4.8.6 เพื่อรับ การอัปเดตที่เข้ากันได้โดยไม่มีการเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องโดยไม่คาดคิด
  4. คลิกเพิ่มแพ็กเกจ
  5. เลือกผลิตภัณฑ์ GoogleCastDynamic หรือ GoogleCastStatic แล้วเพิ่มลงในเป้าหมายแอป

เลือกตัวแปรของเฟรมเวิร์ก

แพ็กเกจ Cast iOS SDK มีผลิตภัณฑ์ 2 รายการ ได้แก่

  • GoogleCastDynamic: เฟรมเวิร์กแบบไดนามิก ซึ่งรวมถึงทรัพยากรของชิ้นงาน ทั้งหมดที่คอมโพเนนต์ UI ของ Cast ต้องการ และไม่จำเป็นต้องมี แฟล็กของลิงเกอร์เพิ่มเติม แอปที่รองรับ Mac Catalyst ต้องใช้เฟรมเวิร์กแบบไดนามิก ดูข้อมูลเพิ่มเติมได้ที่ การตั้งค่า Mac Catalyst
  • GoogleCastStatic: เฟรมเวิร์กแบบคงที่ โดยต้องทำตามขั้นตอนการตั้งค่าเพิ่มเติมที่อธิบายไว้ใน การตั้งค่าเฟรมเวิร์กแบบคงที่

การตั้งค่าเฟรมเวิร์กแบบคงที่

เฟรมเวิร์กแบบคงที่ต้องไม่มีชุดทรัพยากร ด้วยเหตุนี้ Swift Package Manager จึงไม่สามารถรวมทรัพยากรของชิ้นงานที่คอมโพเนนต์ Cast UI ต้องการ (เช่น รูปภาพ UI, สตอรี่บอร์ด และไฟล์การแปล) กับGoogleCastStatic ผลิตภัณฑ์โดยอัตโนมัติ หากคุณเพิ่ม GoogleCastStatic ลงในเป้าหมาย ให้ทำตามขั้นตอนต่อไปนี้

  1. ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก -ObjC -lc++ ไปยังการตั้งค่าบิลด์ > แฟล็ก Linker อื่นๆ
  2. หากแอปใช้คอมโพเนนต์ UI ของ Cast ให้เพิ่มชุดเนื้อหาลงในโปรเจ็กต์ด้วยตนเอง โดยทำดังนี้
    1. ดาวน์โหลดไลบรารีแบบคงที่จากการดาวน์โหลด ตรวจสอบว่าเวอร์ชันของไลบรารีแบบคงที่ตรงกับเวอร์ชันของ แพ็กเกจที่คุณเพิ่ม
    2. ค้นหาโฟลเดอร์ Resources ในไดเรกทอรีที่คลายซิปแล้ว และลากไฟล์ .bundle ทั้งหมดไปที่โปรเจ็กต์ Xcode เลือก "คัดลอกรายการทั้งหมดหาก จำเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด

การตั้งค่า CocoaPods

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

วิธีการต่อไปนี้มีไว้สําหรับการเพิ่ม Cast iOS SDK ลงในโปรเจ็กต์ โดยไม่ใช้ Swift Package Manager

ดาวน์โหลด

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

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

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

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

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

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

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

  1. ถอนการติดตั้ง GoogleCastSDK เวอร์ชันปัจจุบัน (หากมี)
  2. เพิ่มไลบรารี Protobuf v3.13 ขึ้นไป โดยทำตามวิธีการที่อยู่ใน ที่เก็บ Protobuf GitHub

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

  1. ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก -ObjC -lc++ ไปยัง การตั้งค่าการสร้าง > แฟล็ก Linker อื่นๆ
  2. ค้นหาโฟลเดอร์ Resources ในไดเรกทอรีที่คลายซิปแล้ว แล้ว ลากไฟล์ .bundle ทั้งหมดไปยังโปรเจ็กต์ข้าง GoogleCast.xcframework ที่คุณเพิ่มไว้ก่อนหน้านี้ เลือก "คัดลอกรายการทั้งหมด หากจำเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด

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

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