Adopt built-in SPM plugin requirements and raise iOS deployment floor to 15.0 - #152
Merged
Conversation
Completes the iOS side of the Flutter 3.44 toolchain alignment: - Add the FlutterFramework dependency to the plugin's Package.swift as required by the Flutter 3.44 SPM guideline for plugin authors, removing the "missing a dependency on FlutterFramework" warning printed on every iOS build. The FlutterFramework ephemeral package exists since Flutter 3.44.0, which pubspec already requires. - Raise the iOS deployment floor to 15.0 (podspec, Package.swift, example Runner project, README): Xcode 27 only supports deployment targets of 15.0 or later, and LINE app no longer runs on iOS 14 or earlier. - Require LineSDKSwift 5.17 (the native SDK release with the same iOS 15 floor) on both the CocoaPods and SPM paths. - Remove the plugin-level Package.resolved: with the relative-path FlutterFramework dependency the package only resolves inside Flutter's ephemeral package layout, so the file can no longer be regenerated standalone and is not consumed as a dependency. Verified with Xcode 27 beta 4 and Flutter 3.44.7: - SPM path (default): example builds, no FlutterFramework warning, resolves line-sdk-ios-swift 5.17.0 - CocoaPods path: fresh consumer app with SPM disabled builds, resolves LineSDKSwift 5.17.0 from CocoaPods trunk - flutter analyze --fatal-infos and flutter test green Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Swift Package Manager is Flutter's default since 3.44 and the path this plugin primarily targets; CocoaPods integration stays supported in maintenance mode. Also note that the bundled example app is SPM-only and cannot be built with Swift Package Manager opted out. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Completes the iOS side of the Flutter 3.44 toolchain alignment, following up on #150 (internal tracking: LINESDK-1043). Together with #150, this closes out the planned scope for the 3.0.0 major release.
FlutterFrameworkdependency to the plugin'sPackage.swift, as required by the Flutter 3.44 SPM guideline for plugin authors. This removes thePlugin flutter_line_sdk has a Package.swift for ios but is missing a dependency on FlutterFrameworkwarning printed on every iOS build. TheFlutterFrameworkephemeral package exists since Flutter 3.44.0, whichpubspec.yamlalready requires — no compatible consumer is broken by this.Package.swift, example Runner project, README): Xcode 27 only supports building for deployment targets of 15.0 or later (the 13.0 floor fails Xcode 27's Target Integrity check outright), and LINE app itself no longer runs on iOS 14 or earlier.LineSDKSwift ~> 5.17/from: "5.17.0"— the native SDK release that carries the same iOS 15 floor. This is load-bearing: with older native versions (floor 13.0), the LineSDK pod/package target itself fails to build under Xcode 27 even if the app targets 15.Package.resolved: with the relative-pathFlutterFrameworkdependency, the package manifest only resolves inside Flutter's ephemeral package layout (.packages/, where Flutter symlinks the plugin next to the generatedFlutterFramework), so the file can no longer be regenerated standalone and is never consumed as a dependency.Verification (Xcode 27 beta 4 / Flutter 3.44.7 stable)
flutter build ioson the exampleFlutterFrameworkwarning gone; resolvesline-sdk-ios-swift 5.17.0LineSDKSwift 5.17.0from CocoaPods trunkflutter analyze --fatal-infos/flutter testNote for reviewers: the example app itself now carries the SPM integration (added by the Flutter tool in #150), so it can no longer be built with SPM opt-out without removing those project references — that's why the CocoaPods path was verified with a fresh consumer app instead. Regular CocoaPods consumers (whose projects never had SPM references) are unaffected: the podspec path never reads
Package.swift.🤖 Generated with Claude Code