Skip to content

feat: migration to SPM only and iOS SDK update to 11.0.0 - #637

Open
illuminati1911 wants to merge 16 commits into
mainfrom
feat/ios-sdk-11-upgrade
Open

feat: migration to SPM only and iOS SDK update to 11.0.0#637
illuminati1911 wants to merge 16 commits into
mainfrom
feat/ios-sdk-11-upgrade

Conversation

@illuminati1911

@illuminati1911 illuminati1911 commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Upgrade Google Navigation SDK for iOS to 11.0.0.
  • Resolve Google Navigation through Swift Package Manager instead of CocoaPods. React Native 0.87+ is required.
  • Update the iOS implementation for Navigation SDK 11 changes:
    • showTrafficLights and showStopSigns are now ignored on iOS and remain supported on Android.
    • Terrain map type is no longer supported during active navigation on iOS.
    • Add the required NSMotionUsageDescription.
  • Update the example app, CI configuration, and migration/setup documentation for the new SPM-based integration.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation
  • I added new tests to check the change I am making
  • All existing and new tests are passing.

@illuminati1911
illuminati1911 marked this pull request as ready for review August 25, 2026 07:41
@illuminati1911
illuminati1911 marked this pull request as draft August 25, 2026 07:42
@illuminati1911
illuminati1911 marked this pull request as ready for review August 25, 2026 08:13
Comment thread example/ios/Podfile
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
use_frameworks! :linkage => linkage.to_sym
end
use_frameworks! :linkage => :dynamic

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we do not read the USE_FRAMEWORKS env parameter anymore, we should not pass it in the ci.yml?
If there is no need to have this USE_FRAMEWORKS env control anymore on sample app, we should remove all mentions of this env variable from the example folder.

Comment thread .github/workflows/ci.yml
run: |
cd example/ios
RCT_NEW_ARCH_ENABLED=0 pod install
USE_FRAMEWORKS=dynamic pod install

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using this USE_FRAMEWORKS env variable is removed from the podfile. Should we remove this from here as well.

*
* Defaults to true.
* @deprecated Stop signs are always shown during navigation on iOS Navigation SDK 11+ and
* this option will be removed in a future release. This option continues to apply on Android.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* this option will be removed in a future release. This option continues to apply on Android.
* this option will be removed in a future release. It currently applies only to Android.

*
* Defaults to true.
* @deprecated Traffic lights are always shown during navigation on iOS Navigation SDK 11+ and
* this option will be removed in a future release. This option continues to apply on Android.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* this option will be removed in a future release. This option continues to apply on Android.
* this option will be removed in a future release. It currently applies only to Android.

Comment thread MIGRATING.md

### What changed

Google Navigation is now resolved through Swift Package Manager during `pod install`, rather than through a CocoaPods `GoogleNavigation` dependency. React Native `0.87.0+` is required. CocoaPods continues to manage React Native autolinking and other pods, but it no longer fetches Google Navigation. Configure framework linkage in your app's Podfile according to your app's dependency requirements; the example app uses dynamic frameworks.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Google Navigation is now resolved through Swift Package Manager during `pod install`, rather than through a CocoaPods `GoogleNavigation` dependency. React Native `0.87.0+` is required. CocoaPods continues to manage React Native autolinking and other pods, but it no longer fetches Google Navigation. Configure framework linkage in your app's Podfile according to your app's dependency requirements; the example app uses dynamic frameworks.
Google Navigation is now resolved through Swift Package Manager during `pod install`, rather than through a CocoaPods `GoogleNavigation` dependency. CocoaPods continues to manage React Native autolinking and other pods, but it no longer fetches Google Navigation. Configure framework linkage in your app's Podfile according to your app's dependency requirements; the example app uses dynamic frameworks.

removed mention about RN 0.87.0+ as it is already mandatory for version 0.17.0

Comment thread README.md
ENV['RCT_NEW_ARCH_ENABLED'] = '1'
```

#### Swift Package Manager dependency

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to mention about this in README.md as there is no user action here. RN platform handles SPM for this package automatically.
The requirement for RN 0.87.0 for this package is already mentioned above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants