Giter Site home page Giter Site logo

mxlcalendarmanager's Introduction

MXLCalendarManager

A set of classes to parse and handle iCalendar (.ICS) files. The framework can parse through an iCalendar file and extract all VEVENT objects into MXLCalendarEvent items. Then, by running the checkDate: or checkDay:month:year you can see if the event occurs on a certain day.

Installation

The recommended installation is via CocoaPods.

pod 'MXLCalendarManager'

Any questions or comments? Feel free to email me or send me a tweet.

mxlcalendarmanager's People

Contributors

attomos avatar benjojo avatar econa avatar josh- avatar kiranpanesar avatar rahulsom avatar readmecritic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mxlcalendarmanager's Issues

RRULE BYDAY not working properly

Hi!

First of all, congrats on this parser! It's really great! However I found out that the BYDAY RRULE is not take into account. For instance, this event:

BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20160311T083000
DTEND;TZID=America/Los_Angeles:20160311T103000
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=2FR
DTSTAMP:20161018T143425Z
UID:[email protected]
CLASS:PUBLIC
CREATED:20160224T023810Z
DESCRIPTION:
LAST-MODIFIED:20160822T045008Z
LOCATION:Some Location
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY: The Summary
TRANSP:OPAQUE
END:VEVENT

should only occur on the 2nd Friday every month and now it's repeating every Friday.

I know you have this block of code for that:

// These checks are to catch if the event is set to repeat on a particular weekday of the month (e.g., every third Sunday)
if (repeatRuleByDay && ![repeatRuleByDay containsObject:[NSString stringWithFormat:@"1%@", dayString]]) {
    if (repeatRuleByDay && ![repeatRuleByDay containsObject:[NSString stringWithFormat:@"2%@", dayString]]) {
        if (repeatRuleByDay && ![repeatRuleByDay containsObject:[NSString stringWithFormat:@"3%@", dayString]]) {

            return NO;
         }
    }
}

but this isn't working.

Can you help me with this?

Thanks in advance

daylight saving time issue

I have verified that MXLCalendarManager does not take into account daylight saving time to determine an event start and end time. Here is an example.

Suppose you have an event starting Sunday March 23 2014 at 2.00 AM, ending at 3.00 AM and recurring each week until the end of the year. Now, in Italy, on Sunday 30 there will be the daylight saving time change exactly at 2.00 AM (because we are at +1 hour offset from GMT). So, the clock at 2.00AM must be set to 3.00 AM. The net effect on the previous event is that the event on Sunday 30 in Italy will start at 3.00 AM and will end at 4.00 AM due to daylight saving time. This will happen only on Sunday 30; on all of the other occurrences the event will start at 2.00 AM and will end at 3.00 AM (note that on Sunday October 26 2014, daylight saving time will change again in Italy, but since this time at 3.00 AM we set the clock at 2.00 AM, the event will occur from 2.00 AM to 3.00 AM).

You can verify this entering the previous event on any iCalendar compliant calendaring app, such as Calendar on Mac OS X Mavericks (just modify the event according to your country daylight saving time). So, a compliant calendaring app must handle event start/end times overlapping (fully or partially) daylight saving times. Timezones are strictly related, since each timezone can have an arbitrary daylight saving time (see the official database, available at http://www.iana.org/time-zones or, informally, http://www.worldtimezone.com/daylight.html)

How to get ICS file categories

I am using mxlcalendarmanager library,it is working fine but in our ics file we have categories also how can i get categories using your library

Event does not exist on start day

I am doing something as simple as this and it is returning false:

print(event.checkDate(event.eventStartDate))

I don't understand how an event would not even occur on its start date..?

Issue when EventDescription already have \n in it

Well i am in a situation where the ical file is generated from a website with a visual interface and if user press enter in that visual interface it will automatically add \n for each enter user press

now when i am parsing that ical file using this lib , everything is working fine except that EventDescription in ical event , library parse the event description but don't remove complete \n it just get rid only \ so my event description have "n" for everywhere when there is "\n"

Example event description : this is my super \n\n cool event description yeah
Output : this is my super nn cool event description yeah
Expectation: this is my super nn cool event description yeah

.ics file not parsing completely

Hi,

Description is not parsing. it is only parsing start date, end date of event. also there is no options to add custom view. It is showing only table format.

Please help me.

Thanks :)

Ability to display timezone abbreviation

Does anybody know the correct way to generate the 3-character abbreviation from an NSTimeZone (e.g., CET, CST, GMT)? I had a hacky method which I thought worked, but it causes a crash on some timezones.

Let me know and/or submit a pull request!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.