เฟรมเวิร์ก Cast รองรับ iOS 16 ขึ้นไป และมีทั้งเฟรมเวิร์กแบบคงที่และแบบไดนามิก
ดูคำอธิบายของคลาสและเมธอดทั้งหมดได้ที่ข้อมูลอ้างอิง Google Cast iOS APIสำหรับ
การตั้งค่า Xcode
iOS 14
-
เพิ่ม Cast iOS SDK 4.8.6 ลงในโปรเจ็กต์
หากใช้ CocoaPods ให้ใช้
pod updateเพื่อเพิ่ม SDK 4.8.6 ลงในโปรเจ็กต์ -
เพิ่ม
NSBonjourServicesลงในInfo.plistระบุ
NSBonjourServicesในInfo.plistเพื่อ ให้การค้นหาเครือข่ายในพื้นที่สำเร็จใน iOS 14คุณจะต้องเพิ่มทั้ง
_googlecast._tcpและ_<your-app-id>._googlecast._tcpเป็นบริการเพื่อให้การค้นหาอุปกรณ์ ทำงานได้อย่างถูกต้องappID คือ receiverID ซึ่งเป็นรหัสเดียวกับที่กำหนดไว้ใน
GCKDiscoveryCriteriaอัปเดตคำจำกัดความ
NSBonjourServicesในตัวอย่างต่อไปนี้และ แทนที่ "ABCD1234" ด้วย appID -
เพิ่ม
NSLocalNetworkUsageDescriptionลงในInfo.plistเราขอแนะนำอย่างยิ่งให้คุณปรับแต่งข้อความที่แสดงในพรอมต์เครือข่ายในพื้นที่ โดยเพิ่มสตริงการอนุญาตเฉพาะแอปในไฟล์
Info.plistของแอปสำหรับNSLocalNetworkUsageDescriptionเช่น เพื่ออธิบายการค้นหา Cast และบริการค้นหาอื่นๆ เช่น DIALข้อความนี้จะปรากฏเป็นส่วนหนึ่งของกล่องโต้ตอบการเข้าถึงเครือข่ายในพื้นที่ของ iOS ดังที่ แสดงในภาพจำลอง
-
เผยแพร่แอปอีกครั้งไปยัง Apple App Store
เราขอแนะนำให้คุณเผยแพร่แอปอีกครั้งโดยใช้เวอร์ชัน 4.8.6 โดยเร็วที่สุด
iOS 13
iOS 12
ตรวจสอบว่าได้ตั้งค่าสวิตช์เข้าถึงข้อมูล Wi-Fi ในส่วนความสามารถ ของเป้าหมายเป็น "เปิด" แล้ว

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

การตั้งค่า CocoaPods
วิธีที่แนะนำในการผสานรวม Google Cast คือการใช้
CocoaPods หากต้องการผสานรวม ให้ใช้
google-cast-sdk CocoaPods
หากต้องการเริ่มต้นใช้งาน ให้ทำตาม คู่มือการเริ่มต้นใช้งาน
เมื่อตั้งค่า CocoaPods แล้ว ให้ทำตาม
คู่มือการใช้ CocoaPods
เพื่อสร้าง Podfile และเตรียมโปรเจ็กต์ให้พร้อมใช้งานกับ Google Cast
SDK
ตัวอย่างวิธีเพิ่ม CocoaPod google-cast-sdk ลงใน Podfile
use_frameworks!
platform :ios, '16.0'
def target_pods
pod 'google-cast-sdk'
end
target 'CastVideos-objc' do
target_pods
end
target 'CastVideos-swift' do
target_pods
end
สำหรับโปรเจ็กต์ คุณควรกำหนดช่วงสำหรับ Pod เพื่อป้องกันการเปลี่ยนแปลงที่ทำให้เกิดข้อผิดพลาดโดยไม่คาดคิด ตามที่ระบุไว้ใน คู่มือ Podfile
ในข้อมูลโค้ดนี้ ระบบอนุญาตเวอร์ชัน 4.8.6 และเวอร์ชันจนถึงเวอร์ชันหลักถัดไป (major.minor.patch)
pod 'google-cast-sdk', '~> 4.8.6'
เช่น "~> 1.6.7" จะรวมเวอร์ชันทั้งหมดตั้งแต่ 1.6.7 ขึ้นไป แต่ไม่รวมเวอร์ชัน 2.0.0
ตั้งค่าด้วยตนเอง
วิธีการต่อไปนี้ใช้สำหรับเพิ่ม Cast iOS SDK ลงในโปรเจ็กต์โดยไม่ใช้ CocoaPods
ดาวน์โหลด
หลังจากดาวน์โหลดไลบรารีที่เหมาะสมด้านล่างแล้ว ให้ทำตาม ขั้นตอนการตั้งค่าเพื่อเพิ่มเฟรมเวิร์กลงใน โปรเจ็กต์
ไลบรารี Cast iOS Sender SDK 4.8.6
ขั้นตอนการตั้งค่า
วิธีติดตั้งไลบรารี
- ดาวน์โหลดและแยก SDK ที่เหมาะสมสำหรับโปรเจ็กต์
- ตั้งค่าไลบรารี GoogleCastSDK แบบไดนามิก
-
ลาก
.xcframeworkที่คลายซิปแล้วลงในโปรเจ็กต์หลักใน ตัวนำทางโปรเจ็กต์ Xcode (ไม่ใช่ลงในโปรเจ็กต์ Pods หากมี) เลือก "คัดลอกรายการทั้งหมดหากจำเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด -
ในเป้าหมาย Xcode ให้เลือก
Embed and SignสำหรับGoogleCast.xcframeworkในแท็บGeneral
หากคุณกำลังตั้งค่าไลบรารีแบบไดนามิก ให้ทำตามขั้นตอนต่อไปนี้เพิ่มเติมจากขั้นตอนก่อนหน้า
- ตั้งค่าไลบรารี Protobuf ด้วยเวอร์ชันขั้นต่ำ v3.13
- หากโปรเจ็กต์ใช้ CocoaPods ให้ทำดังนี้
-
เปิด
Podfileแล้วนำgoogle-cast-sdkออกหากมีpod 'google-cast-sdk'
-
เพิ่มไลบรารี
Protobufหากไม่มีpod 'Protobuf', '3.13'
-
เรียกใช้
pod installในโฟลเดอร์รูทของโปรเจ็กต์ - หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้ทำดังนี้
-
นำ
GoogleCastSDKเวอร์ชันปัจจุบันออกหากมี - เพิ่มไลบรารี Protobuf เวอร์ชัน 3.13 ขึ้นไป โดยทำตามวิธีการที่พบใน ที่เก็บข้อมูล Protobuf GitHub repo
หากคุณกำลังตั้งค่าไลบรารีแบบคงที่ ให้ทำตามขั้นตอนต่อไปนี้เพิ่มเติมจากขั้นตอนก่อนหน้า
-
ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก
-ObjC -lc++ลงใน การตั้งค่าการสร้าง > แฟล็ก Linker อื่นๆ
-
ค้นหาโฟลเดอร์ Resources ในไดเรกทอรีที่คลายซิปแล้ว
ลากไฟล์
.bundleทั้งหมดลงในโปรเจ็กต์ข้างGoogleCast.xcframeworkที่คุณเพิ่มไว้ก่อนหน้านี้ เลือก "คัดลอกรายการทั้งหมด หากจำเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด
การตั้งค่า Mac Catalyst
สำหรับแอปที่รองรับ Mac Catalyst ให้ใช้ไลบรารีแบบไดนามิกของ Cast SDK ทำตามกระบวนการตั้งค่าด้วยตนเองเพื่อเพิ่ม เฟรมเวิร์กลงในโปรเจ็กต์ จากนั้นยกเว้น Cast SDK จากเป้าหมาย Mac แบบมีเงื่อนไขตามที่ระบุไว้ใน เอกสารประกอบของ Apple ไลบรารีแบบคงที่ได้รับการคอมไพล์ล่วงหน้าสำหรับสถาปัตยกรรม iOS ซึ่งทำให้เกิดข้อผิดพลาดของ Linker เมื่อสร้างเทียบกับเป้าหมาย Mac