flutter_native_toolkit 1.0.4 copy "flutter_native_toolkit: ^1.0.4" to clipboard
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 #

  • status command - View current native configuration

    • Shows Android minSdkVersion, permissions, and features
    • Shows iOS permission keys and URL schemes
    • Color-coded output for easy reading
  • remove-permission command - 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-scheme command - Add URL schemes to iOS Info.plist

    • Enables deep linking support
    • Automatically creates CFBundleURLTypes structure
  • add-feature command - Add uses-feature tags to AndroidManifest.xml

    • Short names auto-expand (e.g., cameraandroid.hardware.camera)
    • Optional/required flag support (--required, --no-required)
  • init command - Initialize with app type templates

    • social - camera, microphone, images, contacts, notifications
    • ecommerce - internet, notifications, camera, location
    • maps - location, coarse_location, background_location, internet
    • media - camera, microphone, images, video, audio_files, write_storage
    • chat - camera, microphone, contacts, notifications, internet
    • fitness - 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 minSdkVersion
    • getPermissions() - Returns list of permissions in manifest
    • getFeatures() - Returns list of features with required status
  • IosManager - Added getter methods

    • getPermissionKeys() - Returns NS*UsageDescription keys
    • getUrlSchemes() - Returns URL schemes from CFBundleURLTypes

Fixed #

  • Permission parsing now correctly handles edge cases

1.0.2 - 2024-12-22 #

Changed #

  • Removed platforms field from pubspec.yaml to avoid confusion
  • The CLI runs on Windows, macOS, and Linux but configures Android and iOS

Fixed #

  • Fixed executable path: renamed bin file to match pubspec executables config

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-sdk command - Update Android minSdkVersion in build.gradle or build.gradle.kts

    • Supports Groovy DSL and Kotlin DSL
    • Handles variable references like flutter.minSdkVersion
  • add-permission command - 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 --name flags)
    • Platform targeting (--platform android|ios|both)
    • Custom iOS usage descriptions (--ios-description)
    • Auto-generated iOS descriptions for common permissions
  • list-permissions command - List all available permissions

    • Organized by category
    • iOS compatibility indicators
    • Category filtering (--category)
  • add-plist command - Add key-value pairs to iOS Info.plist

    • Support for string, boolean, integer, and array types
    • Duplicate detection
  • add-dep command - Quick wrapper for flutter 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
1
likes
150
points
287
downloads

Publisher

unverified uploader

Weekly Downloads

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.

Repository (GitHub)
View/report issues

Topics

#cli #flutter #android #ios #automation

Documentation

Documentation
API reference

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

args, path, xml

More

Packages that depend on flutter_native_toolkit