Thiết lập dự án Xcode

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 SDK điều hướng 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 điều hướng

Trình quản lý gói Swift

SDK điều hướng 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 phần phụ thuộc SDK điều hướng hiện có.

Để 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:

  1. Mở Xcode project hoặc workspace của bạn, sau đó chuyển đến Tệp > Thêm phần phụ thuộc của gói.
  2. Nhập https://github.com/googlemaps/ios-navigation-sdk làm URL, nhấn Enter để lấy gói rồi nhấp vào "Add Package" (Thêm gói).
  3. Để 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).
  4. Trong cửa sổ Choose Package Products (Chọn sản phẩm gói), xác minh để đảm bảo GoogleNavigation sẽ được thêm vào mục tiêu main bạn chỉ định. Sau khi hoàn tất, hãy nhấp vào "Add Package" (Thêm gói).
  5. Để 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:

  1. 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, GoogleMapsCoreGoogleMapsM4B sau khi nâng cấp. Không xoá phần phụ thuộc của GoogleMaps. Để 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)
  2. 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".
  3. Để 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.

Để xoá các phần phụ thuộc SDK điều hướng hiện có đã được thêm vào bằng cách sử dụng CocoaPods, hãy làm theo các bước sau:

  1. Đó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
  2. Xoá Podfile, Podfile.resolved và Xcode workspace 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.

Cách xoá SDK điều hướng hiện có dành cho iOS được cài đặt theo cách thủ công: hãy làm theo các bước sau:
  1. 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.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  2. Từ thư mục cấp cao nhất của dự án Xcode, hãy xóa GoogleMaps gói.

CocoaPods

SDK điều hướng 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 CocoaPods Hướng dẫn bắt đầu sử dụng.

sudo gem install cocoapods

Tạo một Podfile cho SDK điều hướng dành cho iOS và sử dụng để cài đặt API và các phần phụ thuộc của API đó:

  1. 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:
    1. Tạo một dự án mới.
    2. Chọn biểu tượng iOS > Mẫu ứng dụng.
    3. Trên màn hình tuỳ chọn dự án:
      1. Nhập Tên dự án.
      2. 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.
      3. Đặt Interface (Giao diện) dự án thành Storyboard (Bảng phân cảnh).
      4. Đặt Language (Ngôn ngữ) thành Swift hoặc GOAL-C.
  2. 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.
  3. 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 điều hướng dành cho iOS: # Nội dung tham khảo về lượt cài đặt Cocoapods #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.0.0'
    end
            
    Hãy nhớ thường xuyên chạy pod outdated để phát hiện những phiên bản mới hơn của Google. Nếu cần, nâng cấp lên phiên bản mới nhất.
  4. Lưu Podfile.
  5. Mở cửa sổ dòng lệnh rồi chuyển đến thư mục chứa Podfile:

    cd <path-to-project>
  6. Chạy lệnh pod install. Thao tác này sẽ cài đặt Các API được chỉ định trong Podfile cùng với mọi phần phụ thuộc.

    pod install
  7. Đó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:

  1. Mở cửa sổ dòng lệnh rồi chuyển đến thư mục dự án chứa Podfile.
  2. Chạy lệnh pod update. Thao tác này sẽ cập nhật tất cả API chỉ định trong Podfile thành phiên bản mới nhất.

Cài đặt theo cách thủ công

Hướng dẫn này cho biết cách thêm thủ công XCFrameworks chứa SDK điều hướng dành cho iOS và SDK Maps dành cho iOS vào dự án của bạn rồi định cấu hình các chế độ 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 chipset M1

Hãy làm theo các bước sau để cài đặt XCFrameworks cho SDK điều hướng dành cho iOS, và SDK bản đồ cho iOS:

  1. Tải các tệp nhị phân SDK và tệp tài nguyên sau đây xuống:
  2. Chạy Xcode và mở một dự án hiện có hoặc tạo một dự án mới dự án. Nếu bạn mới sử dụng iOS, hãy tạo một dự án mới rồi chọn Mẫu ứng dụng iOS.
  3. Xoá tất cả các tệp tham chiếu đến Maps, Điều hướng và Địa điểm hiện có khỏi dự án.
  4. Kéo XCFrameworks sau vào dự án của bạn trong Khung, thư viện và nội dung được nhúng để cài đặt cả Maps và SDK điều hướng (khi được nhắc, hãy chọn Sao chép các mục nếu cần):
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  5. Kéo GoogleMaps.bundle từ GoogleMapsResources mà bạn đã tải xuống vào thư mục cấp cao nhất của dự án Xcode của bạn. Khi được nhắc, hãy nhớ chọn Sao chép các mục nếu cần.
  6. Kéo GoogleNavigation.bundle từ GoogleNavigationResources mà bạn đã tải xuống vào thư mục cấp cao nhất của dự án Xcode của bạn. Khi được nhắc, hãy đảm bảo Chế độ Sao chép các mục vào thư mục của nhóm đích được chọn.
  7. 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.
  8. Mở thẻ Build Phase (Tạo giai đoạn) và trong Liên kết tệp nhị phân với thư viện, thêm các khung và thư viện sau:
    • 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
  9. Trong mục tiêu của ứng dụng, hãy chọn thẻ Khả năng, bật Chế độ nền rồi bật các chế độ sau:
    • Âm thanh, AirPlay và Hình trong hình
    • Thông tin cập nhật vị trí
  10. Chọn dự án của bạn, thay vì mục tiêu cụ thể, rồi mở cửa sổ Build Cài đặt. Trong phần Cờ trình liên kết khác, thêm ‑ObjC cho cả thao tác gỡ lỗiphát hành. Nếu những chế độ cài đặt này không xuất hiện, hãy thay đổi bộ lọc trong Thanh Build Settings (Cài đặt bản dựng) từ Basic (Cơ bản) thành All (Tất cả).
  11. Mở Info.plist rồi thêm các cặp khoá-giá trị sau:
    • Khoá: NSLocationWhenInUseUsageDescription (Quyền riêng tư – Vị trí khi sử dụng – Nội dung mô tả về việc sử dụng)
      Giá trị: "Ứng dụng này cần có quyền sử dụng thông tin vị trí của bạn để đi theo chỉ dẫn từng chặng".
    • Khoá: NSLocationAlwaysAndWhenInUseUsageDescription (Quyền riêng tư – Luôn luôn sử dụng thông tin vị trí và Nội dung mô tả về cách sử dụng khi được sử dụng)
      Giá trị: "Ứng dụng này cần có quyền sử dụng thông tin vị trí của bạn để đi theo chỉ dẫn từng chặng".

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à biết thêm thông tin.

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

Các ví dụ sau đây minh hoạ cách thêm khoá API vào dự án của bạn trong Xcode:

Swift

Thêm khoá API vào AppDelegate.swift của bạn như sau:

  1. Thêm các câu lệnh nhập sau:
    import GoogleMaps
    import GoogleNavigation
  2. Thêm đoạn mã sau vào application(_:didFinishLaunchingWithOptions:) của bạn phương thức:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

Thêm khoá API vào AppDelegate.m của bạn như sau:

  1. Thêm các câu lệnh nhập sau:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. Thêm đoạn mã sau vào application:didFinishLaunchingWithOptions: của bạn phương thức:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

Bước 5: Thêm bản đồ

Mã này minh hoạ cách thêm bản đồ đơn giản vào ViewController hiện có, bao gồm một số chế độ cài đặt ban đầu cho việc điều hướng.

Trước khi có thể bật tính năng điều hướng, người dùng phải đồng ý với các điều khoản và . Để nhắc người dùng, hãy gọi GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(), sau đó kiểm tra để xem liệu các điều khoản đã được chấp nhận hay chưa. Nếu người dùng từ chối các điều khoản, mapView.isNavigationEnabled = true không có hiệu lực, và mapView.navigator là không.

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

Chạy ứng dụng của bạn. Bạn sẽ thấy một bản đồ có tâm điểm tại Kirkland, Washington.

Nếu bản đồ không hiển thị, hãy thử các cách sau:

  • Xác nhận rằng bạn đã cung cấp đúng khoá API.
  • Kiểm tra để đảm bảo bạn đã bật NavSDK trong Cloud Console.
  • Nếu bạn đã cài đặt SDK điều hướng, nhưng dự án của bạn không sử dụng API SDK điều hướng, hãy xoá SDK đó khỏi tệp nhị phân.

Nếu bạn là khách hàng Dịch vụ di động

Nếu bạn là khách hàng sử dụng Dịch vụ di động, hãy tìm hiểu về cách thanh toán trong tài liệu về Khả năng di chuyển. Để biết thêm thông tin về việc ghi lại giao dịch, xem Thiết lập thông tin thanh toán. Để tìm hiểu cách thêm mã giao dịch vào quá trình triển khai SDK điều hướng, hãy xem Liên kết hoạt động sử dụng dịch vụ của bạn với các Giao dịch di động.

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 các hướng dẫn có thể giúp bạn bắt đầu. Để biết thêm thông tin, hãy xem: