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

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

    เราขอแนะนำอย่างยิ่งให้คุณปรับแต่งข้อความที่แสดงในข้อความแจ้งของเครือข่าย LAN โดยเพิ่มสตริงสิทธิ์เฉพาะแอปในไฟล์ 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 มีให้ใช้งานจากที่เก็บ GitHub google-cast-ios-sdk

วิธีเพิ่ม 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 ต้องใช้ และไม่จำเป็นต้องใช้แฟล็ก Linker เพิ่มเติม แอปที่รองรับ Mac Catalyst ต้องใช้เฟรมเวิร์กแบบไดนามิก ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่า Mac Catalyst
  • GoogleCastStatic: เฟรมเวิร์กแบบคงที่ ซึ่งต้องมีขั้นตอนการตั้งค่าเพิ่มเติมตามที่อธิบายไว้ในการตั้งค่าเฟรมเวิร์กแบบคงที่

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

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

  1. ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก -ObjC -lc++ ลงในการตั้งค่าบิลด์ > แฟล็ก Linker อื่นๆ
  2. หากแอปใช้คอมโพเนนต์ UI ของ Cast ให้เพิ่ม Asset Bundle ลงในโปรเจ็กต์ด้วยตนเอง โดยทำดังนี้
    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 ในแท็บ General ให้เลือก Embed and Sign สำหรับ GoogleCast.xcframework

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

  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