Sau khi bật tính năng thanh toán và tạo khoá API, bạn đã có thể thiết lập Xcode dự án mà bạn dùng để phát triển ứng dụng.
Mỗi ứng dụng đều có ghi chú phát hành bản phát hành.
Bước 1: Cài đặt phần mềm cần thiết
Để tạo dự án bằng cách sử dụng SDK Maps dành cho iOS, bạn phải tải xuống và cài đặt:
- Xcode phiên bản 15.0 trở lên
Bước 2: Tạo dự án Xcode và cài đặt SDK bản đồ cho iOS
Trình quản lý gói Swift
SDK Bản đồ dành cho iOS có thể được cài đặt qua Trình quản lý gói Swift. Để thêm SDK, hãy đảm bảo bạn có xoá mọi SDK Maps hiện có cho các phần phụ thuộc iOS.
Để thêm SDK vào dự án mới hoặc dự án hiện có, hãy làm theo các bước sau:
-
Mở Xcode
project
hoặcworkspace
của bạn, sau đó chuyển đến Tệp > Thêm phần phụ thuộc của gói. - Nhập https://github.com/googlemaps/ios-maps-sdk làm URL, nhấn Enter để lấy gói rồi nhấp vào "Add Package" (Thêm gói).
-
Để cài đặt một
version
cụ thể, hãy đặt trường Quy tắc phần phụ thuộc thành một trong các tuỳ chọn dựa trên phiên bản. Đối với các dự án mới, bạn nên chỉ định phiên bản mới nhất và bằng cách sử dụng "Phiên bản chính xác" . Sau khi hoàn tất, hãy nhấp vào "Add Package" (Thêm gói). -
Từ cửa sổ Choose Package Products (Chọn sản phẩm gói), xác minh
GoogleMaps
(đối với các phiên bản cũ hơn 9.0.0, hãy xác minhGoogleMaps
,GoogleMapsBase
vàGoogleMapsCore
) sẽ được thêm vào mục tiêumain
mà bạn chỉ định. Sau khi hoàn tất, hãy nhấp vào "Add Package" (Thêm gói). -
Để xác minh chế độ cài đặt của bạn, hãy chuyển đến ngăn
General
của mục tiêu. Trong Khung, Thư viện và Nội dung được nhúng, bạn sẽ thấy các gói đã cài đặt. Bạn cũng có thể xem phần "Phần phụ thuộc của gói" của "Project Navigator" (Trình điều hướng dự án) để xác minh gói và phiên bản của gói.
Để cập nhật package
cho một dự án hiện có, hãy làm theo các bước sau:
Nếu đang nâng cấp từ một phiên bản cũ hơn 9.0.0,bạn phải gỡ bỏ các phần phụ thuộc sau:
GoogleMapsBase
,GoogleMapsCore
vàGoogleMapsM4B
sau khi nâng cấp. Không xoá phần phụ thuộc củaGoogleMaps
. Để biết thêm thông tin, hãy xem Ghi chú phát hành phiên bản 9.0.0.Trong phần cài đặt cấu hình dự án Xcode của bạn, hãy tìm Khung, Thư viện và Nội dung được nhúng. Sử dụng dấu trừ(-) để loại bỏ khung sau:
GoogleMapsBase
(Chỉ dành cho bản nâng cấp từ các phiên bản cũ hơn 9.0.0)GoogleMapsCore
(Chỉ dành cho bản nâng cấp từ các phiên bản cũ hơn 9.0.0)GoogleMapsM4B
(Chỉ dành cho bản nâng cấp từ các phiên bản cũ hơn 9.0.0)
- Từ Xcode, hãy chuyển đến "Tệp > Gói hàng > Hãy cập nhật lên phiên bản gói mới nhất".
- Để xác minh việc cài đặt của bạn, hãy chuyển đến phần Package Dependencies (Phần phụ thuộc gói) của Project Navigator (Trình điều hướng dự án) để xác minh gói và phiên bản của gói.
Cách xoá SDK Maps hiện có cho các phần phụ thuộc iOS đã được thêm bằng cách sử dụng
CocoaPods
, hãy làm theo các bước sau:
- Đóng không gian làm việc Xcode của bạn. Mở terminal và thực thi lệnh sau:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Xoá
Podfile
,Podfile.resolved
và Xcodeworkspace
nếu bạn không sử dụng chúng cho bất kỳ mục đích nào khác không phải là CocoaPods.
-
Trong phần cài đặt cấu hình dự án Xcode của bạn, hãy tìm Khung, Thư viện
và Nội dung được nhúng. Sử dụng dấu trừ(-) để loại bỏ khung sau:
GoogleMaps
GoogleMapsBase
(Chỉ dành cho cài đặt cũ hơn phiên bản 9.0.0)GoogleMapsCore
(Chỉ dành cho cài đặt cũ hơn phiên bản 9.0.0)GoogleMapsM4B
(Chỉ dành cho cài đặt cũ hơn phiên bản 9.0.0)
-
Từ thư mục cấp cao nhất của dự án Xcode, hãy xóa
GoogleMaps
gói.
CocoaPods
SDK bản đồ dành cho iOS có sẵn dưới dạng CocoaPods. CocoaPods là trình quản lý phần phụ thuộc nguồn mở cho Swift và Target-C Dự án về ca cao.
Nếu bạn chưa có công cụ CocoaPods, hãy cài đặt công cụ này trên macOS bằng cách chạy lệnh sau từ cửa sổ dòng lệnh. Để biết chi tiết, hãy xem Hướng dẫn bắt đầu sử dụng CocoaPods.
sudo gem install cocoapods
Tạo một Podfile
cho SDK bản đồ dành cho iOS và sử dụng
để cài đặt API và các phần phụ thuộc của API đó:
- Nếu bạn chưa có dự án Xcode, hãy tạo một dự án ngay bây giờ và lưu vào
máy cục bộ của bạn. Nếu bạn mới phát triển iOS:
- Tạo một dự án mới.
- Chọn biểu tượng iOS > Mẫu ứng dụng.
- Trên màn hình tuỳ chọn dự án:
- Nhập Tên dự án.
- Ghi lại giá trị của trường Giá trị nhận dạng gói. Bạn có thể sử dụng giá trị đó để hạn chế khoá API ở bên dưới.
- Đặt Interface (Giao diện) dự án thành Storyboard (Bảng phân cảnh).
- Đặt Language (Ngôn ngữ) thành Swift hoặc GOAL-C.
- Tạo một tệp có tên
Podfile
trong thư mục dự án. Chiến dịch này tệp xác định các phần phụ thuộc của dự án. - Chỉnh sửa
Podfile
và thêm các phần phụ thuộc cùng với các phần phụ thuộc phiên bản. Sau đây là ví dụ về phần phụ thuộc mà bạn cần cho thuộc tính SDK Bản đồ dành cho 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
Hãy nhớ thường xuyên chạypod outdated
để phát hiện khi có sự kiện mới hơn để đảm bảo bạn luôn sử dụng phiên bản mới nhất. Nếu cần, hãy nâng cấp lên phiên bản mới nhất. - Lưu
Podfile
. Mở cửa sổ dòng lệnh rồi chuyển đến thư mục chứa
Podfile
:cd <path-to-project>
Chạy lệnh
pod install
. Thao tác này sẽ cài đặt API được chỉ định trongPodfile
cùng với mọi phần phụ thuộc mà chúng có thể có.pod install
Đóng Xcode rồi mở (nhấp đúp)
.xcworkspace
để chạy Xcode. Kể từ thời điểm này trở đi, bạn phải dùng tệp.xcworkspace
để mở dự án.
Để cập nhật API cho một dự án hiện có, hãy làm theo các bước sau:
- Mở cửa sổ dòng lệnh rồi chuyển đến thư mục dự án chứa
Podfile
. - Chạy lệnh
pod update
. Thao tác này sẽ cập nhật tất cả API chỉ định trongPodfile
thành phiên bản mới nhất.
Cài đặt thủ công
Hướng dẫn này cho biết cách thêm XCFrameworks chứa SDK bản đồ dành cho iOS theo cách thủ công vào dự án của bạn và định cấu hình cài đặt bản dựng trong Xcode. XCFramework là một gói nhị phân mà bạn có thể sử dụng trên nhiều nền tảng, bao gồm cả các máy sử dụng Apple silicon.- Tải các tệp nhị phân SDK và tệp tài nguyên sau đây xuống:
- Giải nén các tệp để truy cập vào XCFrameworks và các tài nguyên.
- Nếu bạn chưa có dự án Xcode, hãy tạo một dự án ngay bây giờ và lưu vào
máy cục bộ của bạn. Nếu bạn mới phát triển iOS:
- Tạo một dự án mới.
- Chọn biểu tượng iOS > Mẫu ứng dụng.
- Trên màn hình tuỳ chọn dự án:
- Nhập Tên dự án.
- Ghi lại giá trị của trường Giá trị nhận dạng gói. Bạn có thể sử dụng giá trị đó để hạn chế khoá API ở bên dưới.
- Đặt Interface (Giao diện) dự án thành Storyboard (Bảng phân cảnh).
- Đặt Language (Ngôn ngữ) thành Swift hoặc GOAL-C.
-
Mở thẻ Chung. Kéo XCFrameworks sau vào dự án của bạn
trong Frameworks, Libraries and Embedded Content (Khung, Thư viện và Nội dung được nhúng). Đảm bảo
để chọn Do Not Embedded (Không nhúng) cho từng XCFramework:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
Sao chép
GoogleMaps.bundle
từ GoogleMapsResources mà bạn đã tải xuống thư mục cấp cao nhất của dự án Xcode. Hãy nhớ chọn Sao chép các mục vào thư mục của nhóm đích khi được nhắc. - Chọn dự án của bạn trên Project Navigator rồi chọn mục tiêu của ứng dụng.
-
Mở thẻ Build giais (Tạo giai đoạn) cho mục tiêu của ứng dụng.
Trong phần Liên kết tệp nhị phân với thư viện, hãy thêm đoạn mã sau
khung và thư viện:
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
(Chỉ khi bạn đang sử dụng OpenGL)QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
-
Chọn dự án của bạn, thay vì mục tiêu cụ thể, rồi mở Build Settings (Cài đặt bản dựng). Trong liên kết Liên kết - Chung -> Trình liên kết khác Gắn cờ, thêm
-ObjC
vào "Gỡ lỗi" và "Release" (Phát hành). Nếu các yêu cầu này các chế độ cài đặt không hiển thị, hãy thay đổi bộ lọc trong thanh Build Settings (Cài đặt bản dựng) từ Cơ bản đến Tất cả. -
Để cài đặt SDK Địa điểm dành cho XCFramework iOS, hãy xem Bắt đầu với SDK Địa điểm dành cho iOS.
Bước 3: Kiểm tra tệp kê khai về quyền riêng tư của Apple
Apple yêu cầu thông tin chi tiết về quyền riêng tư đối với các ứng dụng trên App Store. Hãy truy cập trang Thông tin chi tiết về quyền riêng tư trong App Store của Apple để biết thông tin cập nhật và thông tin khác.
Tệp kê khai về quyền riêng tư của Apple có trong gói tài nguyên cho SDK. Để xác minh rằng Tệp kê khai về quyền riêng tư đã được đưa vào tệp kê khai về quyền riêng tư, cũng như để kiểm tra nội dung trong đó, hãy tạo một bản lưu trữ ứng dụng rồi tạo báo cáo về quyền riêng tư trong kho lưu trữ đó.
Bước 4: Thêm khoá API vào dự án
Trong phần Lấy khoá API, bạn đã tạo khoá API cho ứng dụng của bạn. Bây giờ, hãy thêm khoá đó vào dự án Xcode của bạn.
Trong các ví dụ sau, hãy thay thế YOUR_API_KEY
bằng khoá API.
Swift
Thêm khoá API vào AppDelegate.swift
của bạn như sau:
- Thêm câu lệnh nhập sau:
import GoogleMaps
- Thêm đoạn mã sau vào
application(_:didFinishLaunchingWithOptions:)
của bạn bằng cách sử dụng khoá API của bạn:GMSServices.provideAPIKey("YOUR_API_KEY")
- Nếu bạn cũng đang sử dụng API Địa điểm, hãy thêm lại khoá của bạn như minh hoạ tại đây:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
Thêm khoá API vào AppDelegate.m
của bạn như sau:
- Thêm câu lệnh nhập sau:
@import GoogleMaps;
- Thêm đoạn mã sau vào
application:didFinishLaunchingWithOptions:
của bạn bằng cách sử dụng khoá API của bạn:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Nếu bạn cũng đang sử dụng API Địa điểm, hãy thêm lại khoá của bạn như minh hoạ tại đây:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
Bước 5: Thêm bản đồ
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
Bước 5 (Không bắt buộc): Khai báo giao thức URL mà API sử dụng
Kể từ iOS 9 và Xcode 7, các ứng dụng có thể khai báo các lược đồ URL mà chúng
định mở bằng cách chỉ định các giao thức trong tệp Info.plist
của ứng dụng. Chiến lược phát hành đĩa đơn
SDK Maps dành cho iOS mở ứng dụng di động Google Maps khi người dùng nhấp vào
biểu trưng Google trên bản đồ, từ đó ứng dụng của bạn có thể khai báo URL liên quan
khác.
Để khai báo các giao thức URL được SDK bản đồ sử dụng cho iOS, hãy thêm phương thức
các dòng sau vào Info.plist
của bạn:
Ảnh chụp màn hình sau đây cho thấy cấu hình trong giao diện người dùng của Xcode:
Nếu không có nội dung khai báo ở trên, người dùng có thể xảy ra các lỗi sau đây khi nhấn vào biểu trưng Google trên bản đồ:
- -canOpenURL: không thành công đối với URL: "comgooglemaps://" – lỗi: "Ứng dụng này không phải là được phép truy vấn lược đồ comgooglemaps"
- -canOpenURL: không thực hiện được đối với URL: "googlechromes://" – lỗi: "Ứng dụng này không phải là được phép truy vấn lược đồ googlechromes"
Để loại bỏ những lỗi này, hãy thêm nội dung khai báo vào Info.plist
.
Các bước tiếp theo
Bây giờ, bạn đã có khoá API và dự án Xcode, nên bạn có thể tạo và chạy ứng dụng. SDK điều hướng dành cho iOS cung cấp nhiều hướng dẫn và ứng dụng mẫu có thể giúp bạn bắt đầu. Để biết thêm thông tin, hãy xem: