I am looking for a well supported (i.e. in active development or so mature that it can be a natural and uncontraversial choice) calendar library. I primarily need it to tell me when the next one or more dates are that match criteria I specify. The representative criteria I need to supply are:

1. Every month on the last Saturday

2. Every month on the last day

3. Every month on the first day

4. Every month on day #

5. Every month on the first Saturday

6. Every # months on the first Saturday

7. Every # months on day #

8. Every # months on the last Saturday

(Of course, if the library can handle these, it can likely handle a lot more that I may find useful at a later date.)

The preferred language of the library will be (in order of desirability) (a) swift, (b) objective-c, (c) c & (d) c++.

Apple's classes supply two potential solutions.

1. The EventKit classes. The provided API can handle everything I mentioned above. The problem with it is that it requires that I interact directly with the user's calendar and this is something I want to avoid.

2. The NSCalendar & NSDateComponents classes. These can handle most of what I mentioned above, but I do not see a way to specify 'last', for example.

Does anyone have any suggestions?