หลังจากเปิดใช้การเรียกเก็บเงินและสร้างคีย์ API คุณก็พร้อมที่จะตั้งค่า Xcode แล้ว ที่คุณใช้เพื่อพัฒนาแอปของคุณ
บันทึกประจำรุ่นจะพร้อมใช้งานสำหรับแต่ละรายการ
ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น
หากต้องการสร้างโปรเจ็กต์โดยใช้ Maps SDK สำหรับ iOS คุณต้องดาวน์โหลดและติดตั้งสิ่งต่อไปนี้
- Xcode เวอร์ชัน 15.0 ขึ้นไป
ขั้นตอนที่ 2: สร้างโปรเจ็กต์ Xcode และติดตั้ง Maps SDK สำหรับ iOS
เครื่องมือจัดการแพ็กเกจ Swift
Maps SDK สำหรับ iOS สามารถติดตั้งได้ผ่าน Swift Package Manager หากต้องการเพิ่ม SDK โปรดตรวจสอบว่าคุณมี ได้นำ Maps SDK สำหรับทรัพยากร Dependency ของ iOS ที่มีอยู่ออก
หากต้องการเพิ่ม SDK ลงในโปรเจ็กต์ใหม่หรือโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้
-
เปิด Xcode
project
หรือworkspace
แล้วไปที่ไฟล์ > เพิ่ม Package Dependency - ป้อน https://github.com/googlemaps/ios-maps-sdk เป็น URL แล้วกด Enter เพื่อดึงข้อมูลแพ็กเกจ แล้วคลิก "เพิ่มแพ็กเกจ"
-
หากต้องการติดตั้ง
version
ที่เจาะจง ให้ตั้งค่าช่องกฎการขึ้นต่อกันเป็นค่าใดค่าหนึ่ง ตัวเลือกตามเวอร์ชัน สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและ โดยใช้ "เวอร์ชันที่แน่นอน" ตัวเลือก เมื่อเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ" -
จากหน้าต่างเลือกผลิตภัณฑ์แพ็กเกจ ให้เพิ่มการยืนยัน
GoogleMaps
(สำหรับเวอร์ชันที่เก่ากว่า 9.0.0 ให้ยืนยันGoogleMaps
,GoogleMapsBase
และGoogleMapsCore
) ลงในเป้าหมาย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 ให้ไปที่ "ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"
- หากต้องการยืนยันการติดตั้ง ให้ไปที่ส่วนการอ้างอิงแพ็กเกจของ Project Navigator เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ
วิธีนำ Maps SDK ที่มีอยู่สำหรับทรัพยากร Dependency ของ iOS ที่เพิ่มโดยใช้
CocoaPods
ให้ทำตามขั้นตอนต่อไปนี้
- ปิดพื้นที่ทำงาน Xcode เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
นำ
Podfile
,Podfile.resolved
และ Xcodeworkspace
หากคุณไม่ได้ใช้สำหรับวัตถุประสงค์อื่นนอกเหนือจาก CocoaPods
-
จากการตั้งค่าการกำหนดค่าโปรเจ็กต์ Xcode ให้ค้นหา Frameworks, Libraries
และเนื้อหาแบบฝัง ใช้เครื่องหมายลบ(-)เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
GoogleMaps
GoogleMapsBase
(สำหรับการติดตั้งเท่านั้น รุ่นก่อนหน้า 9.0.0)GoogleMapsCore
(สำหรับการติดตั้งเท่านั้น รุ่นก่อนหน้า 9.0.0)GoogleMapsM4B
(สำหรับการติดตั้งก่อนเวอร์ชัน 9.0.0 เท่านั้น)
-
จากไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode ให้นำ
GoogleMaps
ออก
CocoaPods
Maps SDK สำหรับ iOS มีให้บริการเป็นพอด CocoaPods CocoaPods เป็นผู้จัดการทรัพยากร Dependency แบบโอเพนซอร์สของ Swift และ Objective-C โปรเจ็กต์โกโก้
หากยังไม่มีเครื่องมือ CocoaPods โปรดติดตั้งใน macOS ภายในวันที่ โดยใช้คำสั่งต่อไปนี้จากเทอร์มินัล โปรดดูรายละเอียดที่ คู่มือเริ่มต้นใช้งาน CocoaPods
sudo gem install cocoapods
สร้าง Podfile
สำหรับ Maps SDK สำหรับ iOS และใช้ Podfile
ดังกล่าวเพื่อติดตั้ง API และไลบรารีที่เกี่ยวข้อง
- หากยังไม่มีโปรเจ็กต์ Xcode โปรดสร้างโปรเจ็กต์ในตอนนี้และบันทึกไว้ใน
ในเครื่องของคุณ หากคุณเพิ่งเริ่มใช้การพัฒนาซอฟต์แวร์ iOS ให้ทำดังนี้
- สร้างโปรเจ็กต์ใหม่
- เลือก iOS > เทมเพลตแอป
- บนหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
- ป้อนชื่อโปรเจ็กต์
- บันทึกค่าในช่องตัวระบุแพ็กเกจ คุณใช้ค่าดังกล่าวเพื่อจำกัดคีย์ API ได้ที่ด้านล่าง
- ตั้งค่าโปรเจ็กต์ Interface เป็น Storyboard
- ตั้งค่าภาษาเป็น Swift หรือ Objective-C
- สร้างไฟล์ชื่อ
Podfile
ในไดเรกทอรีโปรเจ็กต์ ช่วงเวลานี้ จะกำหนดทรัพยากร Dependency ของโปรเจ็กต์ - แก้ไข
Podfile
และเพิ่มทรัพยากร Dependency ต่างๆ ควบคู่ไปกับ เวอร์ชัน ต่อไปนี้เป็นตัวอย่างที่มีการพึ่งพิงที่คุณต้องการสำหรับ Maps SDK สำหรับ iOS อย่าลืมเรียกใช้source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.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 ที่มี Maps SDK สำหรับ iOS ลงในโปรเจ็กต์ด้วยตนเองและกำหนดการตั้งค่าบิลด์ใน Xcode XCFramework เป็นแพ็กเกจไบนารีที่คุณใช้ได้ในหลายแพลตฟอร์ม รวมถึงเครื่องที่ใช้ Apple silicon- ดาวน์โหลดไบนารี SDK และไฟล์ทรัพยากรต่อไปนี้
- แตกไฟล์เพื่อเข้าถึง XCFrameworks และทรัพยากร
- หากยังไม่มีโปรเจ็กต์ Xcode โปรดสร้างโปรเจ็กต์ในตอนนี้และบันทึกไว้ใน
ในเครื่องของคุณ หากคุณเพิ่งเริ่มใช้การพัฒนาซอฟต์แวร์ iOS ให้ทำดังนี้
- สร้างโปรเจ็กต์ใหม่
- เลือก iOS > เทมเพลตแอป
- บนหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
- ป้อนชื่อโปรเจ็กต์
- บันทึกค่าในช่องตัวระบุแพ็กเกจ คุณใช้ค่าดังกล่าวเพื่อจำกัดคีย์ API ได้ที่ด้านล่าง
- ตั้งค่าโปรเจ็กต์ Interface เป็น Storyboard
- ตั้งค่าภาษาเป็น Swift หรือ Objective-C
-
เปิดแท็บ General ลาก XCFrameworks ต่อไปนี้ลงในโปรเจ็กต์ของคุณ
ในส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง ตรวจสอบว่า
เพื่อเลือก Do Not Embed สำหรับ XCFramework แต่ละรายการ:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.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
ขั้นตอนที่ 3: ตรวจสอบไฟล์ Apple Privacy Manifest
Apple ต้องการรายละเอียดความเป็นส่วนตัวของแอปสำหรับแอปใน App Store ไปที่หน้ารายละเอียดความเป็นส่วนตัวของ Apple App Store เพื่อดูข้อมูลอัปเดตและข้อมูลเพิ่มเติม
ไฟล์ Manifest ด้านความเป็นส่วนตัวของ Apple จะรวมอยู่ในแพ็กเกจทรัพยากรของ SDK หากต้องการตรวจสอบว่าไฟล์ Manifest สำหรับความเป็นส่วนตัวรวมอยู่ในไฟล์แล้ว และต้องการตรวจสอบเนื้อหา ให้สร้างที่เก็บถาวรของแอปแล้วสร้างรายงานความเป็นส่วนตัวจากที่เก็บถาวร
ขั้นตอนที่ 4: เพิ่มคีย์ API ลงในโปรเจ็กต์
ในส่วนรับคีย์ API คุณจะ สร้างคีย์ API สำหรับแอปของคุณแล้ว ตอนนี้ให้เพิ่มคีย์ดังกล่าวลงในโปรเจ็กต์ Xcode
ในตัวอย่างต่อไปนี้ ให้แทนที่ YOUR_API_KEY
ด้วยคีย์ API
Swift
เพิ่มคีย์ API ลงใน AppDelegate.swift
ดังนี้
- เพิ่มคำสั่งการนำเข้าต่อไปนี้
import GoogleMaps
- เพิ่มสิ่งต่อไปนี้ใน
application(_:didFinishLaunchingWithOptions:)
โดยใช้คีย์ API ดังนี้GMSServices.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"];
ขั้นตอนที่ 5: เพิ่มแผนที่
Swift
import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) options.frame = self.view.bounds let mapView = GMSMapView(options: options) self.view.addSubview(mapView) // Creates a marker in the center of the map. let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) marker.title = "Sydney" marker.snippet = "Australia" marker.map = mapView } }
Objective-C
#import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController() @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // Create a GMSCameraPosition that tells the map to display the // coordinate -33.86,151.20 at zoom level 6. GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; [self.view addSubview:mapView]; // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.map = mapView; } @end
ขั้นตอนที่ 5 (ไม่บังคับ): ประกาศรูปแบบ URL ที่ API ใช้
เริ่มตั้งแต่ iOS 9 และ Xcode 7 แอปจะประกาศรูปแบบ URL ที่แอป
ต้องการเปิดด้วยการระบุรูปแบบในไฟล์ Info.plist
ของแอป Maps SDK สําหรับ iOS จะเปิดแอป Google Maps บนอุปกรณ์เคลื่อนที่เมื่อผู้ใช้คลิกโลโก้ Google บนแผนที่ แอปของคุณจึงประกาศรูปแบบ URL ที่เกี่ยวข้องได้
หากต้องการประกาศรูปแบบ URL ที่ Maps SDK สำหรับ iOS ใช้ ให้เพิ่มเมธอด
บรรทัดต่อไปนี้ไปยัง Info.plist
ของคุณ:
ภาพหน้าจอต่อไปนี้แสดงการกำหนดค่าในอินเทอร์เฟซผู้ใช้ Xcode
หากไม่มีการประกาศข้างต้น ข้อผิดพลาดต่อไปนี้อาจเกิดขึ้นเมื่อผู้ใช้แตะ โลโก้ Google บนแผนที่:
- -canOpenURL: ดำเนินการกับ URL: "comgooglemaps://" ไม่สำเร็จ - ข้อผิดพลาด: "แอปนี้ไม่ได้รับอนุญาตให้ค้นหารูปแบบ comgooglemaps"
- -canOpenURL: ล้มเหลวสำหรับ URL: "googlechromes://" - ข้อผิดพลาด: "แอปนี้ไม่ใช่ ได้รับอนุญาตให้ค้นหา Scheme googlechromes"
เพิ่มการประกาศลงในInfo.plist
เพื่อขจัดข้อผิดพลาดเหล่านี้
ขั้นตอนถัดไป
ตอนนี้คุณมีคีย์ API และโปรเจ็กต์ Xcode แล้ว คุณจะสร้างและเรียกใช้แอปได้ Navigation SDK สำหรับ iOS มีบทแนะนำและแอปตัวอย่างมากมายที่สามารถช่วยคุณ เริ่มต้นใช้งาน โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อต่อไปนี้