-
Notifications
You must be signed in to change notification settings - Fork 269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
change ios part - migration to Objective-c #213
base: develop
Are you sure you want to change the base?
change ios part - migration to Objective-c #213
Conversation
Pre-release (with updated pipeline)
Pre-release (credentials file encode fix)
Pre-release (Remove path field)
v3.1.0 Release
Pre-release (Missing quote fix)
v3.1.0 Release with Pipeline Fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found numerous bugs on this, please see comments
} | ||
[ekEvent setTitle:title]; | ||
[ekEvent setNotes:description]; | ||
[ekEvent setAllDay:isAllDay]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When adding an event, isAllDay
is always true even when it is sent as false in dart
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
} | ||
[ekEvent setCalendar:ekCalendar]; | ||
[ekEvent setLocation:location]; | ||
[ekEvent setRecurrenceRules: [self createEKRecurrenceRules: arguments]]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
[ekEvent setCalendar:ekCalendar]; | ||
[ekEvent setLocation:location]; | ||
[ekEvent setRecurrenceRules: [self createEKRecurrenceRules: arguments]]; | ||
[self setAttendees:arguments event:ekEvent]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When adding an event with attendees, they are always lost, returning no attendees
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will correct the addition of Attendees later
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
[ekEvent setLocation:location]; | ||
[ekEvent setRecurrenceRules: [self createEKRecurrenceRules: arguments]]; | ||
[self setAttendees:arguments event:ekEvent]; | ||
[ekEvent setAlarms: [self createReminders: arguments]]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
return reminders; | ||
} | ||
|
||
-(void)createOrUpdateEvent: (FlutterMethodCall *)call result:(FlutterResult)result{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Url field missing for adding/editing an event. It was available in Swift:
let url = arguments[self.eventURLArgument] as? String
if let urlCheck = url, !urlCheck.isEmpty {
let iosUrl = URL(string: url ?? "")
ekEvent!.url = iosUrl
}
else {
ekEvent!.url = nil
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix
[localSources addObject:ekSource]; | ||
} | ||
} | ||
if ([localSources count] == 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When creating a calendar, the code doesn't return any local calendars when I can in Swift - always returning the "Local calendar was not found" error
@andreychernikovich apologies for the delay in getting back to this PR - are you able to rebase off latest develop branch and fix any conflicts please. |
Link to #202 |
…er_plugins into migration_to_objective-c
…r_plugins into migration_to_objective-c
…hernikovich/flutter_plugins into migration_to_objective-c
Hi @nickrandolph! I fixed all conflicts many days ago have you watched this PR? |
@andreychernikovich apologies for the delay - I'll be trying to review this PR this week |
Hi @nickrandolph! How does the review look? Any chances to do it this week? |
@nickrandolph have you looked deeper into this PR? I myself remade new fork with this PR changes. Fixed issue that in iOS example app permissions wasn't requested, but now I am stopped on EXC_BAD_ACCESS, which occurs on hasEventPermissions method. But my knowledge in objective-c is very limited. |
@andzejsw I haven't had a chance to get back to this PR. My concern here it to make sure that we don't affect support for Swift. To test this, we need to make sure there are both Swift and Objective-C versions of the example app. |
Also check out https://pub.dev/packages/device_calendar_extended and pull in any relevant pieces to get the Objective-C piece to work. It'd be good to be able to consolidate the packages so there's only one option that devs need to worry about going forward. |
What is the significance of implementing obj-C? I thought both swift and obj-C are first class languages on iOS. I read the issue referenced in Readme and maybe there's some workaround mentioned. |
@thomassth tbh I'm not sure, as I'm not too familiar with the issue with using the library from Objective-C. I've marked this PR as draft to make sure it doesn't accidentally get merged. It'd be good to see what the device_calendar_extended code does and understand why their implementation works better for Objective-C devs |
No description provided.