Nhóm Google Maps Platform thường xuyên cập nhật SDK bằng các tính năng mới, bản sửa lỗi và các điểm cải thiện về hiệu suất. Trang này cung cấp hướng dẫn về cách quản lý các phần phụ thuộc trên SDK di động.
Bạn muốn liên kết với phiên bản nào?
Đối với các ứng dụng quan trọng, hãy liên kết đến bản phát hành nhỏ mới nhất của phiên bản chính mà bạn đang dùng (X.*) và nâng cấp hằng năm lên phiên bản chính mới.
Khi phát hành các phiên bản mới của ứng dụng trong năm, bạn có thể bắt đầu sử dụng các phiên bản nhỏ mới hơn của Maps SDK cho iOS. Việc này sẽ không yêu cầu bạn cập nhật ứng dụng vì các phiên bản phụ mới đều tương thích ngược.
Lợi ích:
Nếu bạn phát hiện thấy vấn đề trong Maps SDK cho iOS, chúng tôi sẽ cung cấp bản sửa lỗi theo cách tương thích ngược trong 12 tháng sau lần phát hành đầu tiên của phiên bản chính, theo Chính sách hỗ trợ thiết bị di động. Bạn sẽ không cần phải nâng cấp khẩn cấp lên một phiên bản SDK không tương thích để hưởng lợi từ các bản sửa lỗi.
Bạn có thể dễ dàng áp dụng các tính năng và điểm cải tiến mới nhất khi ứng dụng của bạn đã được xây dựng trên phiên bản mới nhất.
Việc cập nhật gia tăng hằng năm lên phiên bản chính mới nhất của SDK có thể đòi hỏi ít công sức hơn để điều chỉnh, viết lại và kiểm thử ứng dụng của bạn, so với việc phải xử lý các thay đổi không tương thích ngược được giới thiệu trong nhiều bản phát hành phiên bản chính.
Đối với các ứng dụng không quan trọng, hãy liên kết đến bất kỳ phiên bản cố định nào. Khi nhận được thông báo ngừng cung cấp cho phiên bản cố định đó, bạn sẽ có 12 tháng để cung cấp mã ứng dụng đã cập nhật cho người dùng.
Lợi ích:
Giảm tần suất bảo dưỡng.
Các phiên bản mới của ứng dụng sẽ tiếp tục hỗ trợ các thiết bị của người dùng chạy hệ điều hành di động cũ hơn trong thời gian dài hơn (cho đến khi bạn cần nâng cấp lên phiên bản SDK mới).
Chủ sở hữu dự án có địa chỉ email được giám sát sẽ nhận được thông báo chủ động về những thay đổi ảnh hưởng đến từng dự án của họ. Luôn nắm bắt thông tin về các bản cập nhật lớn, việc ngừng cung cấp và những thay đổi khác.
Cài đặt
Trình quản lý gói Swift
Bạn có thể cài đặt Maps SDK 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 Maps SDK cho iOS.
Để thêm SDK vào một dự án mới hoặc dự án hiện có, hãy làm theo các bước sau:
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).
Để cài đặt một version cụ thể, hãy đặt trường Quy tắc về phần phụ thuộc thành một trong các lựa 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 lựa chọn "Phiên bản chính xác". Sau khi hoàn tất, hãy nhấp vào "Thêm 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ừ phiên bản trước 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. Khô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 những bản nâng cấp từ phiên bản cũ hơn 9.0.0)
GoogleMapsCore (Chỉ dành cho những bản nâng cấp từ phiên bản cũ hơn 9.0.0)
GoogleMapsM4B (Chỉ dành cho những bản nâng cấp từ phiên bản cũ hơn 9.0.0)
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).
Để xác minh quá trình cài đặt, hãy chuyển đến phần Package Dependencies (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 hiện có của Maps SDK cho iOS được thêm bằng CocoaPods, hãy làm theo các bước sau:
Đóng không gian làm việc Xcode. Mở cửa sổ dòng lệnh rồi thực thi lệnh sau:
Xoá Podfile, Podfile.resolved và Xcode workspace nếu bạn không sử dụng chúng cho mục đích nào khác ngoài CocoaPods.
CocoaPods
Luôn chỉ định số phiên bản trong các phần phụ thuộc thay vì sử dụng toán tử lạc quan (~>) vì điều đó có thể dẫn đến các bản dựng không thể đoán trước và không thể lặp lại. Maps SDK dành cho iOS tuân thủ phiên bản ngữ nghĩa và các bản phát hành phiên bản chính mới có chứa các thay đổi có thể gây lỗi.
Ví dụ về phần phụ thuộc Podfile bằng cú pháp Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '16.0'
target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
pod 'GoogleMaps', '10.2.0'
end
Bảo trì và nâng cấp
Để tạo ứng dụng có những điểm cải tiến mới nhất, hãy thường xuyên kiểm tra các phiên bản mới hơn và cập nhật thông số kỹ thuật về phiên bản. Nếu bạn đang cập nhật lên một phiên bản chính mới, hãy xem ghi chú phát hành để biết những thay đổi không tương thích ngược và cách cập nhật mã của bạn.
Ngoài việc thăm dò các phiên bản mới hơn, chủ sở hữu dự án trên Google Cloud cũng nhận được email về những thay đổi không tương thích ngược có thể ảnh hưởng đến dự án của họ. Để nhận thông báo chủ động về các thay đổi không tương thích ngược, hãy chỉ định vai trò chủ sở hữu bằng địa chỉ email được giám sát cho từng dự án của bạn.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-31 UTC."],[[["\u003cp\u003eFor critical applications, link to the latest dot release of the major Google Maps SDK for iOS version and upgrade to the new major version annually to ensure access to bug fixes and new features.\u003c/p\u003e\n"],["\u003cp\u003eNon-critical applications can link to any fixed version, allowing for less frequent maintenance, but requiring an update within 12 months of receiving a deprecation notice.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Maps SDK for iOS can be installed via Swift Package Manager or CocoaPods; detailed instructions for both methods, along with version management guidance, are provided.\u003c/p\u003e\n"],["\u003cp\u003eRegular updates to the SDK are recommended, with release notes available to guide developers through any necessary code changes for compatibility.\u003c/p\u003e\n"],["\u003cp\u003eProject owners with monitored email addresses receive notifications about significant updates and changes, helping to ensure their applications remain up-to-date.\u003c/p\u003e\n"]]],["For app development using Google Maps SDK for iOS, link to the latest dot release for mission-critical apps and upgrade yearly, or use any fixed version for non-critical apps. To install, use Swift Package Manager or CocoaPods, adding the SDK via Xcode or specifying the version in your Podfile. Updating involves checking for newer versions, adjusting your Podfile or updating the package in Xcode. Always review release notes for compatibility and utilize provided links for the latest SDK information.\n"],null,["Select platform: [Android](/maps/documentation/android-sdk/versions \"View this page for the Android platform docs.\") [iOS](/maps/documentation/ios-sdk/versions \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/versions \"View this page for the JavaScript platform docs.\")\n\nThe Google Maps Platform team regularly updates SDKs with new features, bug fixes, and\nperformance improvements. This page provides guidance on how to manage your dependencies\non mobile SDKs.\n\nWhich version to link to?\n\n- **For mission-critical apps**, link to the latest dot release of the major\n version that you are using (X.\\*), and upgrade yearly to the new major version.\n\n As you release new versions of your application\n throughout the year, you may start using newer dot versions of the Maps SDK for iOS. This will\n not require updates in your application as new dot versions are backward compatible.\n\n **Benefits:**\n - If you discover issues in the Maps SDK for iOS, fixes will be provided in a backward-compatible way for 12 months after the initial release of the major version, per the [Mobile support\n policy](https://developers.google.com/maps/software-support#sdk-support). You will not need to urgently upgrade to an *incompatible* SDK version to benefit from fixes.\n - The latest improvements and features are easy to adopt when your app is already built on the latest version.\n - Annual incremental updates to the newest major version of the SDK may require less work to adapt, rewrite, and test your application, than having to handle backwards-incompatible changes introduced across multiple major version releases.\n\n \u003cbr /\u003e\n\n- **For non-critical apps**, link to any fixed version. When you receive a deprecation\n notice for that fixed version, you will have 12 months to make your updated app code available to\n your users.\n\n **Benefits:**\n - Less frequent maintenance work.\n - New versions of your app keep supporting users' devices running older mobile operating systems for longer (until you need to upgrade to a new SDK version).\n\n \u003cbr /\u003e\n\nProject Owners with monitored email addresses receive proactive notifications about changes that\nimpact each of their projects. [Stay\ninformed](https://developers.google.com/maps/support#staying_informed) about major updates, deprecations, and other changes.\n\nInstallation \n\nSwift Package Manager\n\n\nThe Maps SDK for iOS can be installed via [Swift Package Manager](https://developer.apple.com/documentation/xcode/swift-packages). To add the SDK, ensure you have\nremoved any existing Maps SDK for iOS dependencies.\n\n| Important: These instructions assume the use of Xcode 15 or later, but should be similar for previous versions of Xcode.\n\n\u003cbr /\u003e\n\n\nTo add the SDK to a new or existing project, follow these steps:\n\n1. Open your Xcode `project` or `workspace`, then go to **File \\\u003e Add Package Dependencies**.\n2. Enter \u003chttps://github.com/googlemaps/ios-maps-sdk\u003e as the URL, press **Enter** to pull in the package, and click \"Add Package\".\n3. To install a specific `version`, set the **Dependency Rule** field to one of the version-based options. For new projects, we recommend specifying the latest version and using the \"Exact Version\" option. Once complete, click \"Add Package\".\n\nTo update the `package` for an existing project, follow these steps:\n\n1. **If you are upgrading from a version earlier than 9.0.0,** you must remove\n the following dependencies: `GoogleMapsBase`, `GoogleMapsCore`, and\n `GoogleMapsM4B` after upgrading. Do not remove the dependency for\n `GoogleMaps`. For more information, see the\n [Version 9.0.0 Release Notes](/maps/documentation/ios-sdk/release-notes#May_20_2024).\n\n From your Xcode project configuration settings, find **Frameworks, Libraries,\n and Embedded Content** . Use the **minus sign(-)** to remove the following framework:\n - `GoogleMapsBase` (Only for upgrades from versions earlier than 9.0.0)\n - `GoogleMapsCore` (Only for upgrades from versions earlier than 9.0.0)\n - `GoogleMapsM4B` (Only for upgrades from versions earlier than 9.0.0)\n2. From Xcode, go to \"File \\\u003e Packages \\\u003e Update To Latest Package Versions\".\n3. To verify your installation, go to the **Package Dependencies** section of **Project Navigator** to verify the package and its version.\n\n| **Important:** Sometimes, artifacts cannot be resolved or errors can occur, in this case select \"File \\\u003e Packages \\\u003e Reset Package Cache\".\n\n\u003cbr /\u003e\n\n\nTo remove existing Maps SDK for iOS dependencies added using\n`CocoaPods`, follow these steps:\n\n1. Close your Xcode workspace. Open terminal and execute the following command: \n\n ```swift\n sudo gem install cocoapods-deintegrate cocoapods-clean\n pod deintegrate\n pod cache clean --all\n ```\n2. Remove the `Podfile`, `Podfile.resolved` and the Xcode `workspace` if you are not using them for anything other than CocoaPods.\n\nCocoaPods\n\nAlways specify a version number in your dependencies instead of using an optimistic operator\n(`~\u003e`) since that can lead to unpredictable and unrepeatable builds. The\nMaps SDK for iOS adheres to [semantic versioning](https://semver.org),\nand new major version releases include breaking changes.\n\nAn example Podfile dependency using\n[Podfile](https://guides.cocoapods.org/using/the-podfile.html#specifying-pod-versions) syntax: \n\n```scdoc\nsource 'https://github.com/CocoaPods/Specs.git'\n\nplatform :ios, '16.0'\n\ntarget 'YOUR_APPLICATION_TARGET_NAME_HERE' do\n pod 'GoogleMaps', '10.2.0'\nend\n```\n\nMaintenance and upgrade\n\nTo build with the latest improvements, regularly check for newer versions and update your version\nspecifications. If you are updating to a new major version, check the\n[release notes](/maps/documentation/ios-sdk/releases) for backwards-incompatible changes and how to update your code.\n\nSwift Package Manager\n\nTo update the `package` for an existing project, follow these steps:\n\n1. To verify your installation, go to the **Package Dependencies** section of **Project Navigator** to verify the package and its version.\n\n| **Important:** Sometimes, artifacts cannot be resolved or errors can occur, in this case select \"File \\\u003e Packages \\\u003e Reset Package Cache\".\n\n\u003cbr /\u003e\n\nCocoapods\n\n1. Open a terminal and go to the directory containing the `Podfile`:\n\n ```text\n cd \u003cpath-to-project\u003e\n ```\n2. Run `pod outdated` to see if a newer version of the Maps SDK for iOS is available.\n3. If a newer version of the SDK is found, update your `Podfile` with this new version. See [Specifying pod versions](https://guides.cocoapods.org/using/the-podfile.html#specifying-pod-versions) to learn how to set a specific version in your `Podfile`.\n4. Run `pod update`.\n5. Make any necessary changes as a result of the upgrade. See the [Release Notes](/maps/documentation/ios-sdk/releases) for a list of the changes in each release.\n6. Clean and rebuild your project by selecting **Product \\\u003e Clean** and then **Product \\\u003e Build**\n\nManual installation\n\n[Get the link to the latest source files](/maps/documentation/ios-sdk/start#download-sdk)\nat Installing the SDK.\n\nIn addition to polling for newer versions, Google Cloud\n[project\nowners](https://cloud.google.com/iam/docs/understanding-roles#basic-definitions) receive emails about backwards incompatible changes that may affect their projects. To\nget proactive notification about backwards incompatible changes,\n[assign\nthe owner role](https://cloud.google.com/iam/docs/granting-changing-revoking-access) with a monitored email address for each of your projects."]]