add_2_calendar 1.4.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 96

add_2_calendar #

A really simple Flutter plugin to add events to each platform's default calendar.

Installation #

In your pubspec.yaml file within your Flutter Project:

dependencies:
  add_2_calendar: ^1.4.0

iOS integration #

In order to make this plugin work on iOS 10+, be sure to add this to your info.plist file:

<key>NSCalendarsUsageDescription</key>
<string>INSERT_REASON_HERE</string>
<key>NSContactsUsageDescription</key>
<string>INSERT_REASON_HERE</string>

Use it #

import 'package:add_2_calendar/add_2_calendar.dart';

final Event event = Event(
      title: 'Event title',
      description: 'Event description',
      location: 'Event location',
      startDate: DateTime(/* Some date here */),
      endDate: DateTime(/* Some date here */),
    );
...
Add2Calendar.addEvent2Cal(event);
...

Note: See DateTime docs to know what valid date could be correct in above piece of code.

Example #

Please run the app in the example/ folder to start playing!

1.4.0 #

  • Add timezone support (thanks to @palmsnipe)
  • Fix status bar style bug on iOS (thanks to @Kiruel)

1.3.1 #

  • Set project Swift version (#25)
  • Manage calendar events with EventKitUI (#24)
  • Add DateTime class docs link (#23)
  • Fix issue #4: add_2_calendar/add_2_calendar-Swift.h' file not found (#22)

1.3.0 #

  • Fixed 32bit system conversion on iOS (issue #13)

1.2.2 #

  • Full project refactor
  • Add some comments

1.2.1 #

  • Format code

1.2.0 #

  • Added location support for iOS thanks to @gopchi

1.1.0 #

  • Added allDay boolean
  • Fixed bugs

1.0.3 #

  • Fixed iOS returning always success (issue #5)

1.0.2 #

  • Added necessary entitlements for iOS 10+ integration

1.0.1 #

  • Events are no longer marked as "all day" on Android

1.0.0 #

  • First stable release
  • Added support for iOS

0.0.1 #

  • Initial release (only compatible with Android)

example/lib/main.dart

import 'package:flutter/material.dart';

import 'package:add_2_calendar/add_2_calendar.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  final GlobalKey<ScaffoldState> scaffoldState = GlobalKey();
  @override
  Widget build(BuildContext context) {
    Event event = Event(
      title: 'Test event',
      description: 'example',
      location: 'Flutter app',
      startDate: DateTime.now(),
      endDate: DateTime.now().add(Duration(days: 1)),
      allDay: false,
    );

    return MaterialApp(
      home: Scaffold(
        key: scaffoldState,
        appBar: AppBar(
          title: const Text('Add event to calendar example'),
        ),
        body: Center(
          child: RaisedButton(
            child: Text('Add test event to device calendar'),
            onPressed: () {
              Add2Calendar.addEvent2Cal(event).then((success) {
                scaffoldState.currentState.showSnackBar(
                    SnackBar(content: Text(success ? 'Success' : 'Error')));
              });
            },
          ),
        ),
      ),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  add_2_calendar: ^1.4.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:add_2_calendar/add_2_calendar.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
92
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
96
Learn more about scoring.

We analyzed this package on Jul 2, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.9+1
  • Flutter: 1.17.3

Analysis suggestions

Package does not support Flutter platform linux

Because of import path [package:add_2_calendar/add_2_calendar.dart]

Package does not support Flutter platform macos

Because of import path [package:add_2_calendar/add_2_calendar.dart]

Package does not support Flutter platform web

Because of import path [package:add_2_calendar/add_2_calendar.dart]

Package does not support Flutter platform windows

Because of import path [package:add_2_calendar/add_2_calendar.dart]

Package not compatible with SDK dart

because of import path [add_2_calendar]

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.68.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.12 1.14.13
meta 1.1.8 1.2.0
sky_engine 0.0.99
typed_data 1.1.6 1.2.0
vector_math 2.0.8