หลังจากเปิดใช้การเรียกเก็บเงินและสร้างคีย์ API แล้ว คุณก็พร้อมที่จะตั้งค่าโปรเจ็กต์ Xcode ที่ใช้พัฒนาแอป
บันทึกประจำรุ่นมีให้สำหรับรุ่นต่างๆ
ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น
หากต้องการสร้างโปรเจ็กต์โดยใช้ Maps SDK สำหรับ iOS คุณต้องดาวน์โหลดและติดตั้งสิ่งต่อไปนี้
- Xcode เวอร์ชัน 15.0 ขึ้นไป
ขั้นตอนที่ 2: สร้างโปรเจ็กต์ Xcode และติดตั้ง Maps SDK สำหรับ iOS
Swift Package Manager
คุณสามารถติดตั้ง Maps SDK สำหรับ iOS ผ่าน Swift Package Manager หากต้องการเพิ่ม SDK โปรดตรวจสอบว่าคุณได้นําทรัพยากร Dependency ของ Maps SDK สําหรับ iOS ที่มีอยู่ออกแล้ว
หากต้องการเพิ่ม SDK ลงในโปรเจ็กต์ใหม่หรือที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้
-
เปิด Xcode
project
หรือworkspace
แล้วไปที่ไฟล์ > เพิ่ม Package Dependency - ป้อน https://github.com/googlemaps/ios-maps-sdk เป็น URL แล้วกด Enter เพื่อดึงข้อมูลแพ็กเกจ แล้วคลิก "เพิ่มแพ็กเกจ"
-
หากต้องการติดตั้ง
version
ที่เฉพาะเจาะจง ให้ตั้งค่าช่องกฎการพึ่งพาเป็นตัวเลือกตามเวอร์ชันรายการใดรายการหนึ่ง สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและใช้ตัวเลือก "เวอร์ชันที่แน่นอน" เมื่อดำเนินการเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ"
หากต้องการอัปเดต package
สำหรับโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้
หากอัปเกรดจากเวอร์ชันที่เก่ากว่า 9.0.0 คุณต้องนําข้อกําหนดต่อไปนี้ออก
GoogleMapsBase
,GoogleMapsCore
และGoogleMapsM4B
หลังจากอัปเกรด อย่านําข้อกําหนดของGoogleMaps
ออก ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่นของเวอร์ชัน 9.0.0จากการตั้งค่าการกําหนดค่าโปรเจ็กต์ Xcode ให้ค้นหาเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง ใช้เครื่องหมายลบ(-) เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
GoogleMapsBase
(สำหรับการอัปเกรดจากเวอร์ชันที่เก่ากว่า 9.0.0 เท่านั้น)GoogleMapsCore
(สำหรับการอัปเกรดจากเวอร์ชันที่เก่ากว่า 9.0.0 เท่านั้น)GoogleMapsM4B
(สำหรับการอัปเกรดจากเวอร์ชันที่เก่ากว่า 9.0.0 เท่านั้น)
- จาก Xcode ให้ไปที่ "ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"
- หากต้องการตรวจสอบการติดตั้ง ให้ไปที่ส่วนแพ็กเกจที่ต้องพึ่งพาของเครื่องมือนำทางโปรเจ็กต์เพื่อยืนยันแพ็กเกจและเวอร์ชัน
หากต้องการนําทรัพยากร Dependency ของ Maps SDK สําหรับ iOS ที่มีอยู่ซึ่งเพิ่มโดยใช้
CocoaPods
ออก ให้ทําตามขั้นตอนต่อไปนี้
- ปิดพื้นที่ทํางาน Xcode เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
นำ
Podfile
,Podfile.resolved
และ Xcodeworkspace
ออกหากคุณไม่ได้ใช้กับสิ่งอื่นนอกเหนือจาก CocoaPods
-
จากการตั้งค่าการกําหนดค่าโปรเจ็กต์ Xcode ให้ค้นหาเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง ใช้เครื่องหมายลบ(-) เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
GoogleMaps
GoogleMapsBase
(สําหรับการติดตั้งก่อนเวอร์ชัน 9.2.0 เท่านั้น)GoogleMapsCore
(สําหรับการติดตั้งก่อนเวอร์ชัน 9.2.0 เท่านั้น)GoogleMapsM4B
(สำหรับการติดตั้งก่อนเวอร์ชัน 9.0.0 เท่านั้น)
-
นำ
GoogleMaps
แพ็กเกจออกจากไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode
การติดตั้งด้วยตนเอง
คู่มือนี้จะแสดงวิธีเพิ่ม XCFrameworks ที่มี Maps SDK สําหรับ iOS ลงในโปรเจ็กต์ด้วยตนเองและกำหนดการตั้งค่าการสร้างใน Xcode XCFramework คือแพ็กเกจไบนารีที่คุณใช้ในแพลตฟอร์มต่างๆ ได้ รวมถึงเครื่องที่ใช้ Apple Silicon
- ดาวน์โหลดไฟล์ไบนารีและไฟล์ทรัพยากร SDK ต่อไปนี้
- แตกไฟล์เพื่อเข้าถึง XCFrameworks และทรัพยากร
- หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์เลยและบันทึกลงในเครื่อง หากคุณเพิ่งเริ่มพัฒนาแอป iOS ให้ทำดังนี้
- สร้างโปรเจ็กต์ใหม่
- เลือกเทมเพลต iOS > แอป
- ในหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
- ป้อนชื่อโปรเจ็กต์
- บันทึกค่าของช่องตัวระบุกลุ่ม คุณสามารถใช้ค่าดังกล่าวเพื่อจํากัดคีย์ API ด้านล่าง
- ตั้งค่าอินเทอร์เฟซของโปรเจ็กต์เป็นสตอรี่บอร์ด
- ตั้งค่าภาษาเป็น Swift หรือ Objective-C
-
เปิดแท็บทั่วไป ลาก XCFramework ต่อไปนี้ลงในโปรเจ็กต์ในส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง ตรวจสอบว่าได้เลือกไม่ฝังแล้วในกรณีต่อไปนี้
GoogleMaps.xcframework
-
คัดลอก
GoogleMaps.bundle
จาก GoogleMapsResources ที่ดาวน์โหลดมาไว้ในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode อย่าลืมเลือกคัดลอกรายการไปยังโฟลเดอร์ของกลุ่มปลายทางเมื่อได้รับข้อความแจ้ง - เลือกโปรเจ็กต์จาก Project Navigator แล้วเลือกเป้าหมายของแอปพลิเคชัน
-
เปิดแท็บระยะการสร้างสำหรับเป้าหมายของแอปพลิเคชัน
ภายในลิงก์ไบนารีกับไลบรารี ให้เพิ่มเฟรมเวิร์กและไลบรารีต่อไปนี้
Accelerate.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
Metal.framework
OpenGLES.framework
(เฉพาะในกรณีที่คุณใช้ OpenGL)QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
-
เลือกโปรเจ็กต์แทนเป้าหมายที่เจาะจง แล้วเปิดแท็บการตั้งค่าการสร้าง ในส่วนการลิงก์ - ทั่วไป -> Flag อื่นๆ ของ Linker ให้เพิ่ม
-ObjC
ลงใน "แก้ไขข้อบกพร่อง" และ "รุ่น" หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าการสร้างจากพื้นฐานเป็นทั้งหมด -
หากต้องการติดตั้ง Places SDK สำหรับ iOS XCFramework โปรดดูเริ่มต้นใช้งาน Places SDK สำหรับ iOS
CocoaPods
Maps SDK สำหรับ iOS มีให้บริการเป็นพอด CocoaPods CocoaPods เป็นเครื่องมือจัดการ Dependency แบบโอเพนซอร์สสำหรับโปรเจ็กต์ Swift และ Objective-C Cocoa
หากยังไม่มีเครื่องมือ CocoaPods ให้ติดตั้งใน macOS โดยเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล โปรดดูรายละเอียดในคู่มือเริ่มต้นใช้งาน CocoaPods
sudo gem install cocoapods
สร้าง Podfile
สำหรับ Maps SDK สำหรับ iOS และใช้ Podfile
ดังกล่าวเพื่อติดตั้ง API และไลบรารีที่เกี่ยวข้อง
- หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์เลยและบันทึกลงในเครื่อง หากคุณเพิ่งเริ่มพัฒนาแอป iOS ให้ทำดังนี้
- สร้างโปรเจ็กต์ใหม่
- เลือกเทมเพลต iOS > แอป
- ในหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
- ป้อนชื่อโปรเจ็กต์
- บันทึกค่าของช่องตัวระบุกลุ่ม คุณสามารถใช้ค่าดังกล่าวเพื่อจํากัดคีย์ API ด้านล่าง
- ตั้งค่าอินเทอร์เฟซของโปรเจ็กต์เป็นสตอรี่บอร์ด
- ตั้งค่าภาษาเป็น Swift หรือ Objective-C
- สร้างไฟล์ชื่อ
Podfile
ในไดเรกทอรีโปรเจ็กต์ ไฟล์นี้จะกำหนดทรัพยากรของโปรเจ็กต์ - แก้ไข
Podfile
และเพิ่ม Dependency พร้อมกับเวอร์ชัน ต่อไปนี้คือตัวอย่างที่มีทรัพยากร Dependency ที่จําเป็นสําหรับ Maps SDK สําหรับ iOS อย่าลืมเรียกใช้source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '9.2.0' end
pod outdated
เป็นประจำเพื่อตรวจหาเมื่อมีเวอร์ชันใหม่ เพื่อให้คุณใช้เวอร์ชันล่าสุดอยู่เสมอ หากจำเป็น ให้อัปเกรดเป็นเวอร์ชันล่าสุด - บันทึก
Podfile
เปิดเทอร์มินัลและไปที่ไดเรกทอรีที่มี
Podfile
cd <path-to-project>
เรียกใช้คำสั่ง
pod install
ซึ่งจะติดตั้ง API ที่ระบุไว้ในPodfile
พร้อมกับ Dependency ทั้งหมดที่อาจมีpod install
ปิด Xcode แล้วเปิด (ดับเบิลคลิก) ไฟล์
.xcworkspace
ของโปรเจ็กต์เพื่อเปิด Xcode นับจากนี้เป็นต้นไป คุณต้องใช้ไฟล์.xcworkspace
เพื่อเปิดโปรเจ็กต์
หากต้องการอัปเดต API สําหรับโปรเจ็กต์ที่มีอยู่ ให้ทําตามขั้นตอนต่อไปนี้
- เปิดเทอร์มินัลและไปที่ไดเรกทอรีโปรเจ็กต์ที่มี
Podfile
- เรียกใช้คำสั่ง
pod update
ซึ่งจะอัปเดต API ทั้งหมดที่ระบุไว้ในPodfile
เป็นเวอร์ชันล่าสุด
ขั้นตอนที่ 3: เพิ่มคีย์ API ลงในโปรเจ็กต์
ในส่วนรับคีย์ API คุณได้สร้างคีย์ API สําหรับแอปแล้ว ตอนนี้ให้เพิ่มคีย์นั้นลงในโปรเจ็กต์ Xcode
ในตัวอย่างต่อไปนี้ ให้แทนที่ YOUR_API_KEY
ด้วยคีย์ API ของคุณ
Swift
เพิ่มคีย์ API ลงใน AppDelegate.swift
ดังนี้
- เพิ่มคำสั่งการนําเข้าต่อไปนี้
import GoogleMaps
- เพิ่มข้อมูลต่อไปนี้ลงในเมธอด
application(_:didFinishLaunchingWithOptions:)
โดยใช้คีย์ APIGMSServices.provideAPIKey("YOUR_API_KEY")
- หากคุณใช้ Places API ด้วย ให้เพิ่มคีย์อีกครั้งตามที่แสดงที่นี่
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
เพิ่มคีย์ API ลงใน AppDelegate.m
ดังนี้
- เพิ่มคำสั่งการนําเข้าต่อไปนี้
@import GoogleMaps;
- เพิ่มข้อมูลต่อไปนี้ลงในเมธอด
application:didFinishLaunchingWithOptions:
โดยใช้คีย์ API[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- หากคุณใช้ Places API ด้วย ให้เพิ่มคีย์อีกครั้งตามที่แสดงที่นี่
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
ขั้นตอนที่ 4 (ไม่บังคับ): ตรวจสอบไฟล์ Privacy Manifest ของ Apple
Apple กําหนดให้ระบุรายละเอียดความเป็นส่วนตัวของแอปสําหรับแอปใน App Store โปรดไปที่หน้ารายละเอียดความเป็นส่วนตัวของ Apple App Store เพื่อดูข้อมูลอัปเดตและข้อมูลเพิ่มเติม
ไฟล์ Manifest ความเป็นส่วนตัวของ Apple จะรวมอยู่ในแพ็กเกจทรัพยากรของ SDK หากต้องการตรวจสอบว่ามีไฟล์ Manifest ความเป็นส่วนตัวรวมอยู่ด้วยและตรวจสอบเนื้อหาของไฟล์ ให้สร้างที่เก็บถาวรของแอปและสร้างรายงานความเป็นส่วนตัวจากที่เก็บถาวร
ขั้นตอนที่ 5 (ไม่บังคับ): ประกาศรูปแบบ URL ที่ API ใช้
ตั้งแต่ iOS 9 และ Xcode 7 เป็นต้นไป แอปจะประกาศรูปแบบ URL ที่ต้องการเปิดได้โดยระบุรูปแบบในไฟล์ Info.plist
ของแอป Maps SDK สําหรับ iOS จะเปิดแอป Google Maps บนอุปกรณ์เคลื่อนที่เมื่อผู้ใช้คลิกโลโก้ Google บนแผนที่ แอปของคุณจึงประกาศรูปแบบ URL ที่เกี่ยวข้องได้
หากต้องการประกาศรูปแบบ URL ที่ Maps SDK สำหรับ iOS ใช้ ให้เพิ่มบรรทัดต่อไปนี้ลงใน Info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
ภาพหน้าจอต่อไปนี้แสดงการกําหนดค่าในอินเทอร์เฟซผู้ใช้ Xcode
หากไม่มีการประกาศข้างต้น ข้อผิดพลาดต่อไปนี้อาจเกิดขึ้นเมื่อผู้ใช้แตะโลโก้ Google บนแผนที่
-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"
หากต้องการแก้ไขข้อผิดพลาดเหล่านี้ ให้เพิ่มประกาศลงใน Info.plist
ขั้นตอนถัดไป
ตอนนี้คุณมีคีย์ API และโปรเจ็กต์ Xcode แล้ว คุณจึงสร้างและเรียกใช้แอปได้ Navigation SDK สำหรับ iOS มีบทแนะนำและแอปตัวอย่างมากมายที่จะช่วยคุณเริ่มต้นใช้งาน ดูรายละเอียดเพิ่มเติมได้ที่
- เราขอแนะนําให้เริ่มต้นด้วยบทแนะนําต่อไปนี้
- ดูตัวอย่างโค้ดและ Codelab ที่มีให้ใช้งาน
- สำหรับโซลูชันแบบครบวงจร โปรดดูโซลูชัน Maps ที่มี