หลังจากเปิดใช้การเรียกเก็บเงินและสร้างคีย์ API แล้ว คุณก็พร้อมที่จะตั้งค่าโปรเจ็กต์ Xcode ที่ใช้พัฒนาแอป
บันทึกประจำรุ่นมีให้สำหรับรุ่นต่างๆ
ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น
หากต้องการสร้างโปรเจ็กต์โดยใช้ Maps SDK สำหรับ iOS คุณต้องดาวน์โหลดและติดตั้งสิ่งต่อไปนี้
- Xcode เวอร์ชัน 15.0 ขึ้นไป
ขั้นตอนที่ 2: สร้างโปรเจ็กต์ Xcode และติดตั้ง Maps SDK สำหรับ iOS
คุณสามารถติดตั้ง 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
Security.framework
SystemConfiguration.framework
UIKit.framework
-
เลือกโปรเจ็กต์แทนเป้าหมายที่เจาะจง แล้วเปิดแท็บการตั้งค่าการสร้าง ในส่วนการลิงก์ - ทั่วไป -> Flag อื่นๆ ของ Linker ให้เพิ่ม
-ObjC
ลงใน "แก้ไขข้อบกพร่อง" และ "รุ่น" หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าการสร้างจากพื้นฐานเป็นทั้งหมด -
หากต้องการติดตั้ง Places SDK สำหรับ iOS XCFramework โปรดดูเริ่มต้นใช้งาน Places SDK สำหรับ iOS
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.3.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 ของคุณ
เพิ่มคีย์ API ลงใน AppDelegate.swift
ดังนี้
- เพิ่มคำสั่งการนําเข้าต่อไปนี้
import GoogleMaps
- เพิ่มข้อมูลต่อไปนี้ลงในเมธอด
application(_:didFinishLaunchingWithOptions:)
โดยใช้คีย์ APIGMSServices.provideAPIKey("
YOUR_API_KEY ") - หากคุณใช้ Places API ด้วย ให้เพิ่มคีย์อีกครั้งตามที่แสดงที่นี่
GMSPlacesClient.provideAPIKey("
YOUR_API_KEY ")
เพิ่มคีย์ 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 มีบทแนะนำและแอปตัวอย่างมากมายที่จะช่วยคุณเริ่มต้นใช้งาน ดูรายละเอียดเพิ่มเติมได้ที่
- เราขอแนะนําให้เริ่มต้นด้วยบทแนะนําต่อไปนี้
- ดูตัวอย่างโค้ดและ codelabs ที่มีให้ใช้งาน
- สำหรับโซลูชันแบบครบวงจร โปรดดูโซลูชัน Maps ที่มี