Skip to content

Add Swift Package Manager support (SPM) #1239

Open
@developersauron

Description

@developersauron

[REQUIRED] Step 1: Describe your environment

Plugin Version

5.3.0

[REQUIRED] Step 2: Describe the problem

Swift package manager doesn't supported.

Steps to Reproduce

  1. Run flutter run.
    flutter run
    Launching lib/main.dart on iPhone SE (3rd generation) in debug mode...
    Running pod install... 706ms
    CocoaPods' output:

    Preparing

    Analyzing dependencies

    Inspecting targets to integrate
    Using ARCHS setting to build architectures of target Pods-Runner: () Using `ARCHS` setting to build architectures of target `Pods-RunnerTests`: ()

    Finding Podfile changes
    R cloud_firestore
    R connectivity_plus
    R firebase_auth
    R firebase_core
    R firebase_dynamic_links
    R package_info_plus
    R path_provider_foundation
    R share_plus
    R shared_preferences_foundation
    R sqflite_darwin
    R url_launcher_ios
    R webview_flutter_wkwebview

    • Flutter
    • desktop_webview_auth
    • device_info_plus
    • flutter_secure_storage
    • google_mobile_ads
    • google_sign_in_ios
    • sign_in_with_apple

    Fetching external sources
    -> Fetching podspec for Flutter from Flutter
    -> Fetching podspec for desktop_webview_auth from .symlinks/plugins/desktop_webview_auth/ios
    -> Fetching podspec for device_info_plus from .symlinks/plugins/device_info_plus/ios
    -> Fetching podspec for flutter_secure_storage from .symlinks/plugins/flutter_secure_storage/ios
    -> Fetching podspec for google_mobile_ads from .symlinks/plugins/google_mobile_ads/ios
    -> Fetching podspec for google_sign_in_ios from .symlinks/plugins/google_sign_in_ios/darwin
    -> Fetching podspec for sign_in_with_apple from .symlinks/plugins/sign_in_with_apple/ios

    Resolving dependencies of Podfile
    CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only performed in repo update
    CDN: trunk Relative path: all_pods_versions_5_9_a.txt exists! Returning local because checking is only performed in repo update
    CDN: trunk Relative path: Specs/5/9/a/Google-Mobile-Ads-SDK/11.13.0/Google-Mobile-Ads-SDK.podspec.json exists! Returning local because checking is only performed
    in repo update
    CDN: trunk Relative path: all_pods_versions_e_9_b.txt exists! Returning local because checking is only performed in repo update
    [!] Unable to find a specification for webview_flutter_wkwebview depended upon by google_mobile_ads

    You have either:

    • out-of-date source repos which you can update with pod repo update or with pod install --repo-update.
    • mistyped the name or version.
    • not added the source repo that hosts the Podspec to your Podfile.

    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:389:in find_cached_set' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:360:in specifications_for_dependency'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:165:in search_for' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:274:in block in sort_dependencies'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:267:in each' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:267:in sort_by'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:267:in sort_by!' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:267:in sort_dependencies'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:60:in block in sort_dependencies' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:77:in with_no_such_dependency_error_handling'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:59:in sort_dependencies' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:754:in push_state_for_requirements'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:744:in require_nested_dependencies_for' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:727:in activate_new_spec'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:684:in attempt_to_activate' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:254:in process_topmost_state'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:182:in resolve' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/molinillo-0.8.0/lib/molinillo/resolver.rb:43:in resolve'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/resolver.rb:94:in resolve' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer/analyzer.rb:1082:in block in resolve_dependencies'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/user_interface.rb:64:in section' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer/analyzer.rb:1080:in resolve_dependencies'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer/analyzer.rb:125:in analyze' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer.rb:422:in analyze'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer.rb:244:in block in resolve_dependencies' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/user_interface.rb:64:in section'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer.rb:243:in resolve_dependencies' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/installer.rb:162:in install!'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/command/install.rb:52:in run' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/claide-1.1.0/lib/claide/command.rb:334:in run'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/command.rb:52:in run' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/bin/pod:55:in <top (required)>'
    /Users/mehmetfiskindal/.rbenv/versions/3.3.6/bin/pod:25:in load' /Users/mehmetfiskindal/.rbenv/versions/3.3.6/bin/pod:25:in

    '

Error output from CocoaPods:

[!] Automatically assigning platform `iOS` with version `13.0` on target `Runner` because no platform was specified. Please specify a platform for this target in
your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
pod repo update

Error running pod install
Expected results:

Actual results:

Logs

flutter doctor -v
[✓] Flutter (Channel stable, 3.27.2, on macOS 15.2 24C101 darwin-arm64, locale en-GB)
• Flutter version 3.27.2 on channel stable at /Users/mehmetfiskindal/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 68415ad1d9 (10 days ago), 2025-01-13 10:22:03 -0800
• Engine revision e672b006cb
• Dart version 3.6.1
• DevTools version 2.40.2

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
• Android SDK at /Users/mehmetfiskindal/Library/Android/sdk
• Platform android-35, build-tools 35.0.0
• ANDROID_HOME = /Users/mehmetfiskindal/Library/Android/sdk
• Java binary at: /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment Zulu17.54+21-CA (build 17.0.13+11-LTS)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16C5032a
• CocoaPods version 1.16.2

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)

[✓] VS Code (version 1.96.4)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.102.0

[✓] Connected device (4 available)
• iPhone SE (3rd generation) (mobile) • 68E48E40-17E6-4633-8867-6C80B94FAF40 • ios • com.apple.CoreSimulator.SimRuntime.iOS-18-2 (simulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 15.2 24C101 darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.2 24C101 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 131.0.6778.265

[✓] Network resources
• All expected network resources are available.

• No issues found!

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestFeature request covers a product enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions