WWDC 2015 Keynote highlights

This years WWDC was divided into 4 key areas.  The overall keynote felt more of improvements to current systems / apps instead of anything ground breaking.  This is not a bad thing if it improves the user’s experience.

iOS 9

  • Apple News app allows you to get all the latest news in a very rich way (pictures, animations etc). I been told by others it’s like Flipboard,  sad times for Flipboard.
  • Apple Pay is coming to the UK and Apple Wallet allows you to group your store / credit cards together.
  • Maps now show Transit routes for major cities.
  • New iPad only split screen / multitasking modes that allow you to use 2 apps at the same time.  Looks super fun and cool but the best parts are only supported on a iPad Air 2.
  • Swift 2 announced and is going open source.
  • iOS 9 installation size will be a lot smaller than iOS 8!

WatchOS 2

The biggest announcement from a developer’s point of view was WatchOS 2

  • Native Apps.  This is the big change, you now have access to the watch hardware (sensors and buttons).  The watch can now do stuff without being connected to the phone.
  • Third-party complications.  Complications are basically watch face widgets that you can create.  You could create a Complication that shows your heart rate as part of your watch face.
  • Better health and fitness performance
  • New Siri capabilities.  You can now ask Siri to start a 5 mile run, or go for a 300 calorie bike ride

OSX El Capitan

Lots of small improvements however it felt like a maintenance release instead of a new big shiny thing.  The support for split screen for apps is cool, but Windows 8 has had that for a while.  Mac gets the 3D engine called Metal which iOS got in iOS 8

Apple has merged it iOS and Mac developer program which is a good move, the Mac app store is a bit of a graveyard.

Apple Music

This was Apple’s big announcement.  In summary, imagine Sportify + a 24 hour radio station managed by Zane Lowe.  $9.99 a month or $14.99 for families (up to 6 people)

Apple Watch : Sending notifications to the watch from the iPhone

The normal way to communicate between the AppleWatch and the iPhone is via AppGroups to share data (shared Prefs, CoreData etc) or by calling the method openParentApplication from the watch and using the delegate method handleWatchKitExtensionRequest.

What would be very nice is if you could notify the watch from the iPhone that something happened, something like a postNotification.  Sadly postNotificaitons do not work, but Darwin ones do!

WatchKit code

– (void)registerTestNotification {

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MY_METHOD) name:@”com.burfdevelopment.test” object:nil];

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge const void *)(self), didReceivedDarwinNotification, CFSTR(“UPDATE_WATCH”), NULL, CFNotificationSuspensionBehaviorDrop);

}

static void didReceivedDarwinNotification() {

[[NSNotificationCenter defaultCenter] postNotificationName:@”com.burfdevelopment.test” object:nil];

}

iPhone code to fire off notification

CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR(UPDATE_WATCH), (__bridge const void *)(self), nil, TRUE);