เฟรมเวิร์ก Cast รองรับ iOS 12 ขึ้นไปและมาพร้อมกับทั้งเฟรมเวิร์กแบบคงที่และแบบไดนามิก
ดูข้อมูลอ้างอิง Google Cast iOS API สําหรับคําอธิบาย คลาสและเมธอดทั้งหมด
โปรดทราบว่าอุปกรณ์แคสต์รุ่นใหม่รองรับโหมดผู้มาเยือนสําหรับ iOS แต่อุปกรณ์รุ่นเก่าไม่รองรับ โปรดดูรายละเอียดที่หัวข้อโหมดผู้มาเยือน - อุปกรณ์แคสต์ที่รองรับ
การตั้งค่า Xcode
iOS 14
-
เพิ่ม Cast iOS SDK 4.7.0 ลงในโครงการของคุณ
หากใช้ CocoaPods ให้ใช้
pod update
เพื่อเพิ่ม SDK 4.7.0 ในโครงการหรือ ดึง SDK ด้วยตนเอง
-
เพิ่ม
NSBonjourServices
ในInfo.plist
ระบุ
NSBonjourServices
ในInfo.plist
เพื่อให้การค้นหาเครือข่ายภายในประสบความสําเร็จใน iOS 14คุณจะต้องเพิ่มทั้ง
_googlecast._tcp
และ_<your-app-id>._googlecast._tcp
เป็นบริการเพื่อให้การค้นหาอุปกรณ์ทํางานได้อย่างถูกต้องappID คือ ReceiverID ซึ่งก็คือรหัสเดียวกันกับ
GCKDiscoveryCriteria
ที่กําหนดไว้อัปเดตคําจํากัดความของ
NSBonjourServices
ตัวอย่างต่อไปนี้และแทนที่ "ABCD1234" ด้วย appID ของคุณ -
Add
NSLocalNetworkUsageDescription
to yourInfo.plist
We strongly recommend that you customize the message shown in the Local Network prompt by adding an app-specific permission string in your app's
Info.plist
file for theNSLocalNetworkUsageDescription
such as to describe Cast discovery and other discovery services, like DIAL.This message will appear as part of the iOS Local Network Access dialog as shown in the mock.
-
Re-release your app to the Apple App Store
We recommend you also re-release your app using 4.7.0 as soon as possible.
iOS 13
iOS 12
Ensure that the Access WiFi Information switch in the Capabilities section of the target is set to "On".
Additionally, your provisioning profile will need to support the Access WiFi Information capability. This can be added in the Apple Developer Portal.
CocoaPods setup
The recommended way of integrating Google Cast is using CocoaPods.
The google-cast-sdk and
google-cast-sdk-no-bluetooth
CocoaPods are available for download.
Use the google-cast-sdk-no-bluetooth
if your app does not require
guest mode or you do not wish to require Bluetooth®
permission.
To get started, follow the getting started guide.
Once CocoaPods is set up, follow the
using CocoaPods guide
to get your Podfile
created and your project ready to use with the Google Cast
SDK.
Here's an example of how to add the google-cast-sdk
CocoaPod to your
Podfile
:
use_frameworks!
platform :ios, '12.0'
def target_pods
pod 'google-cast-sdk'
end
target 'CastVideos-objc' do
target_pods
end
target 'CastVideos-swift' do
target_pods
end
ตัวอย่างวิธีเพิ่ม google-cast-sdk-no-bluetooth
CocoaPod ลงใน
Podfile
ของคุณมีดังนี้:
use_frameworks!
platform :ios, '12.0'
def target_pods
pod 'google-cast-sdk-no-bluetooth'
end
target 'CastVideos-objc' do
target_pods
end
target 'CastVideos-swift' do
target_pods
end
สําหรับโปรเจ็กต์ของคุณ คุณต้องระบุช่วงสําหรับพ็อดเพื่อป้องกันการเปลี่ยนแปลงที่ส่งผลเสียหายที่ไม่คาดคิดตามรายละเอียดในคําแนะนําเกี่ยวกับ Podfile
ในตัวอย่างนี้ เวอร์ชัน 4.7.0 และเวอร์ชันถึงเวอร์ชันหลัก (major.minor.patch) ได้รับอนุญาต
pod 'google-cast-sdk', '~> 4.7.0'
ตัวอย่างเช่น "~> 1.6.7" จะรวมทุกเวอร์ชันตั้งแต่ 1.6.7 ขึ้นไป แต่ไม่รวมเวอร์ชัน 2.0.0
ตั้งค่าด้วยตนเอง
วิธีการต่อไปนี้มีไว้สําหรับเพิ่ม Cast iOS SDK ลงในโครงการของคุณโดยไม่ใช้ CocoaPods
การดาวน์โหลด
หลังจากดาวน์โหลดไลบรารีที่เหมาะสมด้านล่างแล้ว ให้ทําตามขั้นตอนการตั้งค่าเพื่อเพิ่มเฟรมเวิร์กในโครงการของคุณ XCFrameworks มีข้อกําหนดการตั้งค่าเหมือนกับ เฟรมเวิร์กแบบเดิม
มีการระบุไลบรารีที่ไม่มีโหมดผู้มาเยือนสําหรับสถานการณ์ที่แอปของคุณไม่ต้องใช้ฟีเจอร์นี้ หรือคุณไม่ต้องการขออนุญาตใช้ Bluetooth® ซึ่งเปิดตัวใน iOS 13 โปรดดูข้อมูลเพิ่มเติมในเอกสารการเปลี่ยนแปลงของ iOS 13
เฟรมเวิร์กสากล
ส่งไลบรารี iOS Sender SDK 4.7.0 ด้วยคําสั่งต่อไปนี้
คงที่เมื่อใช้โหมดผู้มาเยือน ภาพนิ่งไม่มีโหมดผู้มาเยือน
ไดนามิกพร้อมโหมดผู้มาเยือน ไดนามิกที่ไม่มีโหมดผู้มาเยือน
XCFramework (เบต้า)
เริ่มตั้งแต่เวอร์ชัน 4.7.1 SDK สําหรับ iOS ของ Cast จะสนับสนุน XCFrameworks เพื่อให้สามารถพัฒนาบนคอมพิวเตอร์ Apple M1 และแก้ไขข้อบกพร่องโดยใช้ M1 iOS Simulator
ปัจจุบันไลบรารีเหล่านี้อยู่ในรุ่นเบต้า โปรดรายงานปัญหาไปที่ตัวติดตามปัญหา Cast SDK
ส่งไลบรารีของ iOS Sender SDK XCFramework 4.7.1:
XCFramework แบบคงที่พร้อมโหมดผู้มาเยือน XCFramework แบบคงที่โดยไม่มีโหมดผู้มาเยือน
XCFramework แบบไดนามิกที่มีโหมดผู้มาเยือน XCFramework แบบไดนามิกไม่มีโหมดผู้มาเยือน
ขั้นตอนการตั้งค่า
วิธีติดตั้งไลบรารี static รายการใดรายการหนึ่ง
- ดาวน์โหลดและปลดซิป SDK แบบคงที่สําหรับโครงการของคุณ
- ตั้งค่าไลบรารี Protobuf เวอร์ชันขั้นต่ํา v3.13
- หากโปรเจ็กต์ใช้ CocoaPods ให้ทําดังนี้
-
เปิด
Podfile
และนําgoogle-cast-sdk
ออก (หากมี):pod 'google-cast-sdk'
-
เพิ่มไลบรารี
Protobuf
หากไม่มีpod 'Protobuf', '3.13'
-
เรียกใช้
pod install
ในโฟลเดอร์รูทของโปรเจ็กต์ - หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้ทําดังนี้
-
นํา
GoogleCastSDK
เวอร์ชันปัจจุบันออกถ้ามี - เพิ่มไลบรารี Protobuf v3.13 ขึ้นไป โดยทําตามคําแนะนําใน Protobuf GitHub repo
-
ลาก
.framework
หรือ.xcframework
ที่แตกแล้วลงใน โปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์พ็อด หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" และเพิ่มไปยังเป้าหมายทั้งหมด -
ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก
-ObjC -lc++
ไปยัง Build Settings > Other Linker Flags -
คลิกขวาที่
GoogleCast.framework
หรือGoogleCast.xcframework
ในโปรเจ็กต์ แล้วเลือก "แสดงในตัวค้นหา" -
ลาก
GoogleCastCoreResources.bundle
และGoogleCastUIResources.bundle
ไปยังโปรเจ็กต์ถัดจากGoogleCast.framework
หรือGoogleCast.xcframework
ที่คุณเพิ่มไว้ก่อนหน้านี้ แล้วเลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มลงในเป้าหมายทั้งหมด
วิธีติดตั้งไลบรารีไดนามิกรายการหนึ่ง
- ดาวน์โหลดและแตกไฟล์ SDK แบบไดนามิกที่เหมาะสมสําหรับโปรเจ็กต์ของคุณ
- ตั้งค่าไลบรารี GoogleCastSDK แบบไดนามิก โดยทําดังนี้
- หากโปรเจ็กต์ใช้ CocoaPods ให้ทําดังนี้
-
เปิด
Podfile
แล้วนําออกpod 'google-cast-sdk'
-
เรียกใช้
pod install
ในโฟลเดอร์รูทของโปรเจ็กต์ - หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้นําไลบรารี Google Cast ปัจจุบันออก
-
ลาก
.framework
หรือ.xcframework
ที่แตกแล้วลงใน โปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์พ็อด หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" และเพิ่มไปยังเป้าหมายทั้งหมด -
ในเป้าหมาย Xcode ภายใต้แท็บ
General
ให้เลือกEmbed and Sign
สําหรับGoogleCast.framework
หรือGoogleCast.xcframework
การตั้งค่า Mac Catalyst
สําหรับแอปที่รองรับ Mac Catalyst ให้ใช้ไลบรารีแบบไดนามิกของ Cast SDK ทําตามกระบวนการตั้งค่าด้วยตนเองเพื่อเพิ่มเฟรมเวิร์กในโครงการ จากนั้นยกเว้น Cast SDK จากเป้าหมายของ Mac อย่างมีเงื่อนไขดังที่ระบุไว้ในเอกสารของ Apple ไลบรารีแบบคงที่มีการคอมไพล์ล่วงหน้าสําหรับสถาปัตยกรรม iOS ซึ่งทําให้เกิดข้อผิดพลาด Linker เมื่อสร้างกับเป้าหมายของ Mac
การเผยแพร่แอปของคุณไปยัง App Store
ก่อนเผยแพร่แอปไปยัง App Store คุณจําเป็นต้องเรียกใช้สคริปต์เชลล์ strip_unused_archs.sh
เพื่อตัดสถาปัตยกรรมที่ไม่ได้ใช้ออกจาก App Bundle สคริปต์นี้อยู่ใน Cast SDK สําหรับ iOS