Thiết lập dự án Xcode

Sau khi bật tính năng thanh toán và tạo khoá API, hãy thiết lập dự án Xcode mà bạn dùng để phát triển ứng dụng.

Ghi chú phát hành được cung cấp cho mỗi bản phát hành.

Bước 1: Cài đặt phần mềm cần thiết

Để tạo một dự án bằng SDK bản đồ dành cho iOS, hãy tải xuống và cài đặt:

  • Xcode phiên bản 26.0 trở lên

Bước 2: Tạo dự án Xcode và cài đặt SDK bản đồ dành cho iOS

Kích thước cài đặt SDK sẽ khác nhau. Ví dụ: kích thước cài đặt của SDK bản đồ dành cho iOS phiên bản 9.0 là khoảng 18 MB.

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

Bạn có thể cài đặt SDK bản đồ dành cho iOS thông qua Trình quản lý gói Swift. Để thêm SDK, hãy đảm bảo bạn đã xoá mọi phần phụ thuộc hiện có của SDK bản đồ dành cho iOS.

Để thêm SDK vào một dự án mới hoặc hiện có, hãy làm theo các bước sau:

  1. Mở project hoặc workspace Xcode, sau đó chuyển đến File > Add Package Dependencies (Tệp > Thêm phần phụ thuộc của gói).
  2. Nhập https://github.com/googlemaps/ios-maps-sdk làm URL, nhấn phím 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à sử dụng tuỳ chọn "Exact Version" (Phiên bản chính xác). Sau khi hoàn tất, hãy nhấp vào "Thêm gói".
  4. Trong cửa sổ Choose Package Products (Chọn sản phẩm gói), hãy xác minh rằng GoogleMaps (đối với các phiên bản cũ hơn 9.0.0, hãy xác minh GoogleMaps, GoogleMapsBase và GoogleMapsCore) sẽ được thêm vào mục tiêu main mà bạn chỉ định. Sau khi hoàn tất, hãy nhấp vào "Thêm gói".
  5. Để xác minh quá trình cài đặt, hãy chuyển đến ngăn General (Chung) của mục tiêu. Trong phần Frameworks, Libraries, and Embedded Content (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 "Package Dependencies" (Phần phụ thuộc của gói) trong "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ừ phiên bản cũ hơn 9.0.0, bạn phải xoá các phần phụ thuộc sau: GoogleMapsBase, GoogleMapsCore và GoogleMapsM4B sau khi nâng cấp. Đừng xoá phần phụ thuộc cho 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, hãy tìm Frameworks, Libraries, and Embedded Content (Khung, thư viện và nội dung được nhúng). Sử dụng dấu trừ(-) để xoá khung sau:

    • GoogleMapsBase (Chỉ dành cho các bản nâng cấp từ phiên bản cũ hơn 9.0.0)
    • GoogleMapsCore (Chỉ dành cho các bản nâng cấp từ phiên bản cũ hơn 9.0.0)
    • GoogleMapsM4B (Chỉ dành cho các bản nâng cấp từ phiên bản cũ hơn 9.0.0)
  2. Trong Xcode, hãy chuyển đến File > Packages > Update To Latest Package Versions (Tệp > Gói > Cập nhật lên phiên bản gói mới nhất).
  3. Để xác minh quá trình cài đặt, hãy chuyển đến phần Package Dependencies (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.

Để xoá các phần phụ thuộc hiện có của SDK bản đồ dành cho iOS được thêm bằng CocoaPods, hãy làm theo các bước sau:

  1. Đóng không gian làm việc Xcode. Mở cửa sổ dòng lệnh 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 ngoài CocoaPods.
Để xoá SDK bản đồ dành cho iOS hiện có đượ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, hãy tìm Frameworks, Libraries, and Embedded Content (Khung, thư viện và nội dung được nhúng). Sử dụng dấu trừ (-) để xoá khung sau:
    • GoogleMaps
    • GoogleMapsBase (Chỉ dành cho các bản cài đặt trước phiên bản 9.2.0)
    • GoogleMapsCore (Chỉ dành cho các bản cài đặt trước phiên bản 9.2.0)
    • GoogleMapsM4B (Chỉ dành cho các bản cài đặt trước phiên bản 9.0.0)
  2. Trong thư mục cấp cao nhất của dự án Xcode, hãy xoá gói GoogleMaps.

Cài đặt thủ công

Hướng dẫn này mô tả cách thêm XCFrameworks chứa SDK bản đồ dành cho iOS vào dự án theo cách thủ công và định cấu hình chế độ cài đặt bản dựng trong Xcode. XCFramework là một gói nhị phân mà bạn sử dụng trên nhiều nền tảng, bao gồm cả các máy dùng Apple silicon.

  1. Tải các tệp nhị phân và tệp tài nguyên SDK sau đây xuống:
  2. Giải nén các tệp để truy cập vào XCFrameworks và tài nguyên.
  3. Nếu bạn chưa có dự án Xcode, hãy tạo một dự án ngay và lưu vào máy cục bộ. Nếu bạn mới bắt đầu phát triển ứng dụng iOS:
    1. Tạo một dự án mới.
    2. Chọn mẫu iOS > App (iOS > Ứ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 Mã nhận dạng gói. Bạn có thể sử dụng giá trị đó để hạn chế khoá API của mình ở bên dưới.
      3. Đặt Interface (Giao diện) của dự án thành Storyboard (Bảng phân cảnh).
      4. Đặt Language (Ngôn ngữ) thành Swift hoặc Objective-C.
  4. Mở thẻ Chung. Kéo các XCFramework sau vào dự án của bạn trong phần Frameworks, Libraries, and Embedded Content (Khung, thư viện và nội dung nhúng). Hãy nhớ chọn Do Not Embed (Không nhúng):
    • GoogleMaps.xcframework
  5. Sao chép 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. 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.
  6. Chọn dự án của bạn trong Project Navigator (Trình điều hướng dự án) rồi chọn mục tiêu của ứng dụng.
  7. Mở thẻ Build Phases (Giai đoạn xây dựng) cho mục tiêu của ứng dụng. Trong phần Link Binary with Libraries (Liên kết tệp nhị phân với thư viện), hãy thêm các khung và thư viện sau:
    • 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
    • MetricKit.framework
    • OpenGLES.framework (Chỉ khi bạn đang sử dụng OpenGL)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. Chọn dự án của bạn, thay vì một mục tiêu cụ thể, rồi mở thẻ Build Settings (Cài đặt bản dựng). Trong phần Linking - General -> Other Linker Flags (Liên kết – Chung -> Cờ trình liên kết khác), hãy thêm -ObjC vào "Debug" (Gỡ lỗi) và "Release" (Phát hành). Nếu không thấy các chế độ cài đặt này, 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ả).

  9. Để cài đặt XCFramework của SDK Địa điểm cho iOS, hãy xem bài viết Bắt đầu với SDK Địa điểm cho iOS.

Bước 3: Thêm khoá API vào dự án

Trong phần Lấy khoá API, bạn đã tạo một khoá API cho ứng dụng của mình. 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 của bạn.

Swift

Thêm khoá API vào AppDelegate.swift như sau:

  1. Thêm câu lệnh nhập sau:
    import GoogleMaps
  2. Thêm đoạn mã sau vào phương thức application(_:didFinishLaunchingWithOptions:), sử dụng khoá API của bạn:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. 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ạ dưới đây:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Thêm khoá API vào AppDelegate.m như sau:

  1. Thêm câu lệnh nhập sau:
    @import GoogleMaps;
  2. Thêm đoạn mã sau vào phương thức application:didFinishLaunchingWithOptions:, sử dụng khoá API của bạn:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. 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ạ dưới đây:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Bước 4 (không bắt buộc): Kiểm tra tệp kê khai về quyền riêng tư của Apple

Apple yêu cầu các ứng dụng trên App Store phải cung cấp thông tin chi tiết về quyền riêng tư của ứng dụng. Hãy truy cập trang Thông tin về quyền riêng tư trên Apple App Store để 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 và để kiểm tra nội dung của tệp này, hãy tạo một kho lưu trữ cho ứng dụng của bạn và tạo báo cáo về quyền riêng tư từ kho lưu trữ đó.

Bước 5 (không bắt buộc): Khai báo lược đồ URL mà API sử dụng

Kể từ iOS 9 và Xcode 7, các ứng dụng khai báo lược đồ URL mà chúng dự định mở bằng cách chỉ định lược đồ trong tệp Info.plist của ứng dụng. SDK bản đồ dành cho iOS sẽ 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 đồ. Do đó, ứng dụng của bạn có thể khai báo các lược đồ URL có liên quan.

Để khai báo lược đồ URL mà SDK bản đồ dành cho iOS sử dụng, hãy thêm các dòng sau vào Info.plist:

 <key>LSApplicationQueriesSchemes</key>
 <array>
        <string>googlechromes</string>
        <string>comgooglemaps</string>
    </array>

Hình ảnh sau đây cho thấy cấu hình trong giao diện người dùng Xcode:

Cấu hình `LSApplicationQueriesSchemes` trong Xcode

Nếu không có nội dung khai báo ở trên, thì các lỗi sau có thể xảy ra khi người dùng nhấn vào biểu trưng Google trên bản đồ:

  • -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"

Để loại bỏ những lỗi này, hãy thêm nội dung khai báo vào Info.plist.

Bước tiếp theo

Giờ đây, khi đã có khoá API và dự án Xcode, bạn có thể tạo và chạy ứng dụng. Navigation SDK cho iOS cung cấp nhiều hướng dẫn và ứng dụng mẫu để giúp bạn bắt đầu. Để biết thêm thông tin, hãy xem: