builttoroam / device_calendar

A cross platform plugin for modifying calendars on the user's device
https://pub.dev/packages/device_calendar
BSD 3-Clause "New" or "Revised" License
267 stars 267 forks source link

macOS Supported. #466

Closed kingvhit closed 1 year ago

kingvhit commented 1 year ago

I have modified from iOS Source Code and make it work in macOS.

What I have changed:


For the future, I think we can conduct code in Swift and find the extension for support both iOS and macOS.

Feel free ask me if you want to do anything.


Notes:

In-case you run code for checking, please run by command-line instead of dirrectly from VS code or Android Studio, I think that bug from Flutter.

flutter run -d macos
IVLIVS-III commented 1 year ago

On first glance, it looks like you have copied the source file. From your description it seems like we could share most of the code for iOS and macOS. In that case a file copy duplicating most platform-specific code is not the preferred solution since that would require us to maintain two mostly duplicate code bases in the future instead of a shared one.

I have not looked into your PR in detail yet. Even with the file copy it appears to be a promising proof of concept.

You could look at this on how code-reuse on iOS and macOS might look like. I sadly don’t have enough time at the moment to do the reuse refactor myself.

Thank you for your effort.

kingvhit commented 1 year ago

To refactor the iOS and macOS source code, I think that take huge time todo it. And that need the person in charge who has more exprience for both iOS and macOS development.

By the way, I am not actually expert in Swift, refactor it might be difficult from my side. So, based on your feedback, I will close this PR and it should be maintained by some one in future.

Thank you for your feedbacks.