By Rich W Woods
Only a day after the public release of iOS 8.1.1, Apple is seeding iOS 8.2 Beta to developers. This is a unique beta as it is not being released alongside a Mac OS beta and it especially unique since it is not being released alongside an Apple TV beta because Apple TV runs on iOS.
iOS 8.2 Beta does, however, have an Xcode 6.2 counterpart. Apple has kept their promise in releasing WatchKit to developers in the month of November. In fact, as far as I can tell, the only major difference to iOS 8.2 and Xcode 6.2 is WatchKit. The Apple Watch will run iOS as the iPhone, iPad, iPod Touch, and Apple TV does, so this is likely the reason for the new beta.
Apple seems to be working on a rapid release program. Almost immediately after the release of iOS 8, iOS 8.1 was in beta. After the public release of iOS 8.1 only a month after iOS 8, iOS 8.1.1 was in beta. This was important because Apple seems to be sharing their work more with developers.
How to get iOS 8.2 Beta
This is not a major update. Version numbers are major.minor.bug fixes. As far as I can tell so far, the only reason it’s there is so developers can test compatibility with the Apple Watch. I wouldn’t recommend installing it unless you really want to check it out.
First, you need to get an iOS developer account. It costs $99 per year. There are third party services that will get it for you for much less, but I do not recommend it.
Next, you have to find your UDID number. Up until iOS 7, you could download an app to find your UDID. Now, you need to plug the device into iTunes. Where you see the serial number, click on it. Your serial number will turn into the UDID. Go to your developer account at Apple’s developer web site and go to Certificates, Identifiers, and Profiles. Go to Devices and add your UDID.
Download the iOS 8.2 Beta file that corresponds to your device. While in iTunes, hold option on a Mac or Shift on a Windows PC and click Restore iPhone or Restore iPad. Navigate to the file that you downloaded and click Ok. In a few minutes you’ll be running iOS 8.2 Beta.
iOS 8.2 Beta Release Notes
iOS SDK 8.2 provides support for developing iOS apps. The SDK is packaged with a complete set of tools, compilers, and frameworks for creating apps for iOS and OS X. The tools include the Xcode IDE and the Instruments analysis tool, among many others.
With this software, you can develop apps for iPhone, iPad, or iPod touch running iOS 8. It now includes WatchKit, a framework for developing Apple Watch apps. You can test your apps using the included iOS Simulator.
iOS SDK 8.2 requires a Mac computer running OS X v10.9.3 (Mavericks) or later.
This version of iOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state.
For more information and additional support resources, visit http://developer.apple.com/programs/ios/.
For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug-reporting/ios/). Additionally, you may discuss these issues and iOS SDK 8.2 in the Apple Developer Forums: http://devforums.apple.com. To get more information about iCloud for Developers, go to http://developer.apple.com/icloud.
Notes and Known Issues
The following issues relate to using iOS SDK 8.2 to develop code.
CKAsset instance can no longer be set as a value on multiple CKRecords.
Your app needs the iCloud entitlement to be able to be used as a document provider.
com.apple.developer.icloud-container-identifiersentitlement is required.
After rotating document picker to landscape, the status bar is hidden.
Upon bringing up document picker in landscape, the containing view may be shifted beneath the navigation bar.
App extensions need an arm64 slice to run on 64-bit devices. If you try to run the armv7 slice on a 64-bit device it won’t work.
Apps need to have an arm64 slice if the bundle contains a framework that both the app and the app extension link against.
The file system layout of app containers has changed on disk. Rather than relying on hard-coded directory structure, use the
NSSearchPathForDirectoriesInDomains function or the
URLForDirectory:inDomain:appropriateForURL:create:error: method of the
NSFileManager class. See Accessing Files and Directories in File System Programming Guide.
The Thai system font has increased in size to improve readability. This will cause clipping in many places in your UI if you don’t take appropriate action:
UILabelas much as possible. If you use Interface Builder, make sure that Clip Subviews is not checked. UIKit will grow the clipping region as necessary to not clip text.
Use Dynamic Type. This will ensure that you do not have overlapping glyphs in multiline labels or text fields.
If you can’t do 1 and 2 because you implement your own views, you must implement measures not to clip. You can use CoreText to figure out the appropriate clipping region for a line of text by calling:
To avoid overlapping glyphs in multiline text elements, adjust the line height. An additional 30% is recommended.
This measure will also help your app perform better in other languages, including Arabic, Hindi, and Vietnamese.
Mail handoff and AirDrop may stop working after changing your iCloud password at appleid.apple.com.
Workaround: Sign out and back into iCloud on the device.
URLForUbiquityContainerIdentifier: might return
nil when running your application in Xcode. If so, open System Preferences, navigate to iCloud > iCloud Drive, and enable Xcode.
Additional keyboards, including 3rd party keyboards, may not appear in Safari, Maps, or 3rd party apps in the Simulator.
Workaround: Keyboards should be testable in Calendar, Spotlight, Contacts, and Photos.
The schedule and intended use of
widgetPerformUpdateWithCompletionHandler: is intended as a convenient home for all data/model update logic. If implemented, the system will call at opportune times for the widget to update its state, both when Notification Center is visible, as well as in the background. An implementation is required to enable background updates. It’s expected that the widget will perform the work to update asynchronously and off the main thread as much as possible. Widgets should call the argument block when the work is complete, passing the appropriate
NCUpdateResult. Widgets should NOT block returning from
viewWillAppear: on the results of this operation. Instead, widgets should load cached state in
viewWillAppear: in order to match the state of the view from the last
viewWillDisappear:, then transition smoothly to the new data when it arrives.
NSURLSessionTask class provides a new “priority” property with three associated constants:
NSURLSessionTask priorities can be used to specify how multiple requests and responses to the same host should be prioritized. Note that the priority is a hint and not a strict guarantee of
For complete usage details of
NSURLSessionTask priorities, refer to the
NSURLSession.h header file, which is provided by the Foundation framework.
To activate Wi-Fi Calling functionality for T-Mobile (U.S. only), follow these steps:
Go to Settings > Phone > Wi-Fi Calling.
Toggle the Wi-Fi Calling switch to ON.
If the carrier does not have the user’s registered emergency address, you will be asked to add it before the feature is activated.
Maintain a backup of your photo library before enabling and while using iCloud Photo Library beta by:
Importing to your Mac using iPhoto
Importing to your Mac using Image Capture
iCloud Photo Library beta will not download photos and videos that were synced to your device from iTunes. Any photos and videos synced to your device from iTunes will be removed when you enable iCloud Photo Library beta.
iPhoto for iOS will not launch on iOS 8 Beta. Launching Photos.app will migrate your iPhoto edits to the iOS 8 Photo Library. Make sure your iPhoto for iOS data is included in your device backup.
The ability to automatically optimize device space is enabled for all accounts larger than 5GB.
When using iCloud Family Sharing, both iCloud Photo Sharing and My Photo Stream are enabled.
If you have upgraded to the 8.2 Beta from previous iOS 8 Betas you may see your apps crashing due to provisioning profile issues.
Connect the device via USB to your Mac.
Choose Window > Devices.
Right click on the device in left column, choose “Show Provisioning Profiles”.
Click on the provisioning profile in question.
Press the “-” button.
Continue to removing all affected profiles.
Re-install the app.
Siri support for Singapore English is disabled in this Beta, though it remains selectable in the Siri language selection window.
When viewing a notification in iOS simulator, clicking on the notification icon or body does not launch the corresponding Watch app.
When you choose Build and Run it doesn’t launch the Watch window.
Workaround: Open the Watch window under Hardware > External Displays and then choose Build and Run again.
The custom sash color for notification controllers does not currently appear in Interface Builder, but it does appear in iOS Simulator.
WKInterfaceControlleris not currently supported in iOS Simulator.
Installing Watch apps may stop working in iOS Simulator.
Workaround: Reset the simulator and try again.
WKInterfaceControllerdoes not work in iOS Simulator.
Wi-Fi Calling (T-Mobile US only)
The carrier name in the status bar will show “T-Mobile Wi-Fi” when the device is able to make and receive Wi-Fi calls.