chore: schakel Swift Package Manager in + fix nativeapi iOS/macOS builds (#1733) #1753

Merged
brenno merged 1 commit from test/spm-1733 into main 2026-08-23 19:40:50 +00:00
Owner

Summary

Flutter 3.47: 92 van de top-100 iOS-plugins zijn gemigreerd naar Swift Package Manager. CocoaPods is in maintenance mode. Deze PR schakelt SPM in en verwijdert enable-swift-package-manager: false uit pubspec.yaml.

Build-resultaten

  • iOS: alle plugins laden via SPM ("All plugins found for ios are Swift Packages"). Build geslaagd (99.0MB).
  • macOS: alle plugins laden via SPM, behalve desktop_multi_window (vendored fork, geen SPM-ondersteuning — Flutter geeft een waarschuwing maar bouwt wel). Build geslaagd (205.3MB).

Fixes in de nativeapi-flutter fork

De git-ref is bijgewerkt naar 5453312 omdat twee fixes nodig waren:

  1. cxx_impl vendored direct i.p.v. git submodule — pub initialiseert geen submodules, dus de C++ broncode was leeg in de pub cache. iOS en macOS builds faalden met "file not found".
  2. iOS willClose-hook stubs — de vier methodes (SetWillCloseHook, HasWillCloseHook, HandleWillClose, CallOriginalClose) ontbraken in window_manager_ios.mm, wat undefined-symbol linker errors gaf op iOS. Toegevoegd als no-op stubs passend bij het bestaande show/hide patroon.

Wat niet in deze PR zit

Flutter stelt voor om CocoaPods volledig te verwijderen (pod deintegrate + Podfile verwijderen). Dat is een optionele build-tijd-optimalisatie die in een aparte PR kan.

Test plan

  • make check groen (10494 tests, 87.2% coverage)
  • make sast schoon (semgrep, 0 findings)
  • flutter build ios --no-codesign geslaagd met SPM
  • flutter build macos geslaagd met SPM
  • Beeldkeuring na merge: app draait op iOS simulator en macOS

Generated with Devin

## Summary Flutter 3.47: 92 van de top-100 iOS-plugins zijn gemigreerd naar Swift Package Manager. CocoaPods is in maintenance mode. Deze PR schakelt SPM in en verwijdert `enable-swift-package-manager: false` uit pubspec.yaml. ### Build-resultaten - **iOS**: alle plugins laden via SPM ("All plugins found for ios are Swift Packages"). Build geslaagd (99.0MB). - **macOS**: alle plugins laden via SPM, behalve `desktop_multi_window` (vendored fork, geen SPM-ondersteuning — Flutter geeft een waarschuwing maar bouwt wel). Build geslaagd (205.3MB). ### Fixes in de nativeapi-flutter fork De git-ref is bijgewerkt naar `5453312` omdat twee fixes nodig waren: 1. **cxx_impl vendored direct i.p.v. git submodule** — pub initialiseert geen submodules, dus de C++ broncode was leeg in de pub cache. iOS en macOS builds faalden met "file not found". 2. **iOS willClose-hook stubs** — de vier methodes (`SetWillCloseHook`, `HasWillCloseHook`, `HandleWillClose`, `CallOriginalClose`) ontbraken in `window_manager_ios.mm`, wat undefined-symbol linker errors gaf op iOS. Toegevoegd als no-op stubs passend bij het bestaande show/hide patroon. ### Wat niet in deze PR zit Flutter stelt voor om CocoaPods volledig te verwijderen (`pod deintegrate` + Podfile verwijderen). Dat is een optionele build-tijd-optimalisatie die in een aparte PR kan. ## Test plan - [x] `make check` groen (10494 tests, 87.2% coverage) - [x] `make sast` schoon (semgrep, 0 findings) - [x] `flutter build ios --no-codesign` geslaagd met SPM - [x] `flutter build macos` geslaagd met SPM - [ ] Beeldkeuring na merge: app draait op iOS simulator en macOS Generated with [Devin](https://devin.ai)
chore: schakel Swift Package Manager in + fix nativeapi iOS/macOS builds (#1733)
All checks were successful
scans / scans (pull_request) Successful in 3m43s
static-gate / static-gate (pull_request) Successful in 8m27s
fa1de3adc0
Flutter 3.47: 92 van de top-100 iOS-plugins zijn gemigreerd naar Swift
Package Manager. CocoaPods is in maintenance mode. Deze PR schakelt SPM
in en verwijdert `enable-swift-package-manager: false` uit pubspec.yaml.

Build-resultaten:
- iOS: alle plugins laden via SPM ("All plugins found for ios are Swift
  Packages"). Build geslaagd (99.0MB).
- macOS: alle plugins laden via SPM, behalve `desktop_multi_window`
  (vendored fork, geen SPM-ondersteuning — Flutter geeft een waarschuwing
  maar bouwt wel). Build geslaagd (205.3MB).

Twee fixes in de nativeapi-flutter fork (ref bijgewerkt):
1. cxx_impl vendored direct i.p.v. git submodule — pub initialiseert
   geen submodules, dus de C++ broncode was leeg in de pub cache.
2. iOS willClose-hook stubs toegevoegd aan window_manager_ios.mm — de
   vier methodes (SetWillCloseHook, HasWillCloseHook, HandleWillClose,
   CallOriginalClose) ontbraken, wat undefined-symbol linker errors
   gaf op iOS.

Flutter stelt voor om CocoaPods volledig te verwijderen (pod
deintegrate + Podfile verwijderen). Dat is een optionele
build-tijd-optimalisatie die in een aparte PR kan.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit 903e1c762f into main 2026-08-23 19:40:50 +00:00
Sign in to join this conversation.
No description provided.