เฟรมเวิร์กของ Cast รองรับ iOS 12 ขึ้นไปและมีทั้งเฟรมเวิร์กแบบคงที่และแบบไดนามิก
ดูการอ้างอิง Google API สําหรับ 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
ตัวอย่างวิธีเพิ่ม CocoaPod google-cast-sdk-no-bluetooth
ไปยัง 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
ตั้งค่าด้วยตนเอง
วิธีการต่อไปนี้ใช้สําหรับเพิ่ม SDK ของ iOS ลงในโครงการของคุณโดยไม่ต้องใช้ CocoaPods
การดาวน์โหลด
หลังจากดาวน์โหลดไลบรารีที่เหมาะสมด้านล่างแล้ว ให้ทําตามขั้นตอนการตั้งค่าเพื่อเพิ่มเฟรมเวิร์กลงในโปรเจ็กต์ XCFrameworks มีข้อกําหนดการตั้งค่าเหมือนกับเฟรมเวิร์กสากลแบบเดิม
เราจัดเตรียมไลบรารีที่ไม่มีโหมดผู้มาเยือนไว้ให้ในสถานการณ์ที่แอปของคุณไม่ต้องใช้ฟีเจอร์ดังกล่าว หรือคุณไม่ต้องการขอสิทธิ์ Bluetooth® ซึ่งเปิดตัวใน iOS 13 แล้ว โปรดดูข้อมูลเพิ่มเติมในเอกสารการเปลี่ยนแปลงของ iOS 13
เฟรมเวิร์กสากล
แคสต์ไลบรารี iOS Sender SDK 4.7.0 โดยทําดังนี้
คงที่ด้วยโหมดผู้มาเยือน แบบคงที่โดยไม่มีโหมดผู้มาเยือน
ไดนามิกด้วยโหมดผู้มาเยือน ไดนามิกที่ไม่มีโหมดผู้มาเยือน
XCFramework (เบต้า)
ตั้งแต่เวอร์ชัน 4.7.1 เป็นต้นไป Cast iOS SDK จะรองรับ XCFrameworks ซึ่งช่วยให้พัฒนาคอมพิวเตอร์ Apple M1 และการแก้ไขข้อบกพร่องได้โดยใช้เครื่องจําลอง M1 iOS
ขณะนี้ไลบรารีเหล่านี้อยู่ในเวอร์ชันเบต้า โปรดรายงานปัญหาไปยังเครื่องมือติดตามปัญหา SDK
แคสต์ไลบรารี iOS Sender SDK XCFramework 4.7.1
XCFramework แบบคงที่พร้อมโหมดผู้มาเยือน XCFramework แบบคงที่โดยไม่มีโหมดผู้มาเยือน
Dynamic XCFramework withโหมดผู้มาเยือน Dynamic XCFramework withoutโหมดผู้มาเยือน
ขั้นตอนการตั้งค่า
วิธีติดตั้งไลบรารีแบบคงที่รายการใดรายการหนึ่ง
- ดาวน์โหลดและแตกไฟล์ 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
-
ลาก
.framework
หรือ.xcframework
ที่แตกไฟล์ลงในโปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์ Pods หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด -
ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก
-ObjC -lc++
ใน Build Settings > แฟล็กอื่นๆ ของ Linker -
คลิกขวาที่
GoogleCast.framework
หรือGoogleCast.xcframework
ในโปรเจ็กต์ แล้วเลือก "แสดงในตัวค้นหา" -
ลาก
GoogleCastCoreResources.bundle
และGoogleCastUIResources.bundle
ไปยังโปรเจ็กต์ถัดจากGoogleCast.framework
หรือGoogleCast.xcframework
ที่คุณเพิ่มไว้ก่อนหน้านี้ แล้วเลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด
วิธีติดตั้งไลบรารีแบบไดนามิก
- ดาวน์โหลดและแตกไฟล์ SDK แบบไดนามิกที่เหมาะกับโครงการของคุณ
- วิธีตั้งค่าไลบรารี Google CastSDK แบบไดนามิก
- หากโปรเจ็กต์ใช้ CocoaPods ให้ทําดังนี้
-
เปิด
Podfile
แล้วนําออกpod 'google-cast-sdk'
-
เรียกใช้
pod install
ในโฟลเดอร์รูทของโปรเจ็กต์ - หากโปรเจ็กต์ไม่ได้ใช้ CocoaPods ให้นําไลบรารี Google Cast ปัจจุบันออก
-
ลาก
.framework
หรือ.xcframework
ที่แตกไฟล์ลงในโปรเจ็กต์หลักในการนําทางโปรเจ็กต์ Xcode (ไม่ใช่โปรเจ็กต์ Pods หากมี) เลือก "คัดลอกรายการทั้งหมดหากจําเป็น" แล้วเพิ่มไปยังเป้าหมายทั้งหมด -
ในเป้าหมาย 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 คุณต้องเรียกใช้สคริปต์ Shell
strip_unused_archs.sh
เพื่อตัดสถาปัตยกรรมที่ไม่ได้ใช้ออกจาก App Bundle สคริปต์นี้อยู่ใน Cast SDK สําหรับ iOS