2025.04.02
Kenichi Kambara (@korodroid)
Flutter Tokyo #6
Navigating Flutter Upgrades
Slide 2
Slide 2 text
About me
•Mobile App Development
•Speeches (e.g. 20 Int’l/100+ Domestic)
•Writings (e.g. 10 Dev Books)
•[Of
fi
cial] Evangelist at NTT TechnoCross
•[Private] iplatform.org
ਆݪ ݈Ұ (X:@korodroid)
NEW
Slide 3
Slide 3 text
About my product (Personal projects)
Sekaiphone Pro(Flutter(+Kotlin/Swift))
Slide 4
Slide 4 text
Which version of Flutter are you using
for app development?
Slide 5
Slide 5 text
Problems Encountered
•Build Process Issues
•Package Compatibility
•Changes or Deprecation of APIs
•UI Layout Breakages
•Unexpected Behavior
•Other Issues
Slide 6
Slide 6 text
Problems Encountered
•Build Process Issues
•Package Compatibility
•Changes or Deprecation of APIs
•UI Layout Breakages
•Unexpected Behavior
•Other Issues
Slide 7
Slide 7 text
1. Build Process Issues (except Package Compatibility)
•Xcode Version Changes
•CocoaPods Dependencies
•Code Signing Con
fi
gurations
•iOS Build Settings Adjustments
In most cases, these issues occurred during iOS builds.
Slide 8
Slide 8 text
Solution
•Check build logs in detail
•Ask Generative AI for suggestions
•Search for similar issues online
•Try other investigation methods
(e.g., Git diff, of
fi
cial release notes, plugin issue
trackers, community support)
Slide 9
Slide 9 text
Solution
•Check build logs in detail
•Ask Generative AI for suggestions
•Search for similar issues online
•Try other investigation methods
(e.g., Git diff, of
fi
cial release notes, plugin issue
trackers, community support)
Slide 10
Slide 10 text
2. Package Compatibility
Dart SDK Version Issues During Flutter Upgrades
e.g.
Because some_package requires SDK version <3.0.0 and your SDK is 3.1.0,
version solving failed.
Slide 11
Slide 11 text
Solutions
•Update dependencies to their latest versions
•Use dependency_overrides temporarily
•Fork the package and modify its Dart SDK constraints
•Replace with an alternative package
•Downgrade Flutter to match compatible Dart version
Slide 12
Slide 12 text
Solutions
•Update dependencies to their latest versions
•Use dependency_overrides temporarily
•Fork the package and modify its Dart SDK constraints
•Replace with an alternative package
•Downgrade Flutter to match compatible Dart version
Slide 13
Slide 13 text
e.g. dependency_overrides
dependencies:
some_package: ^1.2.0
dependency_overrides:
another_package: ^2.0.0
In the case: some_package 1.2.0 depends on another_package 1.0.0
Slide 14
Slide 14 text
e.g. Replace with an alternative package
Getting contact info: contacts_service ->
fl
utter_contacts
Feature contacts_service (Before)
fl
utter_contacts (After)
Import contacts_service/contacts_service.dart
fl
utter_contacts/
fl
utter_contacts.dart
Permission via permission_handler FlutterContacts.requestPermission()
Contact Class Contact.displayName
Contact.name.
fi
rst +
Contact.name.last
Fetching Contacts ContactsService.getContacts()
FlutterContacts.getContacts
(withProperties: true)
Slide 15
Slide 15 text
Please let me know if you have any requests
such as technical speeches, technical writings and so on.
Facebook:http://fb.com/kanbara.kenichi
X:@korodroid
LinkedIn:http://www.linkedin.com/in/korodroid
Thank you so much