Skip to content
This repository has been archived by the owner on Dec 15, 2023. It is now read-only.

gomore/GoogleMaps-SPM

Repository files navigation

Google Maps Swift Package

Experimental support for Swift Package Manager and ARM64 simulator for Google Maps and Places SDK.

While Google provides XCFrameworks with ARM64 simulator support as a beta release, the frameworks do not work when added as a dependency to Swift Package Manager. Google still offers legacy fat frameworks that can be easily combined into XCFrameworks and used from Swift Package, but they lack support for the ARM64 simulator.

This project rebuilds Google's beta XCFrameworks so they can be added as a dependency to Swift Package, preserving support for the ARM64 simulator, which allows development on Apple Silicon (M1, etc.) computers.

Requirements

Add as a dependecy to your Swift Package

dependencies: [
  .package(url: "https://github.com/gomore/GoogleMaps-SPM.git", from: "8.3.1")
]

Build XCFrameworks yourself (Deprecated because Google provides already merged binaries)

  1. Clone this project.
  2. Download official XCFrameworks from Google:
  1. Unzip and put downloaded XCFrameworks inside GoogleFrameworks directory
  2. Run make_xcframeworks.sh -x script.
  3. You can find your new XCFrameworks in Build directory.

Setup

For now, the GoogleMaps.bundle must be added to your project. You can add it to any SP and use copy.

Here is an example of an SP configuration where you added the bundle to the root.

.target(
    name: "Map",
    dependencies: [
        .product(name: "GoogleMaps", package: "GoogleMaps-SPM"),
        .product(name: "GoogleMapsBase", package: "GoogleMaps-SPM"),
        .product(name: "GoogleMapsCore", package: "GoogleMaps-SPM")
    ],
    resources: [
        .copy("GoogleMaps.bundle")
    ]
),

License & Copyright

The Google Maps iOS SDK and Google Places iOS SDK libraries are the property of Google and are subject to Google's Terms of Service. See LICENSE.google for details.

This repo is a fork of darrarski/GoogleMaps-SP with some tweeks that adds support for ARM64 simulator.

This repo is provided as is, without any guarantee. It can (hopefully) become obsolete once Google fixes their SDKs.