Synchronize iCalendar Events like theSkimm - icalendar

My use case is similar to what theSkimm app does which is as follows:
To push events to iCalendar app on iPhone once user opts for Calendar Synchronization in the mobile application (once user subscribes to the calendar).
To delete events pushed by the application to iCalendar app once opts out Calendar Synchronization in the application
If the user subscribes to Calendar Synchronization, each event pushed to the application should have a link to unsubscribe for the event. By clicking the link the event in iCalendar should disappear.
1st use case can be achieved when the user clicks subscribe -> App can fetch events from server and push it into iCalendar using EventKit.
2nd use case can be achieved when user clicks unsubscribe -> App can fetch all events from server that were pushed to iCalendar earlier.
3rd use case is where it is getting a bit tricky to understand the workflow as there is no API provided by apple that I could find online which helps me move into user's iCalendar and delete the requested event.
I request anyone having any idea regarding this or any previous work experience to please help me our guide me in how can things be done.

Related

How to get the app I'm developing to send me a notification to remind me for an event?

I'm making a student organizer app, where I have a module to register the student for an event. Once it has been registered, I want the app to send a notification 10 minutes before the event. How do I proceed with this, since I have no knowledge about it?
P.S., I know I'll have to use flutter-local-notifications, but I don't know how to do it.
Any help would be appreciated!
You don't need to use flutter_local_notifications, you need to use firebase_messaging.
Install the package according to instructions.
Subscribe your users to topics whose names ( topics' names ) will be associated with the name of event so users will receive notifications for that event.
You may push notifications from Firebase console -> Clod messaging.
Here you will create new notification and configure it.

iCalendar (.ics) feed, how to force calendar client to stop the subscription

I have an online service where it lets people subscribe to iCalendar feed.
I'm wondering if there is a way to force the subscriber (their Calendar client) to stop their subscription.
I have one subscriber who is subscribed to a feed that doesn't exist anymore. The annoying part is that this subscriber is fetching the data every 4 seconds!
I looked at iCalendar specification and it doesn't look like this is supported.
I tried few http response codes (404 and 410), but this doesn't stop the client.
The user agent I'm seeing in the log shows "iOS/12.5.4 (16H50) dataaccessd/1.0".
Any help is appreciated.
Thank you!
The problem is similar to a 'broken' link that keeps trying to fetch a page that no longer exists. How to unpublish an iCal (*.ics) feed?

Calendar+ does not automatically update subscribed calendars

I'm using ownCloud and its Calendar+ application.
This application is really great as it allows me to include external (ical) calendars. However, it seems as if the subscribed calendars are not refreshed automatically. New events on the subscribed calendars are not automatically visible in Calendar+.
Question 1: is there a way to automatically refresh subscribed calendars?
One of the subscribed calendars is my "Upcoming Events" calendar from Facebook. When creating the ical subscription, all the event have been included pretty flawlessly, but now there are new events in this calendar which won't be synched (as already mentioned in Question 1).
When manually refreshing the calendar, the update fails (Just "Update failed") without any detailed description. Does anyone have the same issues? Is there a workaround?
Thanks,
Tom

Send reminder notifications for user's birthday

I am creating an app using Swift and Parse as my backend platform. In my application a User can send an invitation to be connected to another user and as soon as they are connected the app should send notifications to remind the user about his friend’s birthday.
In this scenario I have two moments in which the app should send a notification:
1- When user A sends an invitation to user B, user B should receive a notification
2- When it’s user’s B birthday, user A should receive a notification and vice versa
I created a Parse object called AppNotification that is responsible for storing information about the notifications the user should receive. So when a user sends an invitation to another user I am adding a line in the AppNotification table, the same happens when it’s a birthday of a friend. Using this I can calculate the number of unread notifications and show it to the user in the UI using the components badge.
My question is more related to the best way to send the birthday notification. What I am considering is:
1- When user A sends and invitation to user B I have to send a push notification to user B.
2- As soon as the users are connected I can schedule local notifications to remind them about the birthday. This solution would use Local Notifications instead of Push Notifications.
3- Or create a Job in Parse that will be executed every day and will read all the users whose birthday is today and send a push notification to his friends. This solution would use Push notifications and I would not need to worry about scheduling local notifications.
Between the points 2 and 3 which one is the best solution? Is there any other approach I could use? When should I consider using Local Notifications other than Remote Notifications?
Thank you in advance.
Regarding points 2 and 3: there are pros and cons for both options: Having the reminders as local notifications is basically what your local calendar app does, i.e. you don't need a connection the Internet / Parse. However: what happens if one party (A) decides that she no longer wants to be a "friend" (of B)? Should notifications still be sent? If not, you could easily delete the scheduled notification on the server. This would also ensure that the other party (B) wouldn't receive notifications of a former friend (A) if she didn't open the app in the meantime and synced the list of friends.
There are of course more pros and cons, so it is really a matter of your preference and possibly other constraints (e.g. should an active internet connection be necessity?).

Is it possible to access iphone notes, calendar in IOS?

I want to access notes and calendar using native iphone app. I want to know is it possible in new iphone os? Is there any public pi for that?
There is the Event Kit API which is documented in The Event Kit Programming Guide.
As far as I know you cannot access Notes.
The Event Kit and Event Kit UI
frameworks together allow iOS
applications to access event
information from a user’s Calendar
database. You can fetch events based
on a date range or a unique
identifier, receive notifications when
event records change, and allow users
to create and edit events for any of
their calendars. Changes made to
events in a user’s Calendar database
with Event Kit are automatically
synced with the appropriate calendar
(CalDAV, Exchange, and so on). This
document describes Event Kit concepts
and common programming tasks.
Notes are now synchronized to the main IMAP server mail account. So if you can access that somehow then you could access the notes, potentially. However I think you'd probably have to link in your own IMAP client code, and ask the user for their login credentials.