Summarised noted, mostly for myself, of interesting 2015 WWDC sessions. I'll update them as I watch
- Should happen automatically.
- Downloadable resource/bundles from iTunes Connect
- Optimises binary at submission time.
- xCode 7 setting should be enabled by default.
Bringing native watch apps in watchOS2
- Data is driven by a timeline so that it's accurate at the time of raising your wrist
- Time line can change via "scheduled updates" i.e. weather
- Complication can be updated by a push message
- Timeline feature
- Full screen notifications
- With custom action buttons
- App transport security
- Automatically enforce best practise
- NSURLSession has it be default, might need to add url exception list incase server is not ready.
- Mac can emulate IPV6 network via personal hotspot.
- All apps must be IPV6 compliant for submission on iOS9
NSPersonalNameFormatter, can give first name as per country.
- Left-to-right languages is now left-to-right on the entire UI. Should be for free if using standard components.
- Host a file on website listing url application handles natively
NSUserActivitywraps up the link
- Three ways to index content
- App indexing extension, using by CoreSpot to periodically index your app's content
NSUserActivity, used to record what your user has been up to.
- Web Markup, indexed by Apple's web crawler.
- Must use adaptive layout, size classes, dynamic type for text and autolayout
- Size classes can change regular|compact to compact|compact as you resize the split view
- New error handling, try/catch
- Availability checking to check if features/functions are available to the iOS
- Protocol programming??
- guard to check conditions and bail on function
- generics in objc-c
- header file view of SWIFT code
- rich text documentation
- new profiler/debugger helps with energy usage
- new instruments
- address sanitiser to help debug memory
- test apis
- test performance
- user interface testing
- code coverage
What's new in WatchKit
New crown activated selectors.
- List, stack and sequence selectors.
- Last two work only with graphics.
- Background can move in relation to the selection index.
- Similar to
UIViewAnimationwith blocks. See video Layout and Animation Techniques for WatchKit.
- Access to enumeration of types of haptic feedback to use.
Audio recorder and speaker access.
- Local or off the network.
- "Long form audio" can be played with something similar to
- Difference is music to be played is passed off to system to play to enhance battery life.
- Allows playback even if application is not running
New Alert API
New/Improved SDKs in watchOS
- WWDC Watch complications
- WatchConnectivity to link phone and watch. For uploading data from phone to watch (or visa versa).
- WatchConnectivity uses
Application Contextto send
Dictionarydata to both.
FileTransferAPIto send larger files.
SendMessageAPIcan be used to send message from watch to phone, waking up the application. Sending the other way doesn't wake up the watch app.
- WWDC WatchConnectivity
- Enhanced to provide real time motion data to running app.
- Can provider motion data to app not running and batch send the data when app opens.
- When watch is removed from wrist it becomes locked.
Three new related search APIs
- NSUserActivity for viewed public app content.
- CoreSpotlight Any app generated content.
- Web Markup App content on web.
NSUserActivity objects are created as user is using your app and added to the On-Device Index.
NSUserActivity has properties to describe
userInfoused to repopulate the application state
contentAttributeSeta set of attributes allowing iOS to categorise and display the activity better in the search results.
expirationDateif this activity expires.
isActiveinforms system this is the active user activity.
NSUserActivity is designated as public, when it's index (via the user using the app) this activity is indexed by the iCloud index and the activity is available to all users via Spotlight. If
NSUserActivity contains web url, then it's available in Safari such as well.
NSUserDefaults public doesn't mean it's indexed. Only indexed if searched in spotlight and engaged by many users.
NSUserActivity to the app you get
- Siri reminder Remind me about this as demo'ed.
CSSearchableItem, add metadata via
CSSearchableItemAttributeSet and then add to
When user taps on search result, the unique id of the
CSSearchableItem is returned and that item can be retrieved from the
- Allows for updating and deleting of
- Batching of updates for large indexes
Extensionso that the index can communicate with your app when in foreground and background.
Applebot has been crawling the web looking for mobile deep links. Applebot searches supports popular standards such as Smart App Banners, Twitter Cards and Facebook's App Links.
New iOS9, universal links, link back to your application with normal looking HTML. See Seamless Linking to Your App
NSUserActivity ranking is determined by many factors
- engagement by many users is key
- speed of linking back to app important. Minimal loading times, view controller presentation and no hurdles such as login.