หลังจากเปิดใช้การเรียกเก็บเงินและสร้างคีย์ API คุณก็พร้อมที่จะตั้งค่า Xcode แล้ว ที่คุณใช้เพื่อพัฒนาแอปของคุณ
บันทึกประจำรุ่นจะพร้อมใช้งานสำหรับแต่ละรายการ
ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น
หากต้องการสร้างโปรเจ็กต์โดยใช้ Navigation SDK สำหรับ iOS คุณต้องดาวน์โหลดและติดตั้งดังนี้
- Xcode เวอร์ชัน 15.0 ขึ้นไป
ขั้นตอนที่ 2: สร้างโปรเจ็กต์ Xcode และติดตั้ง Navigation SDK
เครื่องมือจัดการแพ็กเกจ Swift
SDK การนำทางสามารถติดตั้งผ่าน Swift Package Manager หากต้องการเพิ่ม SDK โปรดตรวจสอบว่าคุณมี นำทรัพยากร Dependency ของ Navigation SDK ที่มีอยู่ออก
หากต้องการเพิ่ม SDK ลงในโปรเจ็กต์ใหม่หรือโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้
-
เปิด Xcode
project
หรือworkspace
แล้วไปที่ ไฟล์ > เพิ่มทรัพยากร Dependency ของแพ็กเกจ - ป้อน https://github.com/googlemaps/ios-navigation-sdk เป็น URL แล้วกด Enter เพื่อดึงข้อมูลแพ็กเกจ แล้วคลิก "เพิ่มแพ็กเกจ"
-
หากต้องการติดตั้ง
version
ที่เจาะจง ให้ตั้งค่าช่องกฎการขึ้นต่อกันเป็นค่าใดค่าหนึ่ง ตัวเลือกตามเวอร์ชัน สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและ โดยใช้ "เวอร์ชันที่แน่นอน" ตัวเลือก เมื่อเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ" -
จากหน้าต่างเลือกผลิตภัณฑ์แพ็กเกจ ให้ยืนยันว่าจะเพิ่ม
GoogleNavigation
ไปยัง เป้าหมายmain
ที่คุณกำหนด เมื่อเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ" -
หากต้องการยืนยันการติดตั้ง ให้ไปที่แผง
General
ของเป้าหมาย คุณควรเห็นแพ็กเกจที่ติดตั้งไว้ในเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง นอกจากนี้ คุณยังสามารถดู "ทรัพยากร Dependency ของแพ็กเกจ" ส่วนของ "Project Navigator" เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ
หากต้องการอัปเดต package
สำหรับโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้
หากกำลังอัปเกรดจากเวอร์ชันก่อน 9.0.0 คุณต้องนำออก ทรัพยากร Dependency ต่อไปนี้
GoogleMapsBase
,GoogleMapsCore
และGoogleMapsM4B
หลังจากอัปเกรด ไม่ต้องนำการอ้างอิงสำหรับGoogleMaps
สำหรับข้อมูลเพิ่มเติม โปรดดู บันทึกประจำรุ่นของเวอร์ชัน 9.0.0จากการตั้งค่าการกำหนดค่าโปรเจ็กต์ Xcode ให้ค้นหา Frameworks, Libraries และเนื้อหาแบบฝัง ใช้เครื่องหมายลบ(-)เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
GoogleMapsBase
(สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)GoogleMapsCore
(สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)GoogleMapsM4B
(สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)
- จาก Xcode ให้ไปที่ "File > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"
- หากต้องการยืนยันการติดตั้ง ให้ไปที่ส่วนการอ้างอิงแพ็กเกจของ Project Navigator เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ
หากต้องการนำทรัพยากร Dependency ของ Navigation SDK ที่มีอยู่ออกโดยใช้
CocoaPods
ให้ทำตามขั้นตอนต่อไปนี้
- ปิดพื้นที่ทำงาน Xcode เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
นำ
Podfile
,Podfile.resolved
และ Xcodeworkspace
หากคุณไม่ได้ใช้สำหรับวัตถุประสงค์อื่นนอกเหนือจาก CocoaPods
-
จากการตั้งค่าการกำหนดค่าโปรเจ็กต์ Xcode ให้ค้นหา Frameworks, Libraries
และเนื้อหาแบบฝัง ใช้เครื่องหมายลบ(-)เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
จากไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode ให้นำ
GoogleMaps
ออก
CocoaPods
Navigation SDK สำหรับ iOS มีให้บริการเป็น พ็อด CocoaPods CocoaPods เป็นผู้จัดการทรัพยากร Dependency แบบโอเพนซอร์สของ Swift และ Objective-C โปรเจ็กต์ Cocoa
หากยังไม่มีเครื่องมือ CocoaPods โปรดติดตั้งใน macOS ภายในวันที่ โดยใช้คำสั่งต่อไปนี้จากเทอร์มินัล โปรดดูรายละเอียดที่ CocoaPods คู่มือเริ่มต้นใช้งาน
sudo gem install cocoapods
สร้าง Podfile
สำหรับ Navigation SDK สำหรับ iOS และใช้
เพื่อติดตั้ง API และทรัพยากร Dependency:
- หากยังไม่มีโปรเจ็กต์ Xcode โปรดสร้างโปรเจ็กต์ในตอนนี้และบันทึกไว้ใน
ในเครื่องของคุณ หากคุณเพิ่งเริ่มใช้การพัฒนาซอฟต์แวร์ iOS ให้ทำดังนี้
- สร้างโปรเจ็กต์ใหม่
- เลือก iOS > เทมเพลตแอป
- บนหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
- ป้อนชื่อโปรเจ็กต์
- บันทึกค่าในช่องตัวระบุแพ็กเกจ คุณใช้ค่าดังกล่าวเพื่อจำกัดคีย์ API ได้ที่ด้านล่าง
- ตั้งค่าโปรเจ็กต์ Interface เป็น Storyboard
- ตั้งค่าภาษาเป็น Swift หรือ Objective-C
- สร้างไฟล์ชื่อ
Podfile
ในไดเรกทอรีโปรเจ็กต์ ช่วงเวลานี้ จะกำหนดทรัพยากร Dependency ของโปรเจ็กต์ - แก้ไข
Podfile
และเพิ่มทรัพยากร Dependency ต่างๆ ควบคู่ไปกับ เวอร์ชัน ต่อไปนี้เป็นตัวอย่างที่มีการพึ่งพิงที่คุณต้องการสำหรับ Navigation SDK สำหรับ iOS # ข้อมูลอ้างอิงการติดตั้ง CocoaPods # โปรดเรียกใช้source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleNavigation', '9.1.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
เป็นเวอร์ชันล่าสุด
การติดตั้งด้วยตนเอง
คู่มือนี้จะแสดงวิธีเพิ่ม XCFrameworks ด้วยตนเองที่มีองค์ประกอบ Navigation SDK สำหรับ iOS และ Maps SDK สำหรับ iOS ไปยังโปรเจ็กต์และกำหนดการตั้งค่าบิลด์ใน Xcode XCFramework เป็นแพ็กเกจไบนารีที่คุณใช้ได้ในหลายแพลตฟอร์ม รวมถึงเครื่องที่ใช้ชิปเซ็ต M1
โปรดทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง XCFrameworks สำหรับ Navigation SDK สำหรับ iOS และ Maps SDK สำหรับ iOS
- ดาวน์โหลดไบนารี SDK และไฟล์ทรัพยากรต่อไปนี้
- เปิด Xcode และเปิดโปรเจ็กต์ที่มีอยู่หรือสร้างโปรเจ็กต์ใหม่ หากเพิ่งเริ่มใช้ iOS ให้สร้างโปรเจ็กต์ใหม่และเลือก เทมเพลตแอป iOS
- นำการอ้างอิงแผนที่ การนำทาง และ Places ที่มีอยู่ทั้งหมดออกจากโครงการ
- ลาก XCFrameworks ต่อไปนี้ลงในโปรเจ็กต์ของคุณภายใต้
เฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝังเพื่อติดตั้งทั้ง Maps
และ Navigation SDK (เมื่อได้รับข้อความแจ้ง ให้เลือกคัดลอกรายการหากจำเป็น) ดังนี้
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- ลาก
GoogleMaps.bundle
จาก GoogleMapsResources ที่คุณดาวน์โหลด ในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode เมื่อได้รับข้อความแจ้ง ตรวจสอบว่าได้เลือกคัดลอกรายการหากจำเป็น - ลาก
GoogleNavigation.bundle
จาก GoogleNavigationResources ที่คุณดาวน์โหลด ในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode เมื่อได้รับข้อความแจ้ง ให้ตรวจสอบว่า มีการเลือกคัดลอกรายการไปยังโฟลเดอร์ของกลุ่มปลายทาง - เลือกโปรเจ็กต์จาก Project Navigator แล้วเลือก ของแอปพลิเคชันเป้าหมาย
- เปิดแท็บสร้างระยะ และภายใน
ลิงก์ไบนารีกับไลบรารี เพิ่มเฟรมเวิร์กและไลบรารีต่อไปนี้
Accelerate.framework
AudioToolbox.framework
AVFoundation.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libxml2.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
UserNotifications.framework
WebKit.framework
- ในเป้าหมายของแอปพลิเคชัน ให้เลือกแท็บ Capabilities
เปิดโหมดพื้นหลัง และเปิดใช้โหมดต่อไปนี้
- เสียง, AirPlay และการแสดงภาพซ้อนภาพ
- การอัปเดตตำแหน่ง
- เลือกโปรเจ็กต์แทนเป้าหมายเฉพาะ แล้วเปิด Build
การตั้งค่า ในส่วนแฟล็กอื่นๆ ของ Linker
เพิ่ม
‑ObjC
สำหรับทั้ง debug และ release หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในส่วน แถบสร้างการตั้งค่าจากพื้นฐานเป็นทั้งหมด - เปิด
Info.plist
แล้วเพิ่มคู่คีย์-ค่าต่อไปนี้- คีย์:
NSLocationWhenInUseUsageDescription
(ความเป็นส่วนตัว - ตำแหน่งเมื่อใช้งานอยู่)
ค่า: "แอปนี้ต้องการสิทธิ์ในการใช้ตำแหน่งของคุณสำหรับการนำทางแบบเลี้ยวต่อเลี้ยว" - คีย์:
NSLocationAlwaysAndWhenInUseUsageDescription
(ความเป็นส่วนตัว - ตำแหน่งเสมอและเมื่อไม่ได้ใช้งาน)
ค่า: "แอปนี้ต้องการสิทธิ์ในการใช้ตำแหน่งของคุณสำหรับการนำทางแบบเลี้ยวต่อเลี้ยว"
- คีย์:
ขั้นตอนที่ 3: ตรวจสอบไฟล์ Manifest ด้านความเป็นส่วนตัวของ Apple
Apple ต้องการรายละเอียดความเป็นส่วนตัวของแอปสำหรับแอปใน App Store ไปที่หน้ารายละเอียดความเป็นส่วนตัวของ Apple App Store เพื่อดูข้อมูลอัปเดตและข้อมูลเพิ่มเติม
ไฟล์ Manifest ด้านความเป็นส่วนตัวของ Apple จะรวมอยู่ในแพ็กเกจทรัพยากรของ SDK หากต้องการตรวจสอบว่าไฟล์ Manifest สำหรับความเป็นส่วนตัวรวมอยู่ในไฟล์แล้ว และต้องการตรวจสอบเนื้อหา ให้สร้างที่เก็บถาวรของแอปแล้วสร้างรายงานความเป็นส่วนตัวจากที่เก็บถาวร
ขั้นตอนที่ 4: เพิ่มคีย์ API ลงในโปรเจ็กต์
ตัวอย่างต่อไปนี้แสดงวิธีเพิ่มคีย์ API ลงในโปรเจ็กต์ใน Xcode
Swift
เพิ่มคีย์ API ลงใน AppDelegate.swift
ดังนี้
- เพิ่มคำสั่งการนำเข้าต่อไปนี้
import GoogleMaps import GoogleNavigation
- เพิ่มสิ่งต่อไปนี้ใน
application(_:didFinishLaunchingWithOptions:)
วิธีการ:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
เพิ่มคีย์ API ลงใน AppDelegate.m
ดังนี้
- เพิ่มคำสั่งการนำเข้าต่อไปนี้
@import GoogleMaps; @import GoogleNavigation;
- เพิ่มสิ่งต่อไปนี้ใน
application:didFinishLaunchingWithOptions:
วิธีการ:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
ขั้นตอนที่ 5: เพิ่มแผนที่
โค้ดนี้จะสาธิตวิธีเพิ่มแผนที่อย่างง่ายลงใน ViewController
ที่มีอยู่
รวมถึงการตั้งค่าเบื้องต้นบางอย่างสำหรับการนำทาง
ก่อนที่จะเปิดใช้การนำทางได้ ผู้ใช้ต้องยอมรับข้อกำหนดและ
หากต้องการแจ้งผู้ใช้ ให้โทร
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
จากนั้นตรวจสอบเพื่อ
จะดูว่าข้อกำหนดได้รับการยอมรับหรือยัง หากผู้ใช้ปฏิเสธข้อกำหนด
mapView.isNavigationEnabled = true
ไม่มีผลและ mapView.navigator
จะเป็น
ศูนย์
Swift
import UIKit import GoogleNavigation class ViewController: UIViewController { var mapView: GMSMapView! var locationManager: CLLocationManager! override func loadView() { locationManager = CLLocationManager() locationManager.requestAlwaysAuthorization() let options = GMSMapViewOptions() options.camera = camera options.frame = .zero mapView = GMSMapView(options: options) // Show the terms and conditions. let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.") GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in if termsAccepted { // Enable navigation if the user accepts the terms. self.mapView.isNavigationEnabled = true } else { // Handle the case when the user rejects the terms and conditions. } } view = mapView } // TODO: Add navigation code. }
Objective-C
#import "ViewController.h" @import GoogleNavigation; @interface ViewController () @end @implementation ViewController GMSMapView *_mapView; CLLocationManager *_locationManager; - (void)loadView { _locationManager = [[CLLocationManager alloc] init]; [_locationManager requestAlwaysAuthorization]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67 longitude:-122.20 zoom:14]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = CGRectZero; options.camera = camera; options.mapID = mapID; _mapView = [[GMSMapView alloc] initWithOptions:options]; // Show the terms and conditions. GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."]; [GMSNavigationServices showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions callback:^(BOOL termsAccepted) { if (termsAccepted) { // Enable navigation if the user accepts the terms. _mapView.navigationEnabled = YES; } else { // Handle the case when the user rejects the terms and conditions. } }]; self.view = _mapView; } // TODO: Add navigation code. @end
เรียกใช้แอปพลิเคชัน คุณควรจะเห็นแผนที่ที่มีศูนย์กลางอยู่ที่เคิร์กแลนด์ รัฐวอชิงตัน
หากแผนที่ไม่ปรากฏ ให้ลองทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าคุณได้ระบุคีย์ API ที่ถูกต้อง
- ตรวจสอบว่าเปิดใช้ NavSDK ใน Cloud Console แล้ว
- หากติดตั้ง Nav SDK แล้ว แต่โปรเจ็กต์ของคุณไม่ได้ใช้ Nav SDK API ให้นำออกจากไบนารีของคุณ
หากคุณเป็นลูกค้าที่ใช้บริการระบบเคลื่อนที่
หากคุณเป็นลูกค้าบริการระบบเคลื่อนที่ โปรดดูข้อมูลเกี่ยวกับการเรียกเก็บเงิน ในเอกสารประกอบของ Mobility ดูข้อมูลเพิ่มเติมเกี่ยวกับการบันทึก ธุรกรรม โปรดดู ตั้งค่าการเรียกเก็บเงิน ดูวิธีเพิ่มรหัสธุรกรรมลงในการใช้งาน Navigation SDK ได้ที่ เชื่อมโยงการใช้บริการกับธุรกรรมเกี่ยวกับการเคลื่อนไหว
ขั้นตอนถัดไป
ตอนนี้คุณมีคีย์ API และโปรเจ็กต์ Xcode แล้ว คุณจะสร้างและเรียกใช้แอปได้ Navigation SDK สำหรับ iOS มีบทแนะนำที่จะช่วยคุณ เริ่มต้นใช้งานได้เลย โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อต่อไปนี้