September 10, 2015
By Max Buondonno - Chief Editor
Apple just wrapped up it's much anticipated "Hey Siri"-themed September event which featured updates to the iPad, iPhone, Apple Watch, and Apple TV. If you've been following our site every day, you probably weren't too surprised with all the announcements made, due to the rumors and leaks based on the products announced being very accurate this year. However, it was still a thriller to see what exactly the iPad Pro looks like along with the Rose Gold iPhone 6S/Plus, Rose Gold and Yellow Gold Apple Watch Sport, and new Apple TV and remote. Nonetheless, it was a great event with OneRepublic closing the keynote with a few songs for the crowd.
Let's recap everything Apple announced in detail! |
New Apple Watch Sport Case/Band Colors, New Hermes Collection, watchOS 2 Release Date, Apple Watch (Space Black) Now Offered with Black Sport Band
The 1st thing Apple announced yesterday was new case colors for their anodized aluminum Apple Watch Sport, the cheaper $349 - $399 variant of their wearable. You can now get your Apple Watch Sport in Rose and Yellow Gold along with Silver and Space Gray for the same $349 - $399 price. watchOS 2 also was mentioned alongside a release date for September 16.
They also announced their partnership with fashion brand Hermes to bring the Apple Watch Hermes collection. The new collection includes a customized version of the stainless steel Apple Watch with Hermes signature typography found on their watches along with Hermes own watch bands. Each band can be viewed below in the slideshow. The price for one of these babies starts at $1100 which isn't exactly cheap but still less than the Apple Watch Edition. But could you expect the price of one of these Apple Watches to be that much more than the regular Apple Watch? I didn't think so. The new Watch collection will be available in select Apple Stores starting in October.
Oh yeah, and while they were at it, they also released new silicon Sport bands for the Watch in new more subtle colors like beige and nude. And now when you buy the Space Black stainless steel Watch, it'll come by default with a black Sport band.
One of the colors announced was (PRODUCT)RED, a rumor leaked just hours before the event occurred. It comes as a Sport band for purchase at their retail and online stores.
iPad Pro Revealed, mini 4 Replacing mini 3 w/ Similar Body to Air 2, Accessories for iPad Pro Introduced Including Smart Keyboard Case & Apple Pencil, Pricing & Availability Also Announced
#2 on Apple's list of announcements yesterday was the iPad Pro, with the mentioned name the official one Apple chose to go with. After years of speculation and anticipation, Apple finally revealed to the word their 12.9 inch tablet. The specs are listed below with a slideshow following.
- iPad Pro name is official
- Larger display: 12.9-inch
- Enhanced custom keyboard
- Higher resolution than 15-inch MacBook Pro at 2732×2048
- A9X processor, 1.8X faster than A8X, 2x faster graphics
- 10-hour battery
- Can simultaneously edit 3 4K streams at once
- 4 speaker audio system (stereo)
- 6.9mm thick compared to iPad Air at 6.1mm
- 1.57 pounds, first iPad weighed 1.54 pounds
- Supports two new accessories: Smart Keyboard and Apple Pencil
- 8MP iSight camera
The iPad mini 4 also got a mention at the event from Phil Schillar, the presenter for both the iPad Pro and iPhone 6S. The iPad mini 4 is exactly like the iPad Air 2, with the same 6.1mm thin body and internal specs. The updates made to the rest of the iPad lineup can be seen below.
- iPad mini 4 features same power as iPad Air 2 but in a smaller casing
- Priced at $399
- iPad mini 3 drops from the lineup
- iPad mini 2 sticks around at new $269 price
- iPad Air and iPad Air 2 keep their same prices
Apple also announced 2 new accessories exclusively for the iPad Pro: the Apple Pencil (not pen, guys) and the Smart Keyboard case. The Apple Pencil can be used as a stylus for normal use with the iPad Pro along with drawing and designing in applications using pressure-sensitive sensors built into the iPad and Pencil. They get pretty technical with the details, but you should have a general idea. The Smart Keyboard case connects to the iPad Pro with special magnetic sensors along the side of the iPad, making it easy to switch between your iPad's software keyboard and your Smart Keyboard case's keyboard. The keys on the keyboard use the same butterfly mechanism found on the new 2015 MacBook to make the keys nice and slim. So if you like typing on your MacBook, you'll love typing on the Smart Keyboard for the iPad Pro.
The Apple Pencil and Smart Keyboard will be available as additional accessories for the iPad Pro and therefore will not be included in the box. The Pencil will go for $99 and the Smart Keyboard will feature a price tag reading $169. These accessories will be available when the iPad Pro is.
The Apple Pencil and Smart Keyboard will be available as additional accessories for the iPad Pro and therefore will not be included in the box. The Pencil will go for $99 and the Smart Keyboard will feature a price tag reading $169. These accessories will be available when the iPad Pro is.
iPad Pro pricing won't be cheap. Here's a run down.
- iPad Pro will range $799 to $1079 depending on storage capacity and radios
- 32GB Wi-Fi model costs $799, 128GB Wi-Fi model at $949, 128GB Wi-Fi + Cellular model costs $1079
- iPad Pro available in Space Gray, Silver, and Gold
- Coming in November
New Apple TV Announced, Apps & Games Available in Dedicated App Store, Touch-Based Remote w/ Siri Integration, $149-$199 Price
Apple has finally updated their Apple TV, with the last update occurring in 2012. The set top box received lots of updates, especially the software: the new Apple TV runs on Apple's tvOS, an iOS 9-based operating system featuring it's own App Store open to developers, Apple Music, and a refreshed interface similar to iOS. Here's a run down of all the new features in the 4th generation Apple TV.
You can view a slideshow of the highlights of the new Apple TV below.
- Same design as previous generation Apple TV except for 10mm difference due to more internals stored in new Apple TV
- A new remote control with a touch-based interface, a dedicated Siri button, a built-in mic, accelerometer and gyroscope sensors, volume control for both Apple TV and TV set, and a Lightning port-based charging solution.
- Support for 3rd Party Bluetooth gaming controllers
- A redesigned OS dubbed "tvOS" with cleaner looks, transparent everything, and 3D effects on cover art and deep Siri integration
- Siri voice commands to search for content. Apple noted that initially users will be able to search across iTunes, Netflix, Hulu, HBO, and Showtime, but that list will likely grow as developers build and update apps for the new Apple TV platform. Apple also demoed using Siri to recommend content, answer questions about currently playing content, and more directly from Apple TV.
- New apps and games available at time of launch including: Crossy Road, Disney Infinity, Guitar Hero, AirBNB, and Zillow
- Universal app creation, meaning a user can purchase a game or app once to use on their iOS device and Apple TV
- A 64-bit A8 chip, IR receiver, 802.11ac WiFi with MIMO, and Bluetooth 4.0
- $149 for 32GB model and $199 for 64GB model
- October availability with the 3rd generation Apple TV sticking around as the entry level model at $69
You can view a slideshow of the highlights of the new Apple TV below.
New iPhone 6S/Plus Announced, 3D Touch, Rose Gold Color Option, 12MP Camera w/ 4K Video, Touch ID 2.0, iPhone Upgrade Program
As the grand finale, Apple unveiled to the world the 4.7 inch iPhone 6S and 5.5 inch iPhone 6S Plus (I know, a mouthful). Basically, if you read our Stories on the iPhone 6S leaks, you already knew about the specs of this new device, but let's run them down.
You can view a slideshow below with highlights from the iPhone announcement.
- 3D Touch, force-sensing technology that adds new gestures “peek” and “pop,” which bring up modal windows and things hidden under panes. 3D Touch works everywhere from the Home screen to within apps, and provides tactile feedback for touch interactions. You can open an email message with a “peek” to show a window rather than going all the way in, or press more to see the entire message in full screen. Or open the front camera directly from the Home screen rather than defaulting to the rear camera.
- A9 processor promising 70% increase on A8 speed and 90% faster graphics (“console class”), enabling games to offer all sorts of special effects and frame rates better than A8.
- M9 motion coprocessor, always on, along with always-on Siri.
- Second-generation Touch ID, twice as fast as before.
- All new 12MP iSight camera. 50% more pixels than before, more accurate autofocus. They decided they would not add pixels over the 6/6 Plus camera until they wouldn’t compromise image quality. 4K video support has been added, as well.
- New 5MP FaceTime HD camera, including “Retina Flash” (screen) with True Tone ability. Screen can light up three times brighter than usual for this.
- Support for Live Photos, pictures you can save and watch animate (with sound) as you press with 3D Touch. They’re mini videos automatically created as you take pictures. But they’re not videos, a series of frame-to-frame compressed videos that work on all devices.
- Wi-Fi and LTE Advanced with “up to” 23 LTE bands, 2X faster LTE, and 2X faster Wi-Fi (866Mbps).
- A new rose gold aluminum finish, an Apple custom 7000-series aluminum, added to the other three prior colors (silver, space gray, gold).
- Brand new glass, billed by Apple as using a “dual ion-exchange process.”
- New Taptic Engine that’s apparently faster than the Apple Watch one, capable of running for mini-taps running 10ms and full taps at 15ms.
You can view a slideshow below with highlights from the iPhone announcement.
They also announced new charging docks and cases for the iPhone 6S which can be bought at their retail and online stores.
With the new Rose Gold color option coming to iPhone 6S and 6S Plus, Apple has pulled the Gold color option from their older iPhone 6/Plus and iPhone 5S. If you want a gold iPhone, you'll need to buy Apple's flagship smartphone.
iOS 9, watchOS 2, OS X El Capitan All Get Release Dates, iCloud Storage Plans Get Cheaper, GM Versions of iOS 9, El Capitan, watchOS 2 Seeded to Developers, New Apple TV Registration Exclusive for Developers
Apple announced yesterday when the new version of each of their OSes (iOS 9, watchOS 2, OS X El Capitan) will be released to the general public. iOS 9 and watchOS 2 will become available to all compatible devices on September 16, while OS X El Capitan will come out September 30.
Apple's iCloud storage service has gotten a price drop. Here are the current prices per month:
20 GB: $0.99
200 GB: $3.99
500 GB: $9.99
1 TB: $19.99
The new pricing for Apple's cloud storage is as follows:
50GB: $0.99
200GB: $2.99
1TB: $9.99
20 GB: $0.99
200 GB: $3.99
500 GB: $9.99
1 TB: $19.99
The new pricing for Apple's cloud storage is as follows:
50GB: $0.99
200GB: $2.99
1TB: $9.99
Apple also seeded developers with the Golden Master builds of iOS 9, watchOS 2, and OS X El Capitan. The builds are the final ones which will be released to the public on their set release dates.
Apple has also seeded developers the first beta of iOS 9.1. The iOS 9 GM change log mentions zero known issues. The portion containing the relevant changes is below. The iOS 9.1 beta includes support for the Live Photos, the Apple Pencil, and 3D Touch APIs.
Notes and Known Issues
The following issues relate to using iOS SDK 9.0 to develop code.
App Store
Note
iOS 9 enforces the UILaunchImages requirement; apps can no longer declare the same launch image to support different interface orientations.
Known Issue
Users might be prompted twice for credentials on the first In-App Purchase.
Apple ID
Notes
Some users will be offered to turn on two-factor authentication on their Apple ID. For more information about two-factor authentication see developer.apple.com/support/two-factor-authentication.
If you turn on two-factor authentication on your Apple ID, iTunes purchases on Mac and Windows and store purchases on Apple TV will require you to append a six-digit verification code to the end of your password the first time you use that device. The six-digit code will display automatically on your iOS 9 or OS X El Capitan devices, or can be sent to your trusted phone number via a text message or phone call.
Apple Pay
Note
The format of the postal code that is returned prior to full authorization has changed from iOS 8. In some cases, it may be truncated from what was previously being returned.
AVFoundation
Notes
The canUseNetworkResourcesForLiveStreamingWhilePaused property has been added to AVPlayerItem. The default value is NO for apps linked on or after iOS 9.0 or OS X 10.11, but YES for apps that were linked earlier.
To minimize power usage, set this property to NO if you do not need playback state to stay up to date while paused.
AVQueuePlayer now supports a mixture of file-based media and HTTP Live Streaming media in its queue. Prior to this, you had to ensure that all items in the queue were of the same type.
For apps linked against iOS 9 or later, the media interruption behavior for AV(Queue)Player has changed.
Before iOS 9, apps could interrupt other media-playing clients by associating or adding AVPlayerItem to AVPlayer or by modifying the time or date of the current AVPlayerItem (using the seekToTime: or seekToDate: methods). In iOS 9, these operations interrupt only when AVPlayer object’s playback rate is changed to a non-zero value through the rate property or play method.
Picture in Picture playback might stop and the Picture in Picture button might disappear when using AVPlayerViewController for video playback and replacing the underlying AVPlayer object’s current item using replaceCurrentItemWithPlayerItem:.
The cancelPictureInPicture method is deprecated.
CBCentralManager
Note
The retrievePeripherals: and retrieveConnectedPeripherals methods were deprecated in iOS 7.0 and removed in iOS 9.0. Apps that use these methods will crash on launch or upon pairing an accessory.
Foundation
Notes
There is new Foundation API that can be used to detect if the device is in Low Power Mode. See the updated Energy Efficiency Guide for iOS Apps for details.
Horizontal location constraints should consistently reference either left/right or leading/trailing attributes. For apps linked against the iOS 9 SDK, NSLayoutConstraint will throw an exception if you attempt to create a constraint between a leading/trailing attribute and a left/right attribute.
iCloud Drive
Note
The fetchAllChanges property on CKFetchRecordChangesOperation has been deprecated, and will be removed in iOS 9.
Keyboards
Note
The setting to use a third-party keyboard as the default keyboard for text input is not always respected.
Keychain
Note
iCloud Keychain will not sync passwords and credit cards with betas of iOS 9 and OS X El Capitan.
Music
Note
When users plug in headphones or connect to Bluetooth or CarPlay in their car, their favorite music app appears on the lock screen or the car display.
For your app to be eligible for this, it must publish to Now Playing upon launch and consistently maintain a Now Playing state. A common practice upon launch is to continue playing the track from when the app was last exited.
Known Issue
Some tracks you have previously purchased won’t play.
Workaround: Sign out of the Store and then sign back in.
Networking
Notes
When negotiating a TLS/SSL connection with Diffie-Hellman key exchange, iOS 9 requires a 1024-bit group or larger. These connections include:
Secure Web (HTTPS)
Enterprise Wi-Fi (802.1X)
Secure e-mail (IMAP, POP, SMTP)
Printing servers (IPPS)
DHE_RSA cipher suites are now disabled by defaults in Secure Transport for TLS clients. This may cause failure to connect to TLS servers that only support DHE_RSA cipher suites. Applications that explicitly enable cipher suites using SSLSetEnabledCiphers are not affected and will still use DHE_RSA cipher suites if explicitly enabled.
Safari may see a “Safari can’t establish a secure connection to the server” error page. Safari and other clients of CFNetwork API (NSURLSession, NSURLConnection, CFHTTPStream, CFSocketStream and Cocoa equivalent) will show “CFNetwork SSLHandshake failed” error in Console.
ReplayKit
Known Issue
Playing a video while ReplayKit recording is ON stops the ongoing recording session and the video fails to play.
Restore
Known Issue
If you’ve set a region that doesn’t match your language, restores from iCloud Backup might not progress.
Workaround: During restore, change your region to match your language. You can change it back after the restore is over.
Safari
Notes
When Done is tapped in a SFSafariViewController, it is automatically dismissed. You no longer need to dismiss it in the delegate method safariViewControllerDidFinish:.
“Find on Page” is now available both from the Share sheet as well as in the Completions List.
Request Desktop Site has moved; it’s now in the Share sheet instead of Favorites.
Web Browser–to–Native App Handoff does not work with your app if the apple-app-site-association file isn’t correctly formatted and signed. For more information, see Handoff Programming Guide and Shared Web Credentials Reference.
Secure Transport
Note
DHE_RSA cipher suites are now disabled by default in Secure Transport for TLS clients. This may cause failure to connect to TLS servers that only support DHE_RSA cipher suites. Applications that explicitly enable cipher suites using SSLSetEnabledCiphers are not affected and will still use DHE_RSA cipher suites if explicitly enabled.
UIKit
Notes
If initialized with a nil nibName value, UIViewController.nibName has always looked for a nib with a similar name as the view controller’s class, and defaulted to that value if loadView is not overridden.
Prior to iOS 9, subclasses of UIViewController that were written in Swift would require that their corresponding nib file name include the module prefix.
To improve flexibility in the event of refactoring, you can omit the module name from the nib filename in code that runs in iOS 9. UIViewController.nibName still prefers a name that contains the module prefix, but falls back to an unqualified name if a nib with the fully-qualified name is not found.
In iOS 9, when layoutIfNeeded is sent to a view and all of the following conditions are satisfied (which is not common), we apply fitting-size constraints (width/height = 0 at UILayoutPriorityFittingSizeLevel) instead of required size constraints (width/height required to match current size):
The receiver is not yet in the subtree of a view that hosts a layout engine, such as window, view controller view (unless you have set translatesAutoresizingMaskIntoConstraints to NO on that view—or created constraints that have one item in its subtree and one item outside it), table view cell content view, and so on.
The final ancestor (that is, top-level view) of the receiver has translatesAutoresizingMaskIntoConstraints set to NO.
The top-level view has a subview that is not a UIViewController-owned layout guide that also has translatesAutoresizingMaskIntoConstraints set to NO.
Under condition 1, we create a temporary layout engine from the top-level view and add all the constraints from the subtree to it. The problem is that we need to add some constraints that make the size of the top-level view unambiguous in the layout engine. The old behavior (prior to iOS 9) was that we would add constraints to restrict the size of the top-level view to its current bounds for any situation under condition 1. This really doesn’t make sense when you add conditions 2 and 3 and can result in unsatisfiable-constraints logging and broken layout.
So in iOS 9, for this special case only, we use fitting-size constraints instead.
This means that if you are sending layoutIfNeeded to a view under these conditions in iOS 9, you must be sure that either you have sufficient constraints to establish a size for the top-level view (which usually, though not always, is the receiver) or you must add temporary size constraints to the top-level view of layout size you desire before sending layoutIfNeeded, and remove them afterward.
For apps linked on iOS 9 or later, UITextView will now always correctly constrict its NSTextContainer to the fit inside the view when scrolling is disabled. Overflowing lines that lie outside of an NSTextContainer, even partially, are not rendered.
In previous iOS releases, the NSTextContainer sometimes was not constricted in size. This meant that logically overflowing lines were erroneously rendered. If you are seeing previously rendered lines at the end of your text view no longer rendered after linking your app against iOS 9, this behavior change is the likely cause. You can remedy this by making your UITextView larger, or perhaps by adjusting the bottom value of the text view’s textContainerInset property.
There is a redesigned UI for printing that includes a print preview (presented from UIPrintInteractionController or UIActivityViewController). For apps that provide printing items or use only built-in UIPrintFormatter objects (such as UISimpleTextPrintFormatter, UIMarkupTextPrintFormatter, UIWebViewPrintFormatter, or the UIViewPrintFormatter of any system-provided view), nothing additional is needed for the print preview to display.
Apps that subclass UIPrintPageRenderer or UIPrintFormatter to draw content for printing must be built with the iOS 9 SDK for the preview to display. The behavior of UIPrintPageRenderer has been updated to call drawPageAtIndex:inRect: multiple times with potentially different page sizes and margins. Various methods on UIPrintPageRenderer may be called from a non-main thread, but never from multiple threads concurrently.
UIPickerView and UIDatePicker are now resizable and adaptive—previously, these views would enforce a default size even if you attempted to resize them. These views also now default to a width of 320 points on all devices, instead of to the device width on iPhone.
Interfaces that rely on the old enforcement of the default size will likely look wrong when compiled for iOS 9. Any problems encountered can be resolved by fully constraining or sizing picker views to the desired size instead of relying on implicit behavior.
Webkit
Note
The if-domain and unless-domain value strings only match the exact domain. To match the domain and any subdomains, begin the string with the asterisk character (*).
Apple has also seeded developers the first beta of iOS 9.1. The iOS 9 GM change log mentions zero known issues. The portion containing the relevant changes is below. The iOS 9.1 beta includes support for the Live Photos, the Apple Pencil, and 3D Touch APIs.
Notes and Known Issues
The following issues relate to using iOS SDK 9.0 to develop code.
App Store
Note
iOS 9 enforces the UILaunchImages requirement; apps can no longer declare the same launch image to support different interface orientations.
Known Issue
Users might be prompted twice for credentials on the first In-App Purchase.
Apple ID
Notes
Some users will be offered to turn on two-factor authentication on their Apple ID. For more information about two-factor authentication see developer.apple.com/support/two-factor-authentication.
If you turn on two-factor authentication on your Apple ID, iTunes purchases on Mac and Windows and store purchases on Apple TV will require you to append a six-digit verification code to the end of your password the first time you use that device. The six-digit code will display automatically on your iOS 9 or OS X El Capitan devices, or can be sent to your trusted phone number via a text message or phone call.
Apple Pay
Note
The format of the postal code that is returned prior to full authorization has changed from iOS 8. In some cases, it may be truncated from what was previously being returned.
AVFoundation
Notes
The canUseNetworkResourcesForLiveStreamingWhilePaused property has been added to AVPlayerItem. The default value is NO for apps linked on or after iOS 9.0 or OS X 10.11, but YES for apps that were linked earlier.
To minimize power usage, set this property to NO if you do not need playback state to stay up to date while paused.
AVQueuePlayer now supports a mixture of file-based media and HTTP Live Streaming media in its queue. Prior to this, you had to ensure that all items in the queue were of the same type.
For apps linked against iOS 9 or later, the media interruption behavior for AV(Queue)Player has changed.
Before iOS 9, apps could interrupt other media-playing clients by associating or adding AVPlayerItem to AVPlayer or by modifying the time or date of the current AVPlayerItem (using the seekToTime: or seekToDate: methods). In iOS 9, these operations interrupt only when AVPlayer object’s playback rate is changed to a non-zero value through the rate property or play method.
Picture in Picture playback might stop and the Picture in Picture button might disappear when using AVPlayerViewController for video playback and replacing the underlying AVPlayer object’s current item using replaceCurrentItemWithPlayerItem:.
The cancelPictureInPicture method is deprecated.
CBCentralManager
Note
The retrievePeripherals: and retrieveConnectedPeripherals methods were deprecated in iOS 7.0 and removed in iOS 9.0. Apps that use these methods will crash on launch or upon pairing an accessory.
Foundation
Notes
There is new Foundation API that can be used to detect if the device is in Low Power Mode. See the updated Energy Efficiency Guide for iOS Apps for details.
Horizontal location constraints should consistently reference either left/right or leading/trailing attributes. For apps linked against the iOS 9 SDK, NSLayoutConstraint will throw an exception if you attempt to create a constraint between a leading/trailing attribute and a left/right attribute.
iCloud Drive
Note
The fetchAllChanges property on CKFetchRecordChangesOperation has been deprecated, and will be removed in iOS 9.
Keyboards
Note
The setting to use a third-party keyboard as the default keyboard for text input is not always respected.
Keychain
Note
iCloud Keychain will not sync passwords and credit cards with betas of iOS 9 and OS X El Capitan.
Music
Note
When users plug in headphones or connect to Bluetooth or CarPlay in their car, their favorite music app appears on the lock screen or the car display.
For your app to be eligible for this, it must publish to Now Playing upon launch and consistently maintain a Now Playing state. A common practice upon launch is to continue playing the track from when the app was last exited.
Known Issue
Some tracks you have previously purchased won’t play.
Workaround: Sign out of the Store and then sign back in.
Networking
Notes
When negotiating a TLS/SSL connection with Diffie-Hellman key exchange, iOS 9 requires a 1024-bit group or larger. These connections include:
Secure Web (HTTPS)
Enterprise Wi-Fi (802.1X)
Secure e-mail (IMAP, POP, SMTP)
Printing servers (IPPS)
DHE_RSA cipher suites are now disabled by defaults in Secure Transport for TLS clients. This may cause failure to connect to TLS servers that only support DHE_RSA cipher suites. Applications that explicitly enable cipher suites using SSLSetEnabledCiphers are not affected and will still use DHE_RSA cipher suites if explicitly enabled.
Safari may see a “Safari can’t establish a secure connection to the server” error page. Safari and other clients of CFNetwork API (NSURLSession, NSURLConnection, CFHTTPStream, CFSocketStream and Cocoa equivalent) will show “CFNetwork SSLHandshake failed” error in Console.
ReplayKit
Known Issue
Playing a video while ReplayKit recording is ON stops the ongoing recording session and the video fails to play.
Restore
Known Issue
If you’ve set a region that doesn’t match your language, restores from iCloud Backup might not progress.
Workaround: During restore, change your region to match your language. You can change it back after the restore is over.
Safari
Notes
When Done is tapped in a SFSafariViewController, it is automatically dismissed. You no longer need to dismiss it in the delegate method safariViewControllerDidFinish:.
“Find on Page” is now available both from the Share sheet as well as in the Completions List.
Request Desktop Site has moved; it’s now in the Share sheet instead of Favorites.
Web Browser–to–Native App Handoff does not work with your app if the apple-app-site-association file isn’t correctly formatted and signed. For more information, see Handoff Programming Guide and Shared Web Credentials Reference.
Secure Transport
Note
DHE_RSA cipher suites are now disabled by default in Secure Transport for TLS clients. This may cause failure to connect to TLS servers that only support DHE_RSA cipher suites. Applications that explicitly enable cipher suites using SSLSetEnabledCiphers are not affected and will still use DHE_RSA cipher suites if explicitly enabled.
UIKit
Notes
If initialized with a nil nibName value, UIViewController.nibName has always looked for a nib with a similar name as the view controller’s class, and defaulted to that value if loadView is not overridden.
Prior to iOS 9, subclasses of UIViewController that were written in Swift would require that their corresponding nib file name include the module prefix.
To improve flexibility in the event of refactoring, you can omit the module name from the nib filename in code that runs in iOS 9. UIViewController.nibName still prefers a name that contains the module prefix, but falls back to an unqualified name if a nib with the fully-qualified name is not found.
In iOS 9, when layoutIfNeeded is sent to a view and all of the following conditions are satisfied (which is not common), we apply fitting-size constraints (width/height = 0 at UILayoutPriorityFittingSizeLevel) instead of required size constraints (width/height required to match current size):
The receiver is not yet in the subtree of a view that hosts a layout engine, such as window, view controller view (unless you have set translatesAutoresizingMaskIntoConstraints to NO on that view—or created constraints that have one item in its subtree and one item outside it), table view cell content view, and so on.
The final ancestor (that is, top-level view) of the receiver has translatesAutoresizingMaskIntoConstraints set to NO.
The top-level view has a subview that is not a UIViewController-owned layout guide that also has translatesAutoresizingMaskIntoConstraints set to NO.
Under condition 1, we create a temporary layout engine from the top-level view and add all the constraints from the subtree to it. The problem is that we need to add some constraints that make the size of the top-level view unambiguous in the layout engine. The old behavior (prior to iOS 9) was that we would add constraints to restrict the size of the top-level view to its current bounds for any situation under condition 1. This really doesn’t make sense when you add conditions 2 and 3 and can result in unsatisfiable-constraints logging and broken layout.
So in iOS 9, for this special case only, we use fitting-size constraints instead.
This means that if you are sending layoutIfNeeded to a view under these conditions in iOS 9, you must be sure that either you have sufficient constraints to establish a size for the top-level view (which usually, though not always, is the receiver) or you must add temporary size constraints to the top-level view of layout size you desire before sending layoutIfNeeded, and remove them afterward.
For apps linked on iOS 9 or later, UITextView will now always correctly constrict its NSTextContainer to the fit inside the view when scrolling is disabled. Overflowing lines that lie outside of an NSTextContainer, even partially, are not rendered.
In previous iOS releases, the NSTextContainer sometimes was not constricted in size. This meant that logically overflowing lines were erroneously rendered. If you are seeing previously rendered lines at the end of your text view no longer rendered after linking your app against iOS 9, this behavior change is the likely cause. You can remedy this by making your UITextView larger, or perhaps by adjusting the bottom value of the text view’s textContainerInset property.
There is a redesigned UI for printing that includes a print preview (presented from UIPrintInteractionController or UIActivityViewController). For apps that provide printing items or use only built-in UIPrintFormatter objects (such as UISimpleTextPrintFormatter, UIMarkupTextPrintFormatter, UIWebViewPrintFormatter, or the UIViewPrintFormatter of any system-provided view), nothing additional is needed for the print preview to display.
Apps that subclass UIPrintPageRenderer or UIPrintFormatter to draw content for printing must be built with the iOS 9 SDK for the preview to display. The behavior of UIPrintPageRenderer has been updated to call drawPageAtIndex:inRect: multiple times with potentially different page sizes and margins. Various methods on UIPrintPageRenderer may be called from a non-main thread, but never from multiple threads concurrently.
UIPickerView and UIDatePicker are now resizable and adaptive—previously, these views would enforce a default size even if you attempted to resize them. These views also now default to a width of 320 points on all devices, instead of to the device width on iPhone.
Interfaces that rely on the old enforcement of the default size will likely look wrong when compiled for iOS 9. Any problems encountered can be resolved by fully constraining or sizing picker views to the desired size instead of relying on implicit behavior.
Webkit
Note
The if-domain and unless-domain value strings only match the exact domain. To match the domain and any subdomains, begin the string with the asterisk character (*).
Apple is also allowing developers to register to receive an Apple TV Developer Kit so they can begin to develop new applications for the new Apple TV and begin to test them as well instead of waiting until the new Apple TV is available. Supplies are limited so be sure to register. The Apple TV Developer Kit includes the new Apple TV, Apple TV Remote, Power cord, Lightning to USB Cable, USB-A to USB-C Cable, and documentation. You can register for a developer kit if you have been registered in the Apple Developer program as of September 9, 2015 at 9:00 a.m and are registered in one of a select number of countries, including the United States and United Kingdom.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Stay with MBEDDED for all the latest news in Apple by following us on Twitter, Google+, and by subscribing to our newsletter, located on our Home page.
------------------------------------------------------------------------------------------------------------------------------------