flutter_native_toolkit 1.0.4
flutter_native_toolkit: ^1.0.4 copied to clipboard
A powerful CLI tool to automate native Android and iOS configuration in Flutter projects. Set minSdkVersion, add permissions, configure Info.plist, and more with simple commands.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.4 - 2024-12-26 #
Changed #
- Code cleanup and documentation improvements
- Prepared package for pub.flutter-io.cn publishing
1.0.3 - 2024-12-26 #
Added #
-
statuscommand - View current native configuration- Shows Android minSdkVersion, permissions, and features
- Shows iOS permission keys and URL schemes
- Color-coded output for easy reading
-
remove-permissioncommand - Remove permissions from Android and/or iOS- Support for comma-separated permission removal
- Platform targeting (
--platform android|ios|both) - Removes from both AndroidManifest.xml and Info.plist
-
add-url-schemecommand - Add URL schemes to iOS Info.plist- Enables deep linking support
- Automatically creates CFBundleURLTypes structure
-
add-featurecommand - Add uses-feature tags to AndroidManifest.xml- Short names auto-expand (e.g.,
camera→android.hardware.camera) - Optional/required flag support (
--required,--no-required)
- Short names auto-expand (e.g.,
-
initcommand - Initialize with app type templatessocial- camera, microphone, images, contacts, notificationsecommerce- internet, notifications, camera, locationmaps- location, coarse_location, background_location, internetmedia- camera, microphone, images, video, audio_files, write_storagechat- camera, microphone, contacts, notifications, internetfitness- activity_recognition, sensors, location, health, notifications
Improved #
-
Smart input parsing - Detects when
.is used instead of,to separate permissions- Shows warning with suggested correction
- Still attempts to process permissions correctly
-
AndroidManager - Added getter methods
getMinSdkVersion()- Returns current minSdkVersiongetPermissions()- Returns list of permissions in manifestgetFeatures()- Returns list of features with required status
-
IosManager - Added getter methods
getPermissionKeys()- Returns NS*UsageDescription keysgetUrlSchemes()- Returns URL schemes from CFBundleURLTypes
Fixed #
- Permission parsing now correctly handles edge cases
1.0.2 - 2024-12-22 #
1.0.1 - 2024-12-21 #
Changed #
- Updated README with comprehensive documentation
- Expanded permission list from 60+ to 100+ permissions
- Added complete permission reference tables for all 9 categories
- Improved documentation with detailed usage examples
- Cleaned up code comments (removed decorative separators)
Permission Categories (Updated Counts) #
- Network & Connectivity (21 permissions)
- Camera & Media Capture (3 permissions)
- Location Services (5 permissions)
- Storage & Files (12 permissions)
- Contacts & Calendar (5 permissions)
- Phone & SMS (17 permissions)
- Bluetooth & NFC (9 permissions)
- Sensors & Biometrics (8 permissions)
- System & Notifications (67 permissions)
1.0.0 - 2024-12-21 #
Added #
-
set-sdkcommand - Update AndroidminSdkVersioninbuild.gradleorbuild.gradle.kts- Supports Groovy DSL and Kotlin DSL
- Handles variable references like
flutter.minSdkVersion
-
add-permissioncommand - Add permissions to Android and iOS- 100+ pre-configured permissions organized in 9 categories
- Interactive mode with category-based selection (
--interactive) - Multi-permission support (comma-separated or multiple
--nameflags) - Platform targeting (
--platform android|ios|both) - Custom iOS usage descriptions (
--ios-description) - Auto-generated iOS descriptions for common permissions
-
list-permissionscommand - List all available permissions- Organized by category
- iOS compatibility indicators
- Category filtering (
--category)
-
add-plistcommand - Add key-value pairs to iOSInfo.plist- Support for string, boolean, integer, and array types
- Duplicate detection
-
add-depcommand - Quick wrapper forflutter pub add- Regular and dev dependency support
Technical #
- Dart 3 syntax with sealed classes and pattern matching
- Type-safe
OperationResult(Success/Failure) pattern - Cross-platform path handling
- Colored terminal output with ANSI codes
- Comprehensive error handling and validation