เฟรมเวิร์กของ Cast รองรับ iOS 13 ขึ้นไป โดยมีให้ใช้งานทั้งในเฟรมเวิร์กแบบคงที่และแบบไดนามิก
ดูข้อมูลอ้างอิง Google Cast iOS API สำหรับคำอธิบายคลาสและเมธอดทั้งหมด
ตั้งค่า Xcode
iOS 14
-
เพิ่ม Cast iOS SDK 4.8.0 ลงในโปรเจ็กต์
หากใช้ CocoaPods ให้ใช้
pod update
เพื่อเพิ่ม SDK 4.8.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.8.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. CocoaPods is supported for both the Universal Framework and XCFramework.
For a Universal Framework integration, use the
google-cast-sdk
and
google-cast-sdk-no-bluetooth
CocoaPods.
For an XCFramework integration, use the google-cast-sdk-xcframework
and
google-cast-sdk-no-bluetooth-xcframework
CocoaPods.
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, '13.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, '13.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.8.0 และเวอร์ชันที่ขึ้นอยู่กับเวอร์ชันหลักถัดไป (major.minor.patch) ได้
pod 'google-cast-sdk', '~> 4.8.0'
เช่น "~> 1.6.7" จะรวมทุกเวอร์ชันตั้งแต่ 1.6.7 ขึ้นไป แต่ไม่รวมเวอร์ชัน 2.0.0
ตั้งค่าด้วยตนเอง
วิธีการต่อไปนี้มีไว้สำหรับเพิ่ม Cast iOS SDK ลงในโปรเจ็กต์ของคุณโดยไม่ต้องใช้ CocoaPods
การดาวน์โหลด
หลังจากดาวน์โหลดไลบรารีที่เหมาะสมด้านล่างแล้ว ให้ทำตามขั้นตอนการตั้งค่าเพื่อเพิ่มเฟรมเวิร์กลงในโปรเจ็กต์ของคุณ XCFrameworks มีข้อกำหนดในการตั้งค่าเหมือนกับ Universal Frameworks เดิม
เฟรมเวิร์กสากล
ไลบรารี Cast iOS Sender เวอร์ชัน 4.8.0 มีดังนี้
อยู่กับที่เมื่อมีบลูทูธ คงที่โดยไม่มีบลูทูธ
ไดนามิกด้วยบลูทูธ ไดนามิกโดยไม่ใช้บลูทูธ
XCFramework
Cast iOS SDK สนับสนุน XCFrameworks ทำให้เกิดการพัฒนาในคอมพิวเตอร์ Mac โดยใช้ Apple Silicon ทั้งยังรองรับการแก้ไขข้อบกพร่องด้วย iOS Simulator ด้วย
ไลบรารี Cast iOS Sender SDK XCFramework 4.8.0:
XCFramework แบบภาพนิ่งพร้อมบลูทูธ XCFramework แบบคงที่โดยไม่ใช้บลูทูธ
Dynamic XCFramework พร้อมบลูทูธ Dynamic XCFramework โดยไม่มีบลูทูธ
ขั้นตอนการตั้งค่า
หากต้องการติดตั้งไลบรารีแบบคงที่ ให้ทำดังนี้
- ดาวน์โหลดและแตกไฟล์ SDK แบบคงที่ที่เหมาะกับโครงการของคุณ
- ตั้งค่าไลบรารี 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
-
ลาก
.framework
หรือ.xcframework
ที่แยกออกมาแล้วลงในโปรเจ็กต์หลักในตัวนำทางโปรเจ็กต์ Xcode (ไม่ใช่ลงในโปรเจ็กต์ Pods หากมี) ทำเครื่องหมายที่ "คัดลอกรายการทั้งหมดหากจำเป็น" และเพิ่มในเป้าหมายทั้งหมด -
ในโปรเจ็กต์ Xcode ให้เพิ่มแฟล็ก
-ObjC -lc++
ไปยังการตั้งค่าบิลด์ > แฟล็ก Linker อื่นๆ -
คลิกขวาที่
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 (ไม่ใช่ลงในโปรเจ็กต์ 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