Skip to main content

Posts

Showing posts with the label iOS 8

Getting the user's permission to send them local notifications in iOS (using Swift)

Ok for iOS devices I think it will still be at least another year, till we have devices that are using versions earlier than iOS 8 ! so what does that mean? Problem Well, it means that if we are building an iOS app that works on both iOS 7 and 8 which uses a feature introduced in iOS 8, we need to check if that feature exists on the device before using it. Now the iOS app that I am building uses local notifications and in iOS 8 Apple introduced this feature to ask the user to receive LOCAL NOTIFICATIONS via   registerUserNotificationSettings . So what I wanted to do is check if the feature exists on the device the app is running on without checking the iOS version on the device via  UIDevice.currentDevice().systemVersion . Solution So turns out NSObject has this really useful method called instancesRespondToSelector , so I can solve my problem of finding out the presence of registerUserNotificationsSettings using the following code, UIApplication.instancesRespon...

How do I get the day of the week for a date in my iOS app (using Swift)?

The title of this blog can be continued with the following line "...such that it works on both iOS7.1 and iOS8 and above". For a certain feature of my app, I needed to find out what day of the week it is for a give date and a lazy Google search lead me to the following code let today = NSDate () let calendar = NSCalendar ( calendarIdentifier : NSGregorianCalendar )! var components : Int = calendar . component (. WeekdayCalendarUnit , fromDate : today ) So I included that code in my app and first tested it on my iPhone 6 and it was working great, I was like "phew! one more thing done for my app". Unfortunately, that expression was a bit premature and I realised that when the app crashed after I deployed it to my old iPhone 5 running iOS7.1. This is the error I got, [_NSCopyOnWriteCalendarWrapper component:fromDate:]: unrecognized selector sent to instance 0x7f8452f4e490 Well as it turns out, the method that includes the fromDate parameter, ...