People love their Apple products, they have been the envy of PC and Android users for years. Now that iOS 9 is set to be available to the public prior to its official fall 2015 release date, it is time to see what changes iOS 9 is bringing to existing APIs.
No doubt the new intelligence, transit directions (available in Apple Maps), loyalty cards (in Apple Pay) and features added to Siri will attract a lot of user attention. Obviously, they will be pleased with the improvements made on the keyboard and various other multitasking capabilities like: split screens and slideovers, or picture in picture video and let us not forget the new task switch.
Here is some of the big news, Apple’s Swift programming language is going to be made an open source accessible product. Apple rarely gives things away so this is headline worthy in and of itself.
Making Swift an open source entity will enable programmers and developers to learn all the ins and outs of this language. Mastering another programming language will thereby allow them to tweak it and add more capabilities. There will be new developer libraries and code compilers on the Swift 2 front as well. This opens in July and is free to all. Notably, Swift 2 compatibility will span iOS 8 and 9 devices.
Really, there are thousands of minor changes to Swift that will make it cleaner and safer in interoperability. Some of these changes include: return values, nullability annotations and converting unwrapped parameters. Equally worthy of revelation is the fact that previously inaccessible APIs are now revised to work with Swift 2.
Let us be the first to introduce you to Core Location. This is one of the several new additions to Apple’s iOS 9 design. Core Location was created to assist applications that fetch a user’s location without the necessity of continuous location analysis and updates. The Core Location API turns itself off after providing the necessary location information rather than constantly running location searches. Be advised that the new core location uses the same delegates as the continuous methodology but as previously explained, it does not remain in location retrieval mode.
Considered a powerful Cocoa feature, String Transformations has moved from its initial home in the Core Foundation. This is an advance in ease of use and discoverability thanks to the removal of the need to bridge between CFStringRef. Some of the new transformations that can be done include: transliteration, Unicode names and normalizing user input.
The new contacts framework adds NSFormatter subclasses while improving upon some old favorites: NSNumberFormatter and NSDateFormatter. The subclasses are designed to allow formatting of names, and addresses in a new foundation called: NSPersonNameComponentsFormatter. While this is certainly an improvement, we will just discuss the number and date formatter here (we can’t reveal everything at once, now can we?).
So, there are four new styles added to the iOS 9 version of NSNumberFormatter. There is now the ordinal style which will convert numbers to their ordinal equivalents. Then there is the already familiar, .CurrencyStyle which sees some extras in the form of: .CurrencyPluralStyle, .CurrencyISOCodeStyle, and .CurrencyAccountingStyle. While these might sound like phenomenal feature improvements, be sure that your locale specifies country and language so that the formatter can get the presentation and currency right in its display.
Finally, in the NSformatter realm, the date formatter sees some seemingly improved methodologies. In truth the template was available in the iOS 8 design but was not really acknowledged. Given the movement toward more international standardization, though, the new-ish setLocalizedDateFormatFromTemplate(_:) makes creating a template for the time and date elements you want, extraordinarily easy. However, the formatting is left up to the NSDateFormatter.
Designed to provide new properties and methods, it indexes app states and activities so that they are more readily located in search results. This allows useful content to be available to all users and in truth, just about every app out there could benefit from utilizing the NSUserActivity APIs. This new API allows you to designate certain activities, or app states, searchable so that you can return to them later. This enables the search results, and Safari, to provide you with the ability to return to a relevant position in the app you are looking for.
This goes a step further by allowing you to enrich the metadata you assign to the newly specified searchable activity or app state. You can add thumbnail images, titles, descriptions and other rich information so that your object can be readily revealed. That said, you must first assign an NSUserActivity object to represent your searchable app state or activity. Use the properties found therein to completely describe your new searchable object. Ultimately you can choose to continue activities and/or make them available to all users through this same API.
One final thing for iOS 9 users to consider is the fact that Apple claims its new design will increase battery life. They want to be more real world, and work, time conscious so they have instituted a low power mode that will enable the operating system to shut down background operations whenever the battery life falls below a specified level. Supposedly there is the potential for an extra three hours of life on the iOS device.
Keep your eyes on all the iOS 9 updates that will inundate the web in days to come. No doubt some will reveal more than we have here. However, the fact remains, iOS 9 will be available before its official release date and it will offer some banging new technology. Those who are comfortable in the programming and development arenas will be pleased with the new contacts framework, the initiation of core location and the super cool updates in NSUserActivity. This is the iOS to have, time to upgrade.