iOS SDK Release Notes for iOS 9.1 Beta

Contents:

Introduction

iOS SDK 9.1 beta provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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 9. You can also test your apps using the included Simulator, which supports iOS 9. iOS SDK 9.1 requires a Mac computer running OS X v10.10.3 (Yosemite) 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/.

Bug Reporting

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 9.1 in the Apple Developer Forums: https://forums.developer.apple.com/community/pre-release/ios-9-beta. To get more information about iCloud for Developers, go to http://developer.apple.com/icloud.

Autosubmission of Diagnostic and Usage Data

By default, the iOS 9.1 beta automatically sends anonymous diagnostic and usage data back to Apple. This includes information about crashes, freezes, kernel panics, and information about how you use Apple and third-party software, hardware, and services. This information is used to help Apple improve the quality and performance of its products and services. You can stop autosubmission of diagnostics and usage data by going to Settings > Privacy > Diagnostics and Usage > Don’t Send.

Notes and Known Issues

AppleID

Known Issue

iForgot links may not work.

Workaround: Go to iforgot.apple.com in Safari.

iCloud Keychain

Note

During the iOS 9.1 Beta, iCloud Keychain for iCloud accounts with two-factor authentication enabled will use beta servers. If you do not want your iCloud Keychain data stored on beta servers, do not use the beta software.

Known Issues

  • Sometimes while setting up iCloud Keychain, you recieve a "Could Not Set Up iCloud Keychain" error.

    Workaround: Reboot the device.

  • If you disable Two-Factor Authentication on your iCloud account, your iCloud Keychain may also get turned off.

    Workaround: Confirm that your Keychain is still on in Settings after disabling Two-Factor Authentication.

  • When activating Keychain in Settings on iPad, you may be unable to complete the activation.

  • If you have an account with Two-Factor Authentication and set up iCloud Keychain, it may not succeed if you take a few minutes to get through Setup Assistant.

    Workaround: Go back to the beginning of Setup Assistant and sign into iCloud again.

  • If you had been using a Random Security Code for your Keychain before upgrading to iOS 9.1 Beta, tapping “Back” when prompted to enter your security code in Setup Assistant may result in a sign-in failure.

    Workaround: Go back to the beginning of Setup Assistant and sign into iCloud again.

  • If you change your device passcode while in Airplane Mode, you iCloud Keychain may cease to sync with other devices.

Keyboards

Known Issue

3rd party keyboards don’t appear in sharing sheets and action sheets.

Workaround: Use the Apple keyboard.

PhotoKit

Known Issue

If you add a PHLivePhotoView to an app UI in Interface Builder, it might end up as a regular UIView object at runtime.

Workaround: Declare a dummy PHLivePhotoView subclass in your code:

@interface DummyLivePhotoViewSubclass : PHLivePhotoView
@end
@implementation DummyLivePhotoViewSubclass
@end

Podcasts

Known Issue

If you try to play the last item in a list, Podcasts may crash.

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.

UIKit

Note

On 3D Touch capable devices, touch pressure changes cause touchesMoved: to be called. This is true for all apps running on iOS 9.0. When running iOS 9.1, it is true only for apps linked with the iOS 9.0 (or greater) SDK.

Apps should be prepared to receive touch move events with no change in the x/y coordinates.


'iOS' 카테고리의 다른 글

iOS 9.1 베타 2 릴리즈 노트  (0) 2015.09.24
[watchOS] 2GM seed 릴리즈 노트  (0) 2015.09.10
애플워치2 베타5 업데이트 방법  (0) 2015.08.12

 

watchOS SDK Release Notes for watchOS 2 Beta 4

Contents:

Introduction

watchOS SDK 2.0 beta provides support for developing watchOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for watchOS. These tools include the Xcode IDE and the Instruments analysis tool, among many others.

This version of watchOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of watchOS in an unauthorized manner could put your device in an unusable state.

Bug Reporting

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 watchOS SDK 2.0 in the Apple Developer Forums: https://forums.developer.apple.com/community/pre-release/watchos-2-beta.

Autosubmission of Diagnostic and Usage Data

Location Services, Diagnostics and Usage, and Contacts settings are shared between Apple Watch and iPhone. By default, the iOS 9 beta automatically sends anonymous diagnostic and usage data back to Apple. This includes information about crashes, freezes, kernel panics, and information about how you use Apple and third-party software, hardware, and services. This information is used to help Apple improve the quality and performance of its products and services. You can stop autosubmission of diagnostics and usage data by going to Settings > Privacy > Diagnostics and Usage > Don’t Send on your iOS 9 iPhone.

Notes and Known Issues

Activation Lock

Note

Activation Lock is enabled on your Apple Watch if you have Find My iPhone enabled on your iPhone.

Apple Pay

Fixed in Beta 4

Apple Pay is not functional.

Connectivity

Known Issue

Your app may crash when using NSNumber and NSDate objects with the WCSession API.

Workaround: Convert an NSNumber or NSDate object to a string before calling WCSession APIs. Do the opposite conversion on the receiving side.

Contacts

Known Issue

Contact syncing doesn’t work in Simulator.

Complications

Fixed in Beta 4

Known Issues

File Transfers

Fixed in Beta 4

File transfers fail from Watch to iPhone.

Glances

Fixed in Beta 4

You may not see your glance appear while debugging in Simulator or on a device.

Known Issues

Glances become unusable when you have attached with a debugger.

Haptics

Fixed in Beta 4

Haptic feedback does not work with this beta.

Keychain

Note

Keychain items created on an Apple Watch are not viewable on an iOS device.

Notifications

Fixed in Beta 4

The following callbacks in WKExtensionDelegate have not yet been implemented.

  • - (void)didReceiveRemoteNotification:(NSDictionary *)userInfo;

  • - (void)didReceiveLocalNotification:(UILocalNotification *)notification;

Privacy

Fixed in Beta 4

If you disable the "Fitness Tracking" privacy setting on the companion device for your app, the app on the Watch side will still receive motion updates.

Siri

Known Issue

When invoking Siri by pressing the Digital Crown from the watch face, Home screen, or over an app, you may see words that you did not speak added to the Siri request.

Workarounds:

  • Use Hey Siri instead of the Digital Crown to trigger Siri.

  • Trigger Siri using the Digital Crown with Siri already in the foreground.

Watch App

Known Issues

  • Pairing iOS 9 beta 3 with watchOS 2 beta 1 or 2 requires you to sign out of your AppleID in Messages prior to pairing and to skip iCloud sign-in during pairing. Pairing with watchOS 2 beta 3 and WatchOS 1 is not impacted.

  • Tapping Cancel does not work in the iForgot work flows in Watch Setup Assistant.

WatchKit

Known Issue

Some apps that run in Simulator may fail to launch on device.

Note: If you see this, please file a Radar so that we can follow up to obtain logs.


'iOS' 카테고리의 다른 글

iOS 9 Beta 5 Release Notes  (0) 2015.08.07
iOS 9 Beta 3 Release Notes  (0) 2015.07.10
iOS 8.4 업데이트  (0) 2015.07.01

 

iOS SDK Release Notes for iOS 9 Beta 3

Contents:

Introduction

iOS SDK 9.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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 9. You can also test your apps using the included Simulator, which supports iOS 9. iOS SDK 9.0 requires a Mac computer running OS X v10.10.3 (Yosemite) 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/.

Bug Reporting

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 9.0 in the Apple Developer Forums: https://forums.developer.apple.com/community/pre-release/ios-9-beta. To get more information about iCloud for Developers, go to http://developer.apple.com/icloud.

Autosubmission of Diagnostic and Usage Data

By default, the iOS 9 beta automatically sends anonymous diagnostic and usage data back to Apple. This includes information about crashes, freezes, kernel panics, and information about how you use Apple and third-party software, hardware, and services. This information is used to help Apple improve the quality and performance of its products and services. You can stop autosubmission of diagnostics and usage data by going to Settings > Privacy > Diagnostics and Usage > Don’t Send.

Notes and Known Issues

The following issues relate to using iOS SDK 9.0 to develop code.

Accessories

Known Issue

Lightning video dongles don’t work with this beta.

Activation Lock

Fixed in Beta 3

Your iPhone may indicate that Activation Lock is turned on for your Apple Watch when it is not.

App Extensions

Known Issue

Debugging an action or sharing extension can cause the extension to be missing in the UIActivityViewController object.

Workaround: Go to the More list and go back to show the extension again.

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

Note

Beginning with this beta, some users will be offered the option to upgrade their Apple ID to use two-factor authentication. For more information about two-factor authentication seedeveloper.apple.com/support/two-factor-authentication. Two-factor authentication is not supported on iOS 9 betas prior to beta 3.

Known Issues

  • Attempting to create a new Apple ID via Game Center may cause a crash.

  • iForgot links may work intermittently.

    Workaround: Please try again.

  • If you upgrade your Apple ID to use two-factor authentication, 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 on every purchase. 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.

  • If your Apple ID uses two-factor authentication, you may not be able to sign in to services that use Apple ID on iOS 9 and OS X El Capitan beta installations earlier than beta 3.

  • If you disable two-factor authentication and set a new password at iForgot.apple.com, the password requirements are not indicated so your password may not be accepted.

    Workaround: Make sure your password meets these requirements:

    • Have at least one lowercase letter

    • Have at least one uppercase letter

    • Have at least one number

    • Your password must not contain more than two consecutive identical characters

    • Not be the same as the account name

    • Be at least 8 characters

    • Not be a common password

  • You cannot manage your two-factor authentication trusted devices at appleid.apple.com.

    Workaround: You can find and manage trusted devices in Settings > iCloud > yourName > Devices.

  • Removing a device from your account removes it as a trusted device for two-factor authentication, but will not sign out of any services or permanently remove it from the device list.

    Workaround: To fully remove a device, click Remove From Account then sign out of iCloud in device Settings of the device you want to remove.

  • If you enter an incorrect verification code for a two-factor authentication account in Setup Assistant, it may hang.

    Workaround: Press the Home button and go back to start setup again.

  • During Setup Assistant, tapping Cancel on the prompt that prompts you to enter the code for two-factor authentication will result in getting stuck at the login screen.

    Workaround: Press the Home button and go back to start setup again.

  • Apps that use app-specific passwords cause multiple notifications if your account uses two-factor authentication.

    Workaround: Disable the app in this beta.

Audio

Known Issue

The OpenAL framework is not available in this beta.

AVFoundation

Notes

  • The canUseNetworkResourcesForLiveStreamingWhilePaused property has been added to AVPlayerItem. The default value is NOfalse for apps linked on or after iOS 9.0 or OS X 10.11, but YEStrue for apps that were linked earlier.

    To minimize power usage, set this property to NOfalse 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 currentAVPlayerItem (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 underlyingAVPlayer object’s current item using replaceCurrentItemWithPlayerItem:.

  • The AVPictureInPictureController interface and the cancelPictureInPicture method are deprecated.

Calendar

Fixed in Beta 3

Calendar Time to Leave alerts may not be sent.

Camera

Known Issue

You can’t take photos in the Camera app using the side volume buttons with this beta.

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.

FaceTime

Fixed in Beta 3

In this beta, FaceTime calls do not connect on iPhone 6, iPhone 6 Plus, or iPad Air 2.

Family Sharing

Known Issues

  • Adding a family member inline fails.

    Workaround: Use invite to add family members.

  • Ask To Buy notifications don’t respond when tapped.

File Providers

Known Issue

On certain devices, the Document Picker is not displayed. Instead, you just see a white screen.

Foundation

Note

  • 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.

GLKit

Known Issue

GLKMesh and GLKMeshBuffer objects initialize incorrectly in this beta, which limits the use of GLKit with Model I/O.

Handoff

Known Issue

Handoff does not work with an iOS 9 device that does not have a passcode set.

HealthKit

Known Issue

In rare circumstances, it is possible for the health database to be deleted during the upgrade to the beta.

Workaround: To make sure the health database is not lost, make an encrypted iTunes backup prior to installing this beta.

Although keeping the device unlocked for the duration of the upgrade process reduces the risk of the database being destroyed, it’s recommended that you create a backup so that you can recover the database if you encounter this issue.

HomeKit

Fixed in Beta 3

  • Accessories that support multiple communication paths to HomeKit may appear duplicated.

  • Location-based event triggers do not work in Simulator.

  • After using HomeKit accessories or developing with the HomeKit framework, backing up to iTunes will result in an unrestorable backup.

iCloud Backup

Fixed in Beta 3

If you have two-factor authentication enabled, signing into your iTunes account while restoring from an iCloud backup may get stuck sending your verification code.

Known Issue

In rare cases, restoring from an iCloud backup will not restore your applications.

Workaround: In Settings > General > Reset, choose Erase All Contents and Settings, and then re-attempt the restore.

iCloud Drive

Fixed in Beta 3

Tapping an iCloud Drive document in search results doesn't do anything.

Instant HotSpot

Fixed in Beta 3

Some devices crash on connection to Instant Hotspot.

Keyboards

Fixed in Beta 3

There are display issues with QuickType suggestions in share sheets.

Note

Russian, Turkish, and Korean QuickType keyboards require iOS 9 beta 2 or later.

Known Issue

If you use a complex passcode on an iPad, some panes in Settings will now show the keyboard.

Keychain

Fixed in Beta 3

Under certain circumstances, when enabling iCloud keychain on an OS X El Capitan or iOS 9 system using the iCloud Security Code, you may see “incorrect security code” or “could not set up iCloud keychain” even if you’ve entered the correct security code and SMS verification code.

Known Issues

  • You may be unable to join an existing iCloud Keychain circle using iCloud Security Code and SMS Verification Code.

    Workaround: Approve from another device.

  • After changing your iCloud password, you may see an “iCloud Keychain Reset” prompt.

    Workaround: Re-enable iCloud Keychain.

  • If you have two-step verification enabled on your AppleID and then change your iCloud Keychain or iCloud Security Code on a non-trusted device, you see a “Verification Failed” error.

    Workaround: Log out of iCloud, log back into the account, and enable iCloud Keychain.

  • If your iCloud account uses two-factor authentication, you will get a sign-in alert on all logged-in iOS 9 or OS X El Capitan devices whenever there is a change in the phone number in Settings > iCloud > Keychain > Advanced.

Localization

Fixed in Beta 3

For devices on which English is not the default language, some content may appear in English instead of the expected language.

Maps

Fixed in Beta 3

MapKit’s MKDirections do not get directions or ETA responses from MapKit in this beta.

Mail

Known Issue

A Yahoo mail account may periodically display “Cannot get mail.”

Messages

Known Issues

  • When recording audio messages, the audio glyphs are not shown. This occurs both in quick reply and in the Messages app.

  • When you send an audio message, it may be difficult to begin playback.

MetalKit

Known Issue

MTKMesh and MTKMeshBuffer objects initialize incorrectly in this beta, which limits the use of MetalKit with Model I/O.

Music

Fixed in Beta 3

The Radio tab is not available in the Music app.

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 Issues

  • The share sheet may not appear when sharing tracks from Apple Music.

  • It may not be possible to Love an album or playlist.

  • The New tab may not load if you are not signed into Apple Music.

  • The Apple Music signup screen may not display correctly.

Networking

Note

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)

Phone

Known Issues

  • Call history may be lost upon upgrade to this beta.

  • Voicemail may be unavailable after an erase install.

    Workaround: Reboot the device.

Photo Booth

Known Issue

Photos taken with Photo Booth are not saved.

Photos

Fixed in Beta 3

After restoring from iCloud backup, photos not stored in iCloud Photo Library fail to display thumbnails.

Podcasts

Fixed in Beta 3

If you change the media type of content in iTunes to "podcast episode," and then sync those podcasts, the Podcast app will crash on launch.

Safari

Notes

  • “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, seeHandoff Programming Guide and Shared Web Credentials Reference.

Known Issue

If you use Autofill on iPad, passwords may not be automatically entered into login fields.

Workaround: Manually input the text. Your passwords can be found in Settings > Safari > Passwords.

Search

Fixed in Beta 3

  • Tapping a Mail message, Maps favorites, Note, or Message in search results does not open the app on some devices.

  • When submitting an activity to be searchable with NSUserActivity, the metadata (attributeSet) does not get added to the index. The title and keywords property are the only activity metadata added to the index.

Settings

Fixed in Beta 3

  • You may see a black screen when trying to add Google or Yahoo accounts.

  • CoreSpotlight items indexed with description don't display the description in Search.

Known Issues

Third-party app settings sometimes do not appear in Simulator.

Setup Assistant

Fixed in Beta 3

iForgot links don’t work in Setup Assistant.

Siri

Known Issue

Siri Eyes Free may not work in this beta.

SpriteKit

Fixed in Beta 3

containsNode: and containedNodeSet do not work in this beta.

Spotlight

Known Issues

  • Tapping a Mail message, Maps favorites, Note, or Message in search results does not open the app on some devices.

  • After upgrading to this beta, some contacts are not searchable in Spotlight.

Telephony

Known Issue

After purchasing a cellular data plan on an iPad, it may display an alert that indicates the plan has expired.

Workaround: Wait a few minutes, then toggle airplane mode.

UIKit

Fixed in Beta 3

UIModalPresentationPopover style doesn't update its barButtonItem anchor position when the window is resized.

Notes

  • 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 atUILayoutPriorityFittingSizeLevel) instead of required size constraints (width/height required to match current size):

    1. 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 settranslatesAutoresizingMaskIntoConstraints to NOfalse 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.

    2. The final ancestor (that is, top-level view) of the receiver has translatesAutoresizingMaskIntoConstraints set to NOfalse.

    3. The top-level view has a subview that is not a UIViewController-owned layout guide that also has translatesAutoresizingMaskIntoConstraints set to NOfalse.

    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 & 3 and can result in unsatisfiable-constraints logging and broken layout.

    So on 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 on 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 sendinglayoutIfNeeded, 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 theUIViewPrintFormatter 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 ofUIPrintPageRenderer has been updated to call drawPageAtIndex:inRect: multiple times with potentially different page sizes and margins. Various methods onUIPrintPageRenderer 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.

Watch App

Known Issues

  • Pairing iOS 9 beta 3 with watchOS 2 beta 1 or 2 requires you to sign out of your AppleID in Messages prior to pairing and to skip iCloud sign-in during pairing. Pairing with watchOS 2 beta 3 and watchOS 1 is not impacted.

  • Tapping Cancel does not work in the iForgot work flows in Watch Setup Assistant.

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 (*).

'iOS' 카테고리의 다른 글

애플 watchOS 2 릴리즈 노트 베타4  (0) 2015.08.03
iOS 8.4 업데이트  (0) 2015.07.01
iOS 9 릴리즈 노트 구글 번역본  (0) 2015.06.09

 

iOS SDK Release Notes for iOS 8.3 Beta 2

Contents:

Introduction

iOS SDK 8.3 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.3 is included in Xcode 6.3, which requires a Mac computer running OS X v10.10 (Yosemite) 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/.

Bug Reporting

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.3 in the Apple Developer Forums: http://devforums.apple.com. To get more information about iCloud for Developers, go tohttp://developer.apple.com/icloud.

Notes and Known Issues

The following issues relate to using iOS SDK 8.3 to develop code.

App Extensions

Notes

  • 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.

CarPlay

Fixed in Beta 2

The dialog that appears when connecting an iPhone to a CarPlay-compatible car is not functional.

WatchKit

Known Issue

Creating an animated image using the UIImage method animatedImageWithImages:duration: and then playing the animation using startAnimating ignores the duration and plays back as fast as possible.

Workaround: Use startAnimatingWithImagesInRange:duration:repeatCount: instead.

LTE Voice

Known Issue

LTE Voice does not work properly with Verizon.

Workaround: If you are using Verizon, please set LTE to Data Only for this seed.


'iOS' 카테고리의 다른 글

아이폰 iOS 8.3 업데이트 내용 (한글)  (0) 2015.04.09
iOS 8.2 beta 5 release notes  (0) 2015.02.10
iOS SDK Release Notes for iOS 8.2 Beta 3  (0) 2014.12.19

 

What’s New in Xcode

Xcode is the complete developer toolset used to create apps for iPad, iPhone, and Mac. The Xcode development environment bundles the Instruments analysis tool, iOS Simulator, and the OS frameworks in the form of iOS SDKs and OS X SDKs.

Highlights for Xcode 6 Beta

Xcode 6 Beta is the latest release of Apple’s integrated development environment. Xcode 6 Beta introduces new ways to design and build software, focusing on features and enhancements to improve your ability to adopt and expand upon core platform features, to design new interfaces, and to deliver high-quality applications.

Xcode 6 Beta includes Swift, an innovative new programming language, with a new interactive work area—a playground in which to experiment. Xcode 6 Beta also expands upon and extends its basic features with new live visualization capabilities.

Xcode 6 Beta includes the following highlighted features:

Swift Language

  • Advanced, innovative new object-oriented programming language for iOS and OS X development

    ../art/xc-swift-frontispiece_2x.png

Xcode 6 Features for Swift

  • Full support with playgrounds, a rich documentation experience, read-eval-print loop, and other advanced features

    See more details in Swift Language.

Additional Feature Enhancements for Xcode 6 IDE

Testing

  • Testing capabilities for performance measurement

  • Ability to test asynchronous code with enhanced XCTest

    See more details in Testing.

Interface Builder

  • Extensive new features that support live rendering, storyboards for OS X, versatile size classes, and custom iOS fonts

    See more details in Interface Builder.

Debugger

  • New view debugger, enhanced queue debugging, and new debug gauges

    See more details in Debugging.

Sprite Kit

  • Enhanced game development with new level designer and improved debugging

  • Support for Sprite Kit and Scene Kit to work together on iOS

    See more details in Sprite Kit.

Extensions and Frameworks

  • Ability to add extensions to any app increasing functionality

  • Ability to create dynamic frameworks for iOS

    See more details in Extensions and Frameworks.

iOS Simulator

  • New iOS Simulator configurations that allow saving data and settings for reuse

    See more details in iOS Simulator.

Localization

  • XLIFF format support for strings localization

  • Automatic base language .strings generation

  • New Interface Builder assistant preview of alternative language UI

  • Ability to run apps as they appear in other locales

    See more details in Localization.

Compiler

  • Profile Guided Optimization (PGO)

  • User-defined modules

    See more details in Compiler.

Instruments

  • Updated user interface with new template chooser and track view

  • App extension profiling support

  • Profile tests to discover regression causes

    See more details in Instruments.

Xcode Server

  • More complex integration scenarios with triggers

  • Support for performance testing integrations

  • Greater control over bot configuration and execution; bot-level statistics

    See more details in Xcode Server.

Home Kit Accessory Simulator

For additional details on the Xcode 6 Beta release, see the seed release notes:http://developer.apple.com/xcode/releasenotes/prerelease/ios/index.html

Compatibility

Xcode 6 Beta requires a Mac running OS X v10.9.3 (or later) or OS X v10.10. It includes SDKs for OS X v10.9, OS X v10.10, and iOS v8.0. To develop apps targeting prior versions of OS X or iOS, see About SDKs and the iOS Simulator.

Installation

Xcode 6 Beta can coexist on a Mac computer with previous versions of Xcode.

This prerelease version of Xcode is distributed as a single application bundle available from developer.apple.com to authorized seed developers in a disk image file (DMG). To install during the beta period, open the downloaded DMG file and drag the Xcode icon to your Applications folder. Upon final release, Xcode is installed through the Mac App Store.

Developer Resources

The iOS and Mac developer programs provide access to the App Store, additional support and documentation, and provisioning resources to enable testing and deployment on an iPad, iPhone, or iPod touch device. For more information visit:

For discussions about any Apple developer software, including prerelease products, visit the Apple Developer Forums at http://devforums.apple.com/.

For the latest security information, visit http://support.apple.com/kb/HT1222.

For more detailed information on a release, see the complete Xcode release notes available from the Xcode Help menu.

About SDKs and iOS Simulator

A software development kit (SDK) is a collection of frameworks (libraries, headers, and resources) that represent the API for a specific iOS or OS X version. Most of the functionality your app gets from an SDK is actually provided by the host operating system, which makes the right Base SDK and OS Deployment Target settings critical for app compatibility. Xcode automatically builds with the latest SDK and targets the latest OS.

If your app doesn’t require the latest OS features, you can configure it to run on a previous version of iOS or OS X using the OS Deployment Target option in the Xcode Project settings. If your project was created in an older version of Xcode, you can let Xcode update your project. For details on this features, see Project Modernization.

For iOS, Xcode automatically switches between the iOS Simulator SDK and the device SDK, depending on where you intend to run your app. You don’t need to select these settings manually.

Project Modernization

When you open a project, Xcode evaluates it to see whether any settings should be updated. This feature provides an easy way to make sure your projects conform to the latest SDKs and best practices.

Open the issue navigator to see whether anything in your project needs to be updated. You can also select the project in the project navigator and choose Editor > Validate Settings.

If the issue navigator lists modernization issues, click the issue to see a dialog, which explains the updates that should be made and lets you perform any or all of them.

After you have clicked Perform Changes, regardless of whether you choose to make all the changes, Xcode does not show the warning again. To rerun the check, select your project in the project navigator and choose Editor > Validate Settings.

New Features in Xcode by Release

Chapter articles are listed by major revision. Minor update release information is appended in the chapter for the major revision.

Xcode 6 Beta adds support for development on OS X v10.10 and iOS 8.0.

Relevant Chapter: New Features in Xcode 6 Beta

Xcode 5.1 adds support for development on iOS 7.1.

Relevant Chapter: New Features in Xcode 5.1

Xcode 5 adds support for development on iOS 7.0 and OS X v10.9.

Relevant Chapter: New Features in Xcode 5

Xcode 4.6 adds support for development on iOS 6.1.

Relevant Chapter: New Features in Xcode 4.6

Xcode 4.5 adds support for development on iOS 6.0.

Relevant Chapter: New Features in Xcode 4.5

Xcode 4.4 adds support for new Objective-C language features and supports development on OS X v10.8.

Relevant Chapter: New Features in Xcode 4.4

Xcode 4.3 adds enhancements to Xcode installation, improves operations and workflow, and support development for iOS 5.0.

Relevant Chapter: New Features in Xcode 4.3

Xcode 4.2 adds enhancements to the features and workflow of Xcode 4.1 to support development for iOS 5.0.

Relevant Chapter: New Features in Xcode 4.2

Xcode 4.1 adds enhancements to the features and workflow of Xcode 4.0 and, when running on OS X v10.7, implements user interface features standard in OS X v10.7 such as full-screen windows.

Relevant Chapter: New Features in Xcode 4.1

See Also

To learn more about Xcode, see Xcode Overview.

To learn more about the tasks and workflow required to develop and distribute OS X and iOS apps, see App Distribution Guide.



-------------------------------------------------------------------------------------

Xcode 6 베타 릴리즈 노트


xcode_6_beta_5_release_notes.pdf


'iOS' 카테고리의 다른 글

iOS SDK Release Notes for iOS 8.2 Beta 3  (0) 2014.12.19
iOS8 베타5 SDK 릴리즈 노트  (0) 2014.08.05
iOS SDK Release Notes for iOS 8.0 Beta  (0) 2014.06.03

 

iOS SDK Release Notes for iOS 8.0 Beta 5

Contents:

Introduction

iOS SDK 8.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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. You can also test your apps using the included iOS Simulator, which supports iOS 8. iOS SDK 8.0 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/.

Bug Reporting

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.0 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.0 to develop code.

AVCapture

Fixed in beta 5

Known Issue

Use of the new constant, AVCaptureISOCurrent, will result in inconsistent ISO values (as observed on the ISO property) if setExposureModeCustomWithDuration:ISO:completionHandler: is called repeatedly.

    Backup and Restore

    Fixed in beta 5

    A restoration of an iCloud backup onto the same device the backup was taken from may not work properly. As a result, some apps may crash.

    Known Issues

    • Encrypted backups to iTunes fail.

    • iOS 7 iCloud backups restored to an iOS 8 beta device may not properly restore photos.

    CarPlay

    Fixed in beta 5

    The Now Playing screen is missing the Back button in the top-left corner.

    CloudKit

    Fixed in beta 5

    Clients sending multiple simultaneous record update requests to the same zone in the private database may encounter CKErrorZoneBusy errors.

    Workaround: Clients should send update requests for a given zone one at a time. In addition, they should handle CKErrorZoneBusy errors by retrying with an exponential backoff.

    Contacts

    Note

    The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. See ABPeoplePickerNavigationController.h for more details.

    As of iOS 8 beta 2, you must use the new mode. The old mode has been deprecated.

    See the new PeoplePicker: Picking a Person or Property sample project demonstrating usage of the new mode.

    Document Providers

    Notes

    • Your app needs the iCloud entitlement to be able to be used as a document provider.

    • The com.apple.developer.icloud-container-identifiers entitlement will be required when iOS 8 is released.

    Fixed in beta 5

    • App icons in the document picker do not show up on iPhone and iPad.

    • Document providers may hang when importing files.

    Known Issues

    • 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.

    • On iPhone, bringing up DocMenu from Locations in DocPicker, overlaps with status bar.

    Extensions

    Known Issues

    • 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.

    Fixed in beta 5

    • Keyboard extensions can now be profiled with Instruments.

    • Extensions now more reliably support control of location access.

    • After redeploying an app, the Today view extension may not be launched, and sometimes its bundle display name becomes the name of the app.

    FaceTime

    Fixed in beta 5

    FaceTime does not work properly in landscape orientation.

    Family Sharing

    Known Issues

    • Shared purchase history pages on Mac App Store and iOS App Store are disabled.

    • Items already owned by family members must be re-downloaded from the Purchased page (not Store pages) to get them free of additional charge.

    File System

    Note

    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.

    Find My Friends

    Note

    Now that the Share My Location feature is integrated into Messages, Find My Friends only supports the Apple ID configured in Settings > iCloud.

    Fonts

    Note

    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:

    1. Use UILabel as 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.

    2. 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:

    • CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);

    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.

    Handoff

    Note

    Handoff is incompatible between devices using this beta and the prior beta. You should test Handoff with the most recent beta software because it is not backward-compatible with previous betas.

    HealthKit

    Notes

    • Spirometry data types are now available in HealthKit.

    • Any blood type that was set in Medical ID prior to beta 3 will be cleared.

    • The pairing UI for BTLE health devices has been removed from HealthKit and is now available in Settings > Bluetooth.

    • The HKWorkout API is now available to store workouts.

    • HKQuantityTypeIdentifierGalvanicSkinResponse has been renamed HKQuantityTypeIdentifierElectrodermalActivity.

    • The following HKObjectType identifiers have been removed:

      • HKQuantityTypeIdentifierRRInterval

      • HKQuantityTypeIdentifierHeatFlux

      • HKCorrelationTypeIdentifierHeartRateReading

    HomeKit

    Note

    • After upgrading to beta 5, you need to reset your home configuration in Settings > Privacy > HomeKit > Reset Home Configuration.

    • You must sign into iCloud and enable Keychain sync to use HomeKit with this seed.

    Known Issue

    Siri may not immediately recognize HomeKit data changes.

    Workaround: To trigger an update to Siri, edit other data used by Siri such as a contact or the name of a Reminders list.

    iAd

    Fixed in beta 5

    iAd videos may not play in NPR HLS station.

    iCloud Drive

    Notes

    • iCloud Documents & Data created with iOS 8 Beta will be deleted from the servers at some point during this beta period. Information downloaded and not evicted from the device will remain on device and will re-sync after the data wipe occurs.

    • Document storage containers created using the UIDocument class in iOS 7 are not yet available for use with iCloud Documents through Xcode 6 beta or in the Certificates, Identifiers & Profiles section of Member Center. These containers will be migrated later and associated with your existing App IDs.

    • URLForUbiquityContainerIdentifier: might return nil when running your application in Xcode. If so, open System Preferences, navigate to iCloud > iCloud Drive, and enable Xcode.

    • Migrating to iCloud Drive will disable Documents & Data syncing for your iCloud account on iOS 7 and earlier devices, as well as OS X Mavericks and earlier Macs.

    iCloud Keychain

    Fixed in beta 5

    • Initial sync does not work if the approving device is locked when the approval occurs.

    • Using the recovery option can leave you in a state where new items added to the keychain do not sync.

    Known Issue

    Upon logging into a device with the iCloud 8 beta, other devices in your keychain circle may have their access to the circle revoked.

    Workaround: Enable iCloud Keychain Sync on your other devices again.

    iTunes Sync

    Known Issue

    Apps do not sync from a device to iTunes.

    Keyboards

    Fixed in beta 5

    • If you turn off predictive text in one app and then turn it back on in another, it may not actually be reactivated.

    • Caps Lock may be unexpectedly enabled in text input fields.

    Localization

    Fixed in beta 5

    The following have English strings that are now properly localized in other languages:

    • VoiceOverTouch

    • Sharing

    • ManagedConfiguration

    • AirPortAssistant

    • MapKit

    • SpringboardUIServices

    • AccessibilityBundles

    • Music

    Maps

    Known Issue

    When viewed in the Simulator, the "Hybrid" view in Maps and MapKit apps does not show all of the tiles.

    Metal and OpenGL

    Fixed in beta 5

    Shadow samplers are broken when using linear filtering.

    Workaround: For OpenGL, set GL_TEXTURE_MIN_FILTER and GL_TEXTURE_MAG_FILTER to GL_NEAREST. For Metal, set the mag_filter and min_filter sampler properties to nearest in the shader source.

    Music

    Fixed in beta 5

    The Music app may stop responding when downloading an album.

    Notification Center

    Note

    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.

    NSURLSession

    Note

    Beginning in iOS 8 beta 2, the NSURLSessionTask class provides a new “priority” property with three associated constants: NSURLSessionTaskPriorityDefaultNSURLSessionTaskPriorityLow, and NSURLSessionTaskPriorityHighNSURLSessionTask 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 NSURLSessionTask performance.

    For complete usage details of NSURLSessionTask priorities, refer to the NSURLSession.h header file, which is provided by the Foundation framework.

    Phone

    Note

    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.

    Photos

    Notes

    • iCloud Photo Library requires beta 3 or later.

    • Back up your photo libraries before enabling iCloud Photo Library by:

      • Importing to your Mac using iPhoto

      • Importing to your Mac using Image Capture

    • Enabling iCloud Photo Library will not add photos/videos that have been synced with iTunes to the cloud.

    • 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.

    Known Issues

    • The ability to automatically optimize device space is not enabled in this beta.

    • When using iCloud Family, both iCloud Photos and My Photostream are enabled.

    • After restore from iCloud backup, modified photos may show unmodified thumbnails.

    • If you reach your iCloud quota, there is no way to add or delete data within the Photos app.

    Quicklook

    Known Issue

    PDF files may not display in some applications.

    Safari

    Notes

    • Safari now blocks ads from automatically redirecting to the App Store without user interaction. If you still see the previous behavior, or find legitimate redirection to the App Store to be broken in some way, please file a bug.

    • You can now quickly add a site to Shared Links or save a bookmark by tapping and holding on the bookmarks button.

    Settings

    Known Issue

    Some icons are missing in Settings and only appear after the row is tapped.

    Setup

    Known Issue

    Updating the iCloud settings screen may appear to hang during setup.

    Workaround: Some accounts may have an extra long lag. Wait a couple of minutes and they should complete.

    Siri

    Known Issue

    Calling contacts with Siri is supported only on devices with the latest developer seed build. Prior developer seed builds no longer support this feature.

    Springboard

    Fixed in beta 5

    Some projects may launch in portrait when the destination device is in landscape.

    Workaround: Rotate the device to portrait and back to landscape to continue in landscape.

    Stores

    Known Issue

    Sometimes, loading certain pages or performing a search on the App Store or iTunes Store can be slow.

    UIKit

    Notes

    • UILabel has a default value of YES for clipsToBounds. This differs from the normal UIView default of NO.

    • leftLayoutGuide and rightLayoutGuide API have been removed. Please use the layoutMargins property instead.

    Fixed in beta 5

    When the width of a multiline label changes due to changes in the layoutMargins of some view, the intrinsic content size of the label is not invalidated when it should be. As a result the layout can unexpectedly truncate the label (or text view).

    Workaround: The view whose layoutMargins are changing should override layoutMarginsDidChange and send invalidateIntrinsicContentSize to the label.

    Known Issue

    To use an action sheet-style UIAlertController on iPad, the sourceView of the alert controller's popoverPresentationController must be set.

    Wi-Fi Calling (T-Mobile US only)

    Note

    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.

    WebKit

    Notes

    • Subpixel rendering is now on by default for all web content. Websites or in-app web views with extremely tight design constraints may render differently. Solutions for each issue will vary, but use Web Inspector to adjust position, border thickness, and width or height of elements.

    • In iOS 8.0 beta 2 and later, CSS object model getters (offset{Left|Top|Width|Height} and client{Left|Top|Width|Height}) return fractional double values based on subpixel metrics instead of rounded integral values.

    • The minimal-ui viewport property is no longer supported in iOS 8.

    Known Issue

    The window.outerWidth and window.outerHeight DOM properties always return 0. Other DOM properties will need to be used instead. This may affect websites that use leaf.js.


    'iOS' 카테고리의 다른 글

    Xcode6 및 베타5 릴리즈노트 다운로드  (0) 2014.08.05
    iOS SDK Release Notes for iOS 8.0 Beta  (0) 2014.06.03
    iOS8 달라진 점 - What's New in iOS8  (0) 2014.06.03

     

    iOS SDK Release Notes for iOS 8.0 Beta

    Contents:

    Introduction

    iOS SDK 8.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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. You can also test your apps using the included iOS Simulator, which supports iOS 8. iOS SDK 8.0 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/.

    Bug Reporting

    To report any bugs not mentioned in the Notes and Known Issues section, use the Bug Reporter app or Bug Reporter on the Apple Developer website (http://developer.apple.com/bugreporter/). You can quickly get to the Bug Reporter app from the Notifications Panel. Additionally, you may discuss these issues and iOS SDK 8.0 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.0 to develop code.

    App Store

    Known Issue

    Links to Developer websites from an apps developer page are broken.

    AVCapture

    Known Issues

    Backup

    Known Issue

    Certain apps may crash on launch consistently if they came over from a Restore from Backup.

    Workaround: Delete and re-download the app.

    Bug Reporter

    Known Issues

    • The switch in Developer Settings to hide Bug Reporter is not working.

      Workaround: Remove it from the Notification tab in Notification Center settings.

    • The Bug Reporter icon does not appear on the Home Screen on iPad.

      Workaround: Open the app from the Notification tab in Notification Center settings.

    Camera connector

    Known Issue

    When attached, the camera connector is not offered as an import option.

    CarPlay

    Known Issues

    • After using Siri, audio quality goes to 24KHz regardless of where it was originally set.

    • CarPlay may crash when pressing the Back button when in Now Playing.

    • When using the knob only, the highlight can move off screen but the scroll position of view doesn't follow.

    • The Now Playing screen is missing the Back button in the top-left corner.

    CloudKit

    Known Issue

    Clients sending multiple simultaneous record update requests to the same zone in the private database may encounter CKErrorZoneBusy errors.

    Workaround: Clients should send update requests for a given zone one at a time. In addition, they should handle CKErrorZoneBusy errors by retrying with an exponential back off.

    Contacts

    Note

    The Address Book UI people picker has been changed for iOS 8. A new mode with new API has been added where the app does not need access to the user’s contacts and the user will not be prompted for access. A temporary copy of the selected person is returned to the app. See ABPeoplePickerNavigationController.h for more details.

    In this beta, you have the choice of using either the new mode or the old mode. The old mode will be deprecated in a future iOS 8 Beta, so you should migrate to the new mode as soon as possible.

    See the new PeoplePicker: Picking a Person or Property sample project demonstrating usage of the new mode.

    Extensions

    Known Issues

    • openURL does not work from an extension.

    • When Extension with UI is killed, it relaunches and is not dismissed.

    • Certain types of media, such as those synced from iTunes, are not editable in the Photos app.

    • Sharing extensions are enabled by default.

    • Sharing extensions display the name of the project instead of the name of the target.

    • If a Sharing extension or an Action extension hangs, it may be necessary to kill the hosting application.

    • Using xpc_service_set_attach_handler to profile app extensions for keyboard does not work.

      Workaround: Run your app extension in Simulator, then trigger the Keyboard extension to load and attach to the running instance (for example, com.thirdparty.foo.keyboard (123)) from Instruments’ target chooser.

    • Sometimes Sharing or Action extensions are not updated properly after enabling or disabling.

      Workaround: Dismiss the Share sheet and relaunch it.

    • During a debug session, extensions may time out before loading.

    • Action extension view controllers do not support full-screen presentation.

    • Passing NSExtensionItem or NSItemProvider instances to UIActivityViewController does not work.

    • Action extensions do not animate smoothly when dismissed.

    FaceTime

    Known Issue

    FaceTime does not work properly in landscape orientation.

    Family Sharing

    Known Issues

    • Shared purchase history page on Mac App Store and iOS App Store are disabled.

    • Items already owned by family members must be re-downloaded from the Purchased page (not Store pages) to get them free of additional charge.

    • Under 13 account creation is disabled in this beta.

    • While using the iTunes Store you may experience a spinner that never completes.

      Workaround: Log out and back in to iTunes to correct the issue.

    • Email invitations are not enabled; members can join using push notifications or via inline password entry flow.

    • Notifications for “Ask to Buy” are not available on older clients. After parental approval, kids will have to reinitiate the purchase.

    • You can't approve an “Ask to Buy” request from the requestor's iOS device.

    • Login to iCloud may be slow on iOS.

    • A blank screen may be seen after creating a family on iPad.

      Workaround: Tap on other settings and then back to iCloud settings.

    • “Ask to Buy” and Family Notifications may not appear due to SpringBoard crashing.

      Workaround: Reboot.

    File Providers

    Note

    Your app needs the iCloud documents entitlement to be able to use the document picker.

    Known Issues

    • After installing or modifying an existing File Provider, you may need to restart the device for it to show up in the Document Picker.

    • File Provider extension sometimes crashes when trying to import a document from a document picker view controller.

    • Import/open causes sandbox denial on first try.

      Workaround: Please try again.

    • When using the document menu, make sure to log into iCloud to properly enable selecting iCloud Documents to return a UIDocumentViewController; from there, you may enable your File Provider extension.

    • File providers may hang when importing files.

    • File Provider extension will not load if changes are made to an existing file provider on device.

      Workaround: You need to either reboot the device or delete the app and reinstall it.

    File System

    Note

    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.

    Find My Friends

    Note

    Now that the Share My Location feature is integrated into Messages, Find My Friends only supports the Apple ID configured in Settings > iCloud.

    Find My iPhone

    Known Issue

    If you disable Location Services and choose Don’t Enable when prompted on the Find My iPhone page in Setup Assistant, Find My iPhone will not be enabled.

    Fonts

    Known Issue

    Some Hindi strings are incorrectly displayed and cause search and rendering issues.

    Game Center

    Known Issues

    • Interacting with some menus in Game Center may cause a crash.

    • Clicking Achievements and Challenges always opens Leaderboards.

    • Notifications may not go through to a second device.

      Workaround: For matchmaking, use automatch.

    • Invites to matchmaking may get stuck on Waiting.

      Workaround: Use automatch.

    • Swiping or tapping a Game Center friend request notification anywhere automatically accepts the friend request.

    • GameCenterUIService will crash if you try to send matchmaking invites multiple times.

      Workaround: Use automatch.

    Handoff

    Known Issues

    • Handoff does not work properly for document-based apps.

    • Some apps that use Handoff will mistakenly show as Safari in the iOS lock screen and OS X Dock.

    • In some cases, not all devices associated with an Apple ID will pair successfully. These devices will be unable to use Handoff, Phone relay, or Tethering.

    • When using a Mac, Handoff may sometimes stop showing icons on other iOS and OS X devices. Powering the Mac off and then back on can sometimes work around this issue.

    • Handoff-based Bluetooth connections between devices may stop working after trying to use Handoff.

    • In some cases, using Handoff with Safari will result in an old URL being resumed instead of the current URL.

    • Directions and Navigation in Maps do not work with Handoff in this beta.

    • Phone calls to and from the Mac may sometimes not complete or send and receive audio.

    HealthKit

    Known Issues

    • HKCorrelationQuery only returns objects that were saved with correlations. It should return all data entries matching the predicate.

    • Blood pressure readings saved from Health will not have a correlation stored between the systolic and diastolic readings.

    HomeKit

    Known Issues

    • The “primary” property will not be available in HMService in the future.

    • HomeKit Bluetooth LE support is not enabled.

    • Siri may not immediately recognize HomeKit data changes.

      Workaround: To trigger an update to Siri, edit other data used by Siri, such as a contact or the name of a Reminders list.

    • Pairing with the Home Kit Accessory Simulator may fail the first time you try. A second pairing attempt should resolve the issue.

    • A bridge accessory only supports a total of 5 services for all bridged accessories.

    iCloud

    Notes

    • Upon upgrading to iOS 8 Beta, existing iCloud Documents & Data present (not evicted) on your device are copied into special server-side containers for use during the beta period.

    • iCloud Documents & Data created with iOS 8 Beta will not sync with with Documents and Data managed with iOS 7, OS X Mavericks, or earlier operating systems.

    • iCloud Documents & Data in iOS 8 Beta will only sync with devices running iOS 8 and OS X v10.10 Developer Preview.

    • iCloud Documents & Data managed with iOS 7 or OS X Mavericks will remain unaffected.

    • iCloud Documents & Data created with iOS 8 Beta will be deleted from the servers at some point during the beta period. Information downloaded and not evicted from the device will remain on device and will re-sync after the data wipe occurs.

    • The UI for managing iCloud Documents & Data does not show the documents and data for iOS 8 Beta and OS X v10.10 Developer Preview. It only shows the documents and data synced with previous operating systems.

    Known Issue

    • In some cases, signing into iCloud can take up to two minutes.

    iTunes Store

    Known Issues

    • Opening iTunes Radio URLs from the iTunes Store music grouping page display a page that asks you to upgrade to iOS 7.

    • The shelf is not displayed on first sign-in or first launch.

      Workaround: Relaunch the store from the App Switcher.

    Keyboards

    Known Issues

    • In some cases, you may need to restart an app to get third-party keyboard input to register.

    • If an iPad is restored while in landscape, it may end up with an offscreen keyboard in certain views.

      Workaround: Reboot the device.

    • Custom Keyboards do not have Network Access even after setting the RequestsOpenAccess key to YES in the plist.

    • Deploying a third-party keyboard multiple times may cause the system keyboard to render incorrectly or go blank.

      Workaround: Kill the hosting app or reboot the device.

    • The requestSupplementaryLexiconWithCompletion: method does not return any lexicon entries.

    Keychain

    Known Issue

    Keychain Access developer APIs may not work in Simulator.

    Localization

    Known Issue

    There are a number of strings that will display in English for people running the iOS in other languages. Known areas of concern include, but are not limited to:

    • Find My iPhone/iPad/iPod

    • iBooks in Hindi is in English

    • Many strings in the Camera app

    • Locations in Messages

    • Apple Dictionary untranslated for French (Canada) and Traditional Chinese (Honk Kong)

    • Family Sharing Request Dialogs

    • Calendar notifications

    • Error dialogs

    • Time units in Videos and Music

    • Adding events in Mail

    • Safari search and privacy strings

    • Photos

    • Setup assistant

    • Predictive typing

    • Voice Memos

    • Units in Health

    Location Services

    Known Issues

    • When Location Services is turned on, the device’s current location is used to recommend relevant apps on the lock screen. In this beta, this happens whether or not the App Store is enabled for Location Services.

      Workaround: To disable app recommendation on the lock screen, turn off Location Services.

    • The CLVisit class incorrectly declares the coordinate and horizontalAccuracy properties as read/write.

    • Apps using visit monitoring that are denied location authorization via Settings may appear to continue using location when they are not.

    • Visit monitoring may continue if an app is uninstalled while it is monitoring for visits.

    Lost Mode

    Known Issues

    • A device doesn’t display the Lost Mode message in the lock screen if the device was locked at the time it was put into Lost Mode.

      Workaround: Reboot the device.

    • After remote wiping a device and logging into the same (@icloud.com) iCloud account, the Lost Mode lock screen is displayed and the device cannot be unlocked.

    Mail

    Known Issues

    • Sometimes Mail crashes when replying to an email with an attachment.

    • On iPad, trying to add a contact via a Suggestion Banner causes Mail to hang.

      Workaround: Quit and relaunch Mail.

    MapKit

    Known Issues

    • MKMapItem called with -[MKMapItem url] that have no URL return “http://(null)” when the should return nil.

    • On iPad, tapping on “Points of Interest” can cause Maps to hang.

      Workaround: Kill Maps from the App Switcher and relaunch it.

    • Taking multiple snapshots using MKMapSnapshotter can sometimes produce a distorted map snapshot.

      Workaround: Reinitialize a new class between subsequent snapshots.

    Media Player

    Known Issue

    MediaPlayer.framework - MPVolumeSettingsAlertShow() does not display a volume slider or the AirPlay controller.

    Messages

    Known Issue

    The string “Location” appears in non-English languages.

    Music

    Known Issue

    Radio Redirect links from product pages do not work.

    Newsstand

    Known Issue

    Content downloaded via NKAssetDownload doesn’t get returned to the app.

    Notifications

    Known Issue

    Some app crashes cause Family notifications to stop appearing.

    Workaround: Family notifications will come back after a reboot.

    Passbook

    Known Issues

    • Passes added on iOS 7 devices won’t appear in iOS 8 devices, and vice versa.

    • Pulling down to refresh passes does not work.

    Phone

    Known Issues

    • Missed calls and recent call info doesn’t always update properly.

    • Double height status bar does not always dismiss for phone and FaceTime calls.

    • Tapping a Maps pin during a call causes a hang.

    • Bringing up a contact card in Mail during a call causes a hang.

    • Phone call relay uses Bluetooth, when it should be using Wi-Fi. Since not all devices have the necessary BT support, this may fail on some hardware.

    • Phone call relay sometimes results in poor audio quality.

    • Sometimes the FaceTime Audio icon appears when FaceTime Audio is not available.

    Photos

    Notes

    • Back up your photo libraries before enabling iCloud Photo Library by:

      • Importing to your Mac using iPhoto

      • Importing to your Mac using Image Capture

    • Enabling iCloud Photo Library will not add photos/videos that have been synced with iTunes to the cloud.

    Known Issues

    • The ability to automatically optimize device space is not enabled in this beta.

    • “Save to Camera Roll” button in a Shared stream doesn’t work.

    • If you turn off iCloud before disabling iCloud Photo Library, synced photos are still present on your device.

      Workaround: After signing back in to your iCloud account, turn iCloud Photo Library off and then back on.

    • If you turn on iCloud Photo Library while an iCloud restore is in progress, your initial upload will not happen until the restore completes.

    • When using iCloud Family, both iCloud Photos and My Photostream are enabled.

    • After restore from iCloud backup, modified photos may show unmodified thumbnails.

    • If you reach your iCloud quota, there is no way to add or delete data within the Photos app.

    • Items deleted from the Recently Deleted album don’t sync to other devices.

    • Slow motion clips that have been trimmed sync to other devices as a gray thumbnail.

    • iCloud Photo downloads stall when a device is idle for a long period of time.

      Workaround: Sync resumes when the device wakes up.

    • If both iCloud Photos and Photostream are enabled, duplicate photos are displayed.

    • iCloud Photo Library does not upload Photos synced from iTunes.

    • When uploading large libraries, users may encounter a stall when syncing.

      Workaround: Reboot the device.

    • 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.

    PhotosUI

    Note

    PHContentEditingController protocol methods may be called on background threads.

    Reminders

    Known Issue

    When you select Edit in a list of reminders and then scroll, reminders in the list are no longer editable.

    Screen Capture

    Known Issue

    QuickTime Player X is unable to connect to iPad Air devices for screen capture.

    Settings

    Known Issues

    • Settings sometimes crashes upon addition of a third-party keyboard.

    • The screen brightness slider in Settings does not work.

      Workaround: Use Control Center to adjust the screen brightness.

    • When signing out of iCloud, the account will actually be signed out, but the UI will not correctly reflect this until the user goes out of iCloud settings and back into it.

    • iTunes Wi-Fi Sync does not work.

    • Sometimes Settings shows an iCloud Drive/iCloud Documents incompatibility dialog and will not let you press OK.

      Workaround: Wait a couple of minutes and then press OK again.

    • You are unable to use the “Forgot Apple ID or Password” dialog on your device.

      Workaround: Reset passwords from appleid.apple.com.

    Setup

    Known Issue

    Updating iCloud settings screen may appear to hang during setup.

    Workaround: Some accounts may have an extra long lag. Wait a couple of minutes and they should complete.

    Simulator

    Known Issues

    • Logging into Game Center from the Settings app will result in an error:

      • Unable to connect to server. The operations couldn't be completed. (Cocoa error 4097.)

      Workaround: Dismiss the alert and continue to log in or sign in through the Game Center app.

    • Apps deployed to CarPlay do not launch or display controls.

    • Changing keyboards in Settings > General > Keyboard requires you to relaunch your app before the new settings are observed.

    • The resizable iPhone does not work.

    • If a resizable device is being used in iOS Simulator, keyboard input will go to the width and height text fields if they have focus. If you want input to go to the hosted iOS app, you will need to use the Tab key to change focus away from the text field.

    • If you rename Xcode.app after having previously run it, Simulator stops working.

      Workaround: Reboot or revert the name change.

    Siri

    Known Issues

    • Localized strings for Voice Activation phrases don’t appear in Settings > General > Siri.

      Voice Activation phrase for each Siri Language:

      • English (US, UK, AU, CA): Hey Siri

      • French (FR, CA, CH): Dis Siri

      • German (DE, CH): Hey Siri

      • German (DE, CH): Hey Siri

      • Italian (IT, CH): Ehi Siri

      • Japanese (JP): Hey Siri

      • Chinese - Cantonese (HK): 喂Siri

      • Chinese - Mandarin (CN, TW): 嘿Siri

      • Spanish (MX, SP, US): Oye Siri

      • Korean (KR): Siri야

    • If you use Bluetooth to activate Siri and ask what song is playing, Siri fails to identify the song.

    UIKit

    Note

    UILabel has a default value of YES for clipsToBounds. This differs from the normal UIView default of NO.

    Known Issues

    • There is no publicly available way to customize the search key for a UISearchBar.

    • UIScrollViewcontentInset is not set correctly when pushing a navigation controller on a navigation controller in a UISVC.

    • Share sheets sometimes include the “Send to Shared Photostream” item when they should not.

    • If an app is using a xib as its main window and is launched in landscape iPad, the main window will have the incorrect dimensions, causing significant distortion and difficulty using presented view controllers. An app may have to be force-quit after presenting a system view controller to function again.

      Workaround: Launch all apps in portrait before rotating to landscape.

    WebKit

    Note

    Subpixel rendering is now on by default for all web content. Web sites or in-app web views with extremely tight design constraints may render differently. Solutions for each issue will vary, but use Web Inspector to adjust position, border thickness, and width or height of elements.

    Known Issues

    • Applications that use Apache Cordova/PhoneGap are broken due to a bug that causes the window.navigator.userAgent object to become undefined when window.navigator is replaced by a pure JavaScript wrapper object.

    • If you pass NULL for the fqdn parameter of SecRequestSharedWebCredential as recommended, only the first domain in the entitlement is used.

    • SecRequestSharedWebCredential and SecAddSharedWebCredential currently only work on device, not in Simulator.

    Widgets

    Known Issue

    Mapviews do not load tiles in widgets.

     

     

     

    'iOS' 카테고리의 다른 글

    iOS8 베타5 SDK 릴리즈 노트  (0) 2014.08.05
    iOS8 달라진 점 - What's New in iOS8  (0) 2014.06.03
    iOS8 for Developers  (0) 2014.06.03

     

    iOS SDK Release Notes for iOS 7.0

    Contents:

    Introduction

    iOS SDK 7.0 provides support for developing iOS apps, and it includes the complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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 7. You can also test your apps using the included iOS Simulator, which supports iOS 7. iOS SDK 7.0 requires a Mac computer running OS X v10.8.3 (Mountain Lion) 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/.

    Bug Reporting

    To report any bugs not mentioned in the Notes and Known Issues section, use the Apple Bug Reporter on the Apple Developer website (http://developer.apple.com/bugreporter/). Additionally, you may discuss these issues and iOS SDK 7.0 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 7.0 to develop code.

    AirDrop

    Notes

    “Contacts Only” support requires that:

    • You are logged into iCloud.

    • The sender and receiver have each other’s Apple ID email addresses in Contacts on their devices.

    Known Issues

    • “Contact Only” currently requires that you have an active Internet connection.

    • Occasionally, AirDrop will exhibit unreliability in discovery and/or data transfer to peers over Wi-Fi.

    • The App Store should support the ability to find an app capable of opening a received document based on the document’s Uniform Type Identifier (UTI). Currently, just a blank screen is displayed.

    AV Foundation

    Notes

    AVCaptureSession now uses your app’s AVAudioSession by default.

    Known Issues

    AVCaptureSession is unable to produce samples to its AVCaptureAudioDataOutput when the app is running in the background.

    Calendar

    Known Issues

    Edits made to iCloud Calendar events off-device will not push to the device.

    Workaround: Update the calendar manually or trigger a fetch by modifying an event on-device.

    Car Display

    Known Issues

    Support for Car Display will be provided once compatible systems are available.

    Core Animation

    Notes

    When the UIViewGroupOpacity key is not present, the default value is now YES. The default was previously NO.

    This means that subviews of a transparent view will first be composited onto that transparent view, then the precomposited subtree will be drawn as a whole onto the background. A NO setting results in less expensive, but also less accurate, compositing: each view in the transparent subtree is composited onto what’s underneath it, according to the parent’s opacity, in the normal painter’s algorithm order.

    Core Data

    Known Issues

    Moving data from a local sandbox to iCloud using migratePersistentStore causes a crash. Instead, manually migrate the data store by iterating over the objects in the local data store file.

    Game Center

    Known Issues

    • When adding new Apple IDs to Game Center, they must be added through the Game Center app and not Settings.

    • If you launch a Game Center app while not logged into Game Center, the Game Center login sheet may be unreadable.

    Game Kit

    Known Issues

    • The API for sending reminders is present but unimplemented in this seed.

    • The API for loading leaderboard sets might need to be called a second time for it to succeed.

    iCloud

    Notes

    Activation Lock, a new feature of Find My iPhone, is turned on automatically when Find My iPhone is enabled on any device running iOS 7. Activation Lock requires users to enter their Apple ID and password to turn off Find My iPhone, sign out of iCloud, erase the device, or reactivate the device after an erase. It’s important to sign out of iCloud, or choose Settings > General > Erase All Content and Settings, before transferring a device to a new user to allow them to use the device.

    Known Issues

    • Signing out of an iCloud account with Find My iPhone turned on requires you to enter your Apple ID password. However, in some cases, the keyboard does not appear.

      Workaround: Double-tapping the home button will bring up the keyboard.

    • On rare occasions, users might experience difficulties setting up iCloud Keychain on some of their devices.

      Workaround: A temporary Reset iCloud Keychain button is available in iCloud Settings > Account > Account Security.

    • After users change their iCloud Security Code to Simple or Complex, they will not be able to recover their keychain items from the secure backup.

      Workaround: Change the country code field under Account Security so that the user can receive the SMS Verification Code to complete the recovery process.

    • Sometimes when creating a new Apple ID and choosing to use iCloud in Setup Assistant, iCloud will not be turned on.

      Workround: Go to Settings/iCloud and sign in with your Apple ID.

    • iCloud Keychain users who set up an additional device will receive an approval request to the other devices with iCloud Keychain turned on. The approval request will not be displayed if their screens are off and the devices are idle.

      Workaround: Wake up any peer device to accept the approval request.

    • Users signing out of iCloud by deleting their iCloud account, erasing all contents and settings, or erasing the device via Find My iPhone and signing back in will not be presented with the correct iCloud Keychain setup screens.

      Workaround: Use the seed-only iCloud Keychain Reset button.

    • Users who have a single device with iCloud Keychain on will not be presented with the correct iCloud Keychain setup screens after restoring from a backup.

      Workaround: Use the seed-only iCloud Keychain Reset button.

    • When setting up iCloud Keychain, many iCloud Security Code candidates will be rejected for being too weak.

      Workaround: Choose a 4-digit iCloud Security Code that does not have an obvious pattern.

    • Restoring your device from the same device’s iCloud backup will lose all passwords for Wi-Fi, profiles, accounts, and apps.

    • When just Calendars or just Reminders is toggled off then back on again in iCloud settings, data may not resync to the device.

      Workaround: Turn off both Calendars and Reminders, and then turn them both back on.

    • Nonpurchased ePubs and PDFs will not be restored when iCloud-restoring an iOS 7 device with a pre-iOS 7 backup. Purchased content will be restored without issue.

      Workaround: Use iTunes sync.

    • In iOS 7, Find My iPhone and Bookmarks toggles are no longer supported on secondary iCloud accounts. When you update your device with either of these options enabled on a secondary iCloud account, they will be turned off with no user notification.

      Workaround: Set up the primary iCloud account via Settings/iCloud and then enable Find My iPhone or Bookmarks.

    • Users cannot use Simple or Complex iCloud Security Codes to recover their keychain items from their secure backup on iPhone 4.

      Workaround: Use Random iCloud Security Codes to backup keychain items.

    Location Services

    Known Issues

    • Location Services will be off by default after updating from prior releases. This prohibits Find My iPhone from working.

      Workaround: Turn on Location Services in Settings > Privacy > Location Services.

    • In this seed, GPS-based location is nonfunctional on iPhone 4. This includes AGPS call flows used for 911 emergency services location requests. Wi-Fi and cellular-based location remain functional.

    MapKit

    Notes

    If the calls to renderInContext on the layer backing an MKMapView are made off the main thread, they should be eliminated or moved to the main thread. Failure to do so can cause an app crash. Instead of using renderInContext, use the new MKMapSnapshotter APIs.

    Known Issues

    • Using +[MKMapCamera cameraLookingAtCenterCoordinate:fromEyeCoordinate:eyeAltitude:] may result in the wrong map heading being chosen.

    • Using +[MKMapSnapshot pointForCoordinate:] returns the wrong result for nonsquare snapshots.

    Multitasking

    Known Issues

    • Silent pushes will always wake the device.

    • Currently, there is no API that lets you inspect the settings controlling your app’s background behavior.

    Music Player

    Known Issues

    MPMediaPickerController has been disabled for this seed. It will immediately return as if the user canceled the selection.

    Networking

    Notes

    • Cellular fallback is a technology that will attempt to connect over the cellular interface when a connection over the Wi-Fi interface does not succeed. There are a number of cases where connection failures may occur over Wi-Fi, such as a cable modem in need of a reboot or a firewall that blocks access to certain resources.

      If your app restricts network operations over the cellular network, verify that your code is using the proper API to implement that policy.

      For example, if your app watches SCNetworkReachability for the kSCNetworkReachabilityFlagsIsWWAN to monitor when Wi-Fi is available, it may not behave correctly under cellular fallback.

      If an app uses this method and then attempts to connect, thinking it will get a connection over Wi-Fi, the app may inadvertently end up with a connection over the cellular network. The lack of thekSCNetworkReachabilityFlagsIsWWAN is not a guarantee that your connection will not go over cellular. If your code needs to enforce that a connection not go over cellular, it needs to specify that when making a networking request.

      Instead, for CFNetwork code using CFSocketStreamCFHTTPStream, or similar APIs, set the kCFStreamPropertyNoCellular property to true on the CF object before connecting.

      For NSURLRequests, call [request setAllowsCellularAccess: false].

      In addition to making sure your code will never be connected over cellular because of cellular fallback, this call ensures that your code will never be connected over cellular because of the VPN or convoluted routing problems (connecting to IPv6 over cellular because only IPv4 is available over Wi-Fi, etc.).

      To verify that your app is behaving properly, you should test against a broken Wi-Fi network. The easiest way to set up a broken Wi-Fi network is to set up an Apple AirPort Base Station or other Wi-Fi access point to hand out a DHCP address and leave the access point disconnected from the Internet. Another simple way of testing is to unplug the cable or DSL line from your cable or DLS modem.

    • Two low-level networking APIs that used to return a MAC address now return the fixed value 02:00:00:00:00:00. The APIs in question are sysctl (NET_RT_IFLIST) and ioctl (SIOCGIFCONF). Developers using the value of the MAC address should migrate to identifiers such as -[UIDevice identifierForVendor]. This change affects all apps running on iOS 7.

    Newsstand

    Known Issues

    Newsstand background downloads that use HTTP basic or digest authentication will prompt the user with authorization alerts (NSURLConnectionDelegate callbacks forconnectionShouldUseCredentialStorage and willSendRequestForAuthenticationChallenge are not called correctly).

    Nike + iPod

    Known Issues

    The Nike + iPod app is not included in this seed.

    Objective-C Runtime

    Notes

    Due to changes in how the isa field is implemented, *self may change during enumeration (for example, if the container is retained).

    Workaround: When implementing countByEnumeratingWithState, do not set state->mutationsPtr = self.

    Phone

    Known Issues

    If you select Voicemail and then another option, such as Contacts, and then return to Voicemail, the Phone app hangs. You will need to kill the Phone app and relaunch it.

    Reminders

    Known Issues

    Reminders may become unusable after the user creates a new list.

    Safari

    Known Issues

    • Safari website credentials do not always autofill between mobile and desktop versions.

      Workaround: Use the desktop version if the site offers it.

    • Users cannot delete their passwords via Safari Settings > Autofill.

    • The SafariServices addToReadingList API doesn't work on devices. However, it works fine on iOS Simulator.

    • If a user deletes a saved credit card number (from Autofill), it will still autofill.

      Workaround: After deleting a credit card from Autofill, force-quit Safari or reboot the device.

    Security

    Notes

    • -[UIDevice uniqueIdentifier] is no longer accepted in submissions to the App Store. In iOS 7, apps that are already on the store or on users’ devices that call this removed API will no longer be returned the UDID. Instead, -[UIDevice uniqueIdentifier] will return a 40-character string starting with FFFFFFFF, followed by the hex value of -[UIDevice identifierForVendor]. It is important to consider how this will affect existing apps. Consider submitting updates that no longer access the UDID.

    • iOS now requests user consent for apps to use the microphone hardware on all iOS 6 devices. For devices sold in China, iOS will also request user consent for apps to use the camera hardware. The operating system will present the consent alert when you set the category of the instantiated AVAudioSesison. The AVAudioSessionCategories that will present the alert areAVAudioSessionCategoryRecord and AVAudioSessionCategoryPlayAndRecord.

      If the user doesn’t allow access, the audio session data will be all zeros (silence). For devices where camera access is requested and denied by the user, the video capture session is a black screen.

    • The API gethostuuid() has been removed and will not be accepted for submission to the store regardless of the targeted OS. For existing apps running on iOS 7, the function will return a uuid_trepresentation of the vendor identifier (-[UIDevice identifierForVendor]).

    Known Issues

    Changing the Require Passcode time setting after a restore from backup will require a reboot for the change to take effect.

    Settings

    Known Issues

    • In General > Background App Refresh, the per-app settings are not honored.

    • In Notification Center, when selecting an alert style for an app, the examples for None, Banners, and Alerts are not displayed.

    Siri

    Known Issues

    The new Siri voices are not in this seed.

    Social

    Notes

    Up through iOS 6, when using TWTweetComposeViewController and SLComposeViewController (the latter only for Twitter and Weibo, but not Facebook), if the caller supplies a completionHandler, the supplied completionHandler is responsible for dismissing the view controller. As of iOS 7, if the app links against the iOS 7 SDK, the view controller will dismiss itself even if the caller supplies acompletionHandler. To avoid this, the caller’s completionHandler should not dismiss the view controller.

    Known Issues

    When using the iOS 6.1 SDK on OS X v10.8 Mountain Lion, if you use the iOS 5.0 or iOS 5.1 Legacy SDK in iOS Simulator, you will not be able to use Twitter features: attempting to sign in to Twitter via the Settings pane will fail, and Twitter.framework will not work correctly. If you need to test Twitter features, you will need to choose either an iOS 6.1 or iOS 6.0 Simulator run destination, or you can test with iOS 5.x on a device.

    Springboard

    Notes

    • Active touches are no longer canceled when the user takes a screenshot.

    • Dynamic wallpaper is not available on iPhone 4.

    Known Issues

    When restoring from an iCloud backup on a device with hundreds of apps, Springboard may crash repeatedly.

    Sync

    Known Issues

    The Wi-Fi sync option in iTunes is checked, but Wi-Fi devices do not appear in iTunes.

    Workaround: On OS X, install the iOS 7.0 SDK after installing iTunes. Wi-Fi sync is not supported on Windows.

    UIKit

    Notes

    • +[UIPasteboard pasteboardWithName:create:] and +[UIPasteboard pasteboardWithUniqueName] now unique the given name to allow only those apps in the same application group to access the pasteboard. If the developer attempts to create a pasteboard with a name that already exists and they are not part of the same app suite, they will get their own unique and private pasteboard. Note that this does not affect the system provided pasteboards, general, and find.

    • Blurred layers are not available on iPhone 4.

    • Parallax is not available on iPhone 4.

    • Letterpress text is not available on iPhone 4.

    Known Issues

    • When a device without a passcode is connected to an untrusted computer, iTunes will tell the user to approve on the phone, yet the phone never asks the user to approve. The phone is trusted anyway, so there is no functional impact, but the UI is missing.

    • UIPickerView with custom views doesn't show the views in the selection indicator.

    • UIRefreshControl and the associated table view are hidden under the nav bar when setTranslucent: is NO.

    • Auto Layout constraints do not take bar height into account, which leads to issues during rotation or when the height of the status bar changes.

    • UIButtonTypeInfoLightUIButtonTypeInfoDark, and UIButtonTypeDetailDisclosure buttons all look the same.

    • The UIImagePickerController does not show a live preview when using custom overlays.

    • Print Center is not functional. Seeing print job progress, job name, or job preview icon is not available in this seed. To ensure that the job name is correct for print jobs, use the Printer Simulator app in Xcode and check the log.

    • When using Auto Layout to position a UIButton, if you set the content compression resistance or content hugging priority to minimum, the button will have ambiguous layout.

      Workaround: Don’t use a content compression resistance or content hugging priority of less than 2 for UIButton.

    • UISwitchonTintColors is always green irrespective of what it’s set to.

    • The title of the UIRefreshControl appears below the navigation bar.

    USB Tethering

    Known Issues

    Personal Hotspot (Internet Tethering) will not work if this seed of the iOS SDK 7.0 is installed.

    Voice Memos

    Known Issues

    The VoiceMemos app is not available in this seed.

    VoiceOver

    Known Issues

    • Maps does not work with VoiceOver.

    • Siri and VoiceOver do not always work together properly.

    • Reminders does not work with VoiceOver.

    Weather

    Notes

    Weather conditions are not animated on iPhone 4.

    WebKit

    Notes

    • Previously, when the viewport parameters were modified, the old parameters were never discarded. This caused the viewport parameters to be additive.

      For example, if you started with width=device-width and then changed it to initial-scale=1.0, you ended up with a computed viewport of .

      In iOS 7, this has been addressed. Now you end up with with a computed viewport of initial-scale=1.0.

    • Previously, when using <meta name="viewport" content="initial-scale=1.0, user-scalable=1">, the scale could be incorrect after rotation.

      Now, if a user has not scaled the page explicitly, the page is restored to its initial scale. Also, the current scale is now correctly restricted within the min-scale, max-scale bounds.

    Known Issues

    • Some images for Retina display devices appear at twice the size that they should instead of being scaled down 50%. This issue can also occur with any image to be scaled that is larger than its container and that uses either the background-size property or the -webkit-background-size property. This issue affects both native apps that display web content and web pages viewed in Safari for iPhone.

      The background CSS shorthand property now resets the value of the background-size property to auto when background size is not specified. This new behavior is per the CSS spec, and the old behavior is available only for apps linked to an SDK prior to iOS 7.0 when running on iOS 7 or later.

      Workaround: Specify the background-size property or the -webkit-background-size property after the background shorthand property in the CSS stylesheet for the web content being displayed.

    • When scrolling a page with animations, the animations stop and do not resume when the scrolling has stopped.


    'iOS' 카테고리의 다른 글

    iOS 7.1 beta 5 Release Notes  (0) 2014.02.05
    iOS Developer Library - What's New in iOS7  (0) 2013.06.11
    iOS 7 Design Resources PDF 입니다.  (0) 2013.06.11

     

    iOS SDK Release Notes for iOS 6 beta 4

    Contents:

    Introduction
    Bug Reporting
    Notes and Known Issues


    Introduction

    iOS SDK 6.0 provides support for developing iOS apps, and it includes the complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These 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 6. You can also test your apps using the included iOS Simulator, which supports iOS 6. iOS SDK 6.0 requires a Mac computer running OS X 10.7.4 or higher (Lion).

    This version of iOS is intended for installation only on devices registered with Apple’s 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/.

    Bug Reporting

    To report any bugs not mentioned in the “Notes and Known Issues” section, please use the Apple Bug Reporter on the Apple Developer website (http://developer.apple.com/bugreporter/). Additionally, you may discuss these issues and iOS SDK 6 in the Apple Developer Forums: http://devforums.apple.com. You can get more information about iCloud for Developers at http://developer.apple.com/icloud.

    Notes and Known Issues

    The following issues relate to using iOS SDK 6.0 to develop code.

    Accounts Framework

    • When requesting access to Facebook accounts, the only key required in your options dictionary is ACFacebookAppIdKey. ACFacebookPermissionGroupKey and ACFacebookAppVersionKey are now obsolete.

      If you request a write permission under ACFacebookPermissionsKey, such as publish_stream, you must provide a value for ACFacebookAudienceKey, which can be one of ACFacebookAudienceEveryone, ACFacebookAudienceFriends, or ACFacebookAudienceOnlyMe.

    Address Book

    • FIXED: When an app is in a fresh privacy state and tries to present a ABNewPersonViewController, the user cannot dismiss that view controller properly, even if the user allows access to contacts. The user must force quit the app and relaunch.

    • Requesting access to contacts:

      • Users are able to grant or deny access to contact data on a per-app basis. To request access to contact data, call the ABAddressBookRequestAccessWithCompletion function after calling the ABAddressBookCreateWithOptions function. The ABAddressBookRequestAccessWithCompletion function does not block the app while the user is being asked to grant or deny access. Until access has been granted, the ABAddressBookRef object will not contain any contacts, and any attempt to modify contacts fails with a kABOperationNotPermittedByUserError error. The user is prompted only the first time access is requested; any subsequent calls to ABAddressBookCreateWithOptions will use the existing permissions. The completion handler is called on an arbitrary queue. If the ABAddressBookRef object is used throughout the app, then all usage must be dispatched to the same queue to use ABAddressBookRef in a thread-safe manner.

    • Checking access authorization status:

      • An app can use the authorization status API to check if it can access contacts, calendars, reminders, or the photo library. This API is independent from the request access API and will not prompt the user to grant or deny access. With this API an app can adjust the display of its UI elements that would access the data class. For example, if access to contacts is authorized or not determined, then a UI button to pick a contact can be displayed.

      • For Address Book, call the ABAddressBookGetAuthorizationStatus function. For Event Kit, call the authorizationStatusForEntityType: class method of EKEventStore. For Assets Library, call the authorizationStatus class method of ALAssetsLibrary. The meaning of the status values that are returned is as follows:

        • Authorization Status Not Determined—The user has not yet made a choice regarding whether this app can access the data class.

        • Authorization Status Restricted—This app is not authorized to access the data class. The user cannot change this app’s status, possibly due to active restrictions such as parental controls being in place.

        • Authorization Status Denied—The user explicitly denied access to the data class for this app.

        • Authorization Status Authorized—This app is authorized to access the data class.

    Apple TV

    • FIXED: In some cases, the screen may show the wrong resolution. Restart your Apple TV to return it to the correct resolution.

    • FIXED: Apple TV may restart while using the Remote app.

    • FIXED: Apple TV may restart when changing the system language.

    • FIXED: Photo Stream does not load when logging in a second time. Restart Apple TV to resolve.

    • Music does not play during photo slideshows.

    • Screen saver may revert to using the default images after installing update.

    Bonjour

    • The NSNetService class and CFNetService APIs do not include P2P interfaces by default. To browse, register, or resolve services over P2P interfaces, an app needs to use the Bonjour DNSService*() APIs noted below.

    • Setting the interfaceIndex parameter to kDNSServiceInterfaceIndexAny in the following APIs will not include P2P interfaces by default. To include P2P interfaces, you must now set the kDNSServiceFlagsIncludeP2P flag when using kDNSServiceInterfaceIndexAny or set the interfaceIndex to kDNSServiceInterfaceIndexP2P. The affected APIs are:

      • DNSServiceBrowse

      • DNSServiceRegister

      • DNSServiceResolve

      • DNSServiceRegisterRecord

      • DNSServiceQueryRecord

    Dictionary

    • FIXED: There is a known issue with dictionaries when attempting to define a word in any language other than English or Japanese. When the reference library is presented, the user is given the option to download a dictionary—that download may not begin. The user can tap outside the popover on an iPad or tap the Done button on the iPhone or iPod touch to dismiss the download request.

    Event Kit

    • Requesting access to calendars or reminders:

      • Users are able to grant or deny access to event and reminder data on a per-app basis. To request access to event and/or reminder data, call the requestAccessToEntityType:completion:: method of EKEventStore. This will not block the app while the user is being asked to grant or deny access. Until access has been granted for an entity type, the event store will not contain any calendars for that entity type and any attempt to save data will fail.

      • The user will be prompted only the first time access is requested; any subsequent instantiations of EKEventStore will use the existing permissions. The completion handler is called on an arbitrary queue.

    Game Center

    • FIXED: When creating a new Game Center account in-app on the iPad, the popover for selecting the month of your date of birth shows up with no content to select.

    • The authenticate method of GKLocalPlayer has been removed. Authentication will commence automatically when the completion handler is set.

    • As of iOS 6 beta 4, GKGameCenterViewController singleton is no longer supported.

    • As of iOS 6 beta 4, GKScore+Sharing.h file and associate category are removed.

    iCloud

    • When creating an iCloud account, you can use any email-based Apple ID or your existing iCloud account. If you had a MobileMe account that you did not move to iCloud, you can use that Apple ID to sign up for a new iCloud account (none of your previous MobileMe data will be present).

      • icloud.com email addresses are now available for iCloud mail users. Users signing up for new Apple IDs, or enabling Mail on their iCloud account for the first time, will automatically receive an @icloud.com email address instead of a me.com email address. iCloud users with @me.com addresses that have been used with iOS 6 beta 3 or later will receive an @icloud.com email address that matches their @me.com address.

      • icloud.com email cannot be sent from www.icloud.com. Users should use http://beta.icloud.com at this time if they wish to use a web browser to send email from their icloud.com address.

      • @icloud.com addresses will be added within two weeks of first using iOS 6.

    • Provisioning profiles must be enabled for iCloud in the iOS Provisioning Portal. To enable a provisioning profile for iCloud, navigate to the App ID section of the iOS Provisioning Portal and configure your App ID for iCloud. After enabling the App ID for iCloud, regenerate your provisioning profiles to enable them for iCloud.

    • The setSortDescriptors: method of NSMetadataQuery is not supported.

    • In iOS 6, files that are protected via Data Protection cannot be used with iCloud Storage APIs.

    • Filenames are case-insensitive in OS X but case-sensitive in iOS. This can lead to problems when using iCloud to share files between the two platforms. On iOS, you should take steps to avoid creating files with names that differ only by case.

    • The behavior of coordinated read operations on iCloud Documents has changed:

      On previous iOS releases, when your app performed a coordinated read operation on a file or package and the iCloud daemon noticed that there was a newer version of the item available, the coordinated read operation blocked until the newer version of the item was downloaded and written to the disk.

      As of iOS 6 beta 3, when you start a coordinated read operation on a file or package for which you already have a local version, the coordinated read will be granted as soon as possible, and the new version, if any, will download in the background. This call will block for downloading reasons only if you do not have any version of the file available locally.

      Additionally, when the file is conflicted, the iCloud daemon will not wait until it has all the conflict losers of the file available to make the file available to your app. It will make the different versions of the conflicted file available as soon as it can. Your app can use the existing file coordination and the UIDocument callbacks to be notified when the conflict losers have been downloaded and are available.

    iTunes

    • iTunes 10.6.3 is required for iOS SDK 6.0.

    • Previous public betas of iOS can no longer download iTunes Match songs.

    Location

    Maps

    • In iOS 6 and later, Map Kit is built on a new infrastructure hosted by Apple. Earlier iOS releases will continue to use Google’s service.

      • API compatibility will be maintained (see known issues below).

      • Maps are now supported in Simulator.

      • Map data will continue to evolve—only a limited amount of high-resolution satellite imagery is currently available.

    • Routing apps that do not specify a coverage file during development will always be displayed in the Maps routing search results.

    • Testing and debugging of coverage files for routing apps is only supported during development through the Xcode Run workflow. (You can specify the coverage file for a given Run scheme using the Options pane of the Run section of the scheme editor.) Apps that are archived and distributed (outside of the App Store) onto devices will not have access to the app’s coverage files.

    • FIXED: Maps does not zoom into the current location when launched from a third-party app.

    Newsstand

    • FIXED: Only simple HTTP downloads will work with Newsstand.

    Passbook

    • The Description field is now a required field for a Pass. All passes created without it will fail to validate and will not ingest.

    • Passbook in Simulator no longer requires https/ssl when using a webServiceURL when ingesting a pass.

    • FIXED: Unable to show boarding passes on lock screen.

    • Passes will no longer fall back to background.png if strip.png is not included in your pass bundle.

    • The contents of the userInfo dictionary for PKPassLibraryDidChangeNotification have changed in the case of removed passes. Please consult the latest documentation for the new userInfo dictionary.

    Security

    • In iOS 5, signing a certificate with an MD5 signature is not supported. Please ensure that certificates use signature algorithms based on SHA1 or SHA2.

    • In iOS 6, there are improved privacy controls for Calendar, Reminders, Contacts, and Photos.

      • Users will see access dialogs when an app tries to access any of those data types. The user can switch access on and off in Settings > Privacy.

      • Developers can set a “purpose” string for each class of isolated data. iOS displays this string to users to help them understand why their data is being requested. These strings can be added using Xcode’s Project editor, which is in the Info tab. The relevant key names begin with the string “Privacy -”.

      • There are changes to the Event Kit and Address Book frameworks to help developers with this feature.

    Simulator

    • FIXED: The app delete confirmation alert panel takes a while to show up in iOS Simulator.

    • No privacy alerts are displayed in iOS Simulator for apps that access Photos, Contacts, Calendar, and Reminders.

    • Downloading In-App Purchase hosted content in iOS Simulator is not supported.

    • When attempting to play an MP3 sound in Simulator, you will hear a popping sound instead.

    Shared Photo Stream

    • Users must go to Settings > iCloud to ensure that they receive Shared Photo Stream Notifications.

    • In order to share a Photo Stream with iOS 6 beta, you must invite someone using his iCloud email address; otherwise, he will not receive the invitation.

    • Upgrading from iOS 6 beta 1 to beta 2 will cause your device to redownload all of your Shared Photo Streams.

    • The Shared Photo Stream feature is set to OFF when updating from iOS 6 beta 1 to a later release. The default setting should be ON.

    • FIXED: Turning off Shared Photo Streams may leave Camera in an unresponsive state; force quitting the Camera app will resolve this issue.

    Social

    • Weibo shows up in the Settings app only if a Chinese keyboard is enabled.

    • The requestAccessToAccountsWithType:withCompletionHandler: method of ACAccountStore is now deprecated. To access user accounts, please use the requestAccessToAccountsWithType:options:completion: method.

      In the options parameter of this new method, pass nil to access Twitter and Weibo accounts. To access Facebook accounts, pass a dictionary with the following keys (which are documented in ACAccountStore.h):

      You should no longer add this dictionary to your app’s Info.plist file, as was required in beta 1.

    • When requesting access to Facebook accounts, the only key required in your options dictionary is ACFacebookAppIdKey. ACFacebookPermissionGroupKey and ACFacebookAppVersionKey are now obsolete.

      If you request a write permission under ACFacebookPermissionsKey—such as publish_stream—you must provide a value for ACFacebookAudienceKey, which can be one of ACFacebookAudienceEveryone, ACFacebookAudienceFriends, or ACFacebookAudienceOnlyMe.

    Status Bar

    • It is now possible to set status bar tint parameters in your app’s Info.plist file. You might do this to ensure that the status bar color matches your app’s navigation bar color during startup. To set the status bar tint, add the UIStatusBarTintParameters key to your Info.plist file. The value of this key is a dictionary with the appropriate values describing the navigation bar your app has at startup. Inside the dictionary should be the UINavigationBar key, which has a value that is also a dictionary. That dictionary contains the initial navigation bar’s style (with the Style key) and whether it is translucent (with the Translucent key). If your navigation bar uses them, you can also specify its tint color (with the TintColor key) or the name of its custom background image (with the BackgroundImage key).

    UIKit

    • In iOS 5.1, the UISplitViewController class adopts the sliding presentation style when presenting the left view (previously seen only in Mail). This style is used when presentation is initiated either by the existing bar button item provided by the delegate methods or by a swipe gesture within the right view. No additional API adoption is required to obtain this behavior, and all existing APIs—including that of the UIPopoverController instance provided by the delegate—will continue to work as before. If the gesture would be insupportable in your app, setting the presentsWithGesture property of your split view controller to NO disables the gesture. However, disabling the gesture is discouraged because its use preserves a consistent user experience across all apps.

    • FIXED: In iOS 6, changes have been introduced so that you no longer need to set a delegate and implement a method for Single-Finger and Single-Tap gesture recognizers. This makes them work well with the UIControl objects.

    • In iOS 6 and later, the UIWebView class paints its contents asynchronously.

    • Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation: method of UIViewController is deprecated. In its place, you should use the supportedInterfaceOrientationsForWindow: and shouldAutorotate methods.

      • More responsibility is moving to the app and the app delegate. Now, iOS containers (such as UINavigationController) do not consult their children to determine whether they should autorotate. By default, an app and a view controller’s supported interface orientations are set to UIInterfaceOrientationMaskAll for the iPad idiom and UIInterfaceOrientationMaskAllButUpsideDown for the iPhone idiom.

      • A view controller’s supported interface orientations can change over time—even an app’s supported interface orientations can change over time. The system asks the top-most full-screen view controller (typically the root view controller) for its supported interface orientations whenever the device rotates or whenever a view controller is presented with the full-screen modal presentation style. Moreover, the supported orientations are retrieved only if this view controller returns YES from its shouldAutorotate method. The system intersects the view controller’s supported orientations with the app’s supported orientations (as determined by the Info.plist file or the app delegate’s application:supportedInterfaceOrientationsForWindow: method) to determine whether to rotate.

      • The system determines whether an orientation is supported by intersecting the value returned by the app’s supportedInterfaceOrientationsForWindow: method with the value returned by the supportedInterfaceOrientations method of the top-most full-screen controller.

      • The setStatusBarOrientation:animated: method is not deprecated outright. However, it now works only if the supportedInterfaceOrientations method of the top-most full-screen view controller returns 0. This puts the responsibility of ensuring that the status bar orientation is consistent into the hands of the caller.

      • For compatibility, view controllers that still implement the shouldAutorotateToInterfaceOrientation: method do not get the new autorotation behaviors. (In other words, they do not fall back to using the app, app delegate, or Info.plist file to determine the supported orientations.) Instead, the shouldAutorotateToInterfaceOrientation: method is used to synthesize the information that would be returned by the supportedInterfaceOrientations method.

    • The willRotateToInterfaceOrientation:duration:, willAnimateRotationToInterfaceOrientation:duration:, and didRotateFromInterfaceOrientation: methods are no longer called on any view controller that makes a full-screen presentation over itself—for example, by calling presentViewController:animated:completion:.

      • You should make sure that your apps are not using these methods to manage the layout of any subviews. Instead, they should use the view controller’s viewWillLayoutSubviews method and adjust the layout using the view’s bounds rectangle.

    • In iOS 6, the viewWillUnload and viewDidUnload methods of UIViewController are now deprecated. If you were using these methods to release data, use the didReceiveMemoryWarning method instead. You can also use this method to release references to the view controller’s view if it is not being used. You would need to test that the view is not in a window before doing this.

    • It is unsupported to set values for the shadowOffset or shadowColor properties of a UILabel object if its attributedText property contains a valid attributed string. Instead, use the NSShadowAttributeName attribute of the attributed string to set the shadow.

    • Due to compatibility concerns, the NSBaselineOffsetAttributeName attribute is no longer supported in iOS 6.

    • The NSTextAlignmentNatural value is unsupported and will throw an exception when used with the textAlignment property of UILabel or supplied as the alignment parameter to the drawInRect:withFont:lineBreakMode:alignment: method of NSString.

    • The setContentStretch: method of UIView has been deprecated in this beta release. To achieve the same effect, use the resizableImageWithCapInsets: method of UIImage and display the image with a UIImageView.

    • The resizableImageWithCapInsets: method of UIImage effectively resizes images by tiling. As a performance optimization, it uses stretching rather than tiling when the user would not be able to tell the difference, such as when a single column or row is being stretched. But in certain circumstances, the user might want to actually stretch some region of an image. In iOS 6, the resizableImageWithCapInsets:resizingMode: method allows the caller to specify a tiling or stretching resizing mode.

    • The UICollectionViewLayout class has changed:

      • The class now supports the customization of the animations created during rotation. The names of methods for customizing insert and delete animations have also changed, so the same hooks can be used for rotations as well as for insertions and deletions.

      • The class has changed some method names. Specifically, decoration views are no longer referred to by “reuse identifier” but rather by “element kind.” Apps that are using decoration views will need to modify their code and rebuild to accommodate this.

    • The bottom edge of a UILabel view is now different from its baseline.

      Previously, auto layout was interpreting the bottom of a UILabel to be the same as its baseline. While convenient in many cases, it caused problems if you wanted to place the top edge of one label against the bottom edge of another. In such a scenario, the bottom label would overlap the top one, and descenders from the top label could crash into ascenders from the bottom label. Now, auto layout interprets UILayoutAttributeBottom as the bottom of the text box (presuming the label is not bigger than its intrinsic content size) and UILayoutAttributeBaseline as the baseline of the text. If you have already created code for laying out labels according to the bottom or center point, your text will move around a little and you will need to adjust your constraints.

    • Apps with table views in their nib or storyboard files, and that were built using previous versions of iOS 6 beta, will require a clean build with beta 3 and newer.

    • Here are some notes regarding auto layout support for UIScrollView:

      • In general, auto layout considers the top, left, bottom, and right edges of a view to be the visible edges. That is, if you pin a view to the left edge of its superview, you’re really pinning it to the minimum x-value of the superview’s bounds. Changing the bounds origin of the superview does not change the position of the view.

      • The UIScrollView class scrolls its content by changing the origin of its bounds. To make this work with auto layout, the meaning of the top, left, bottom, and right edges within a scroll view now mean the edges of its content view.

      • The constraints on the subviews of the scroll view must result in a size to fill, which is then interpreted as the content size of the scroll view. (This should not be confused with the intrinsicContentSize method used for auto layout.) To size the scroll view’s frame with auto layout, constraints must either be explicit regarding the width and height of the scroll view, or the edges of the scroll view must be tied to views outside of its subtree.

      • Note that you can make a subview of the scroll view appear to float (not scroll) over the other scrolling content by creating constraints between the view and a view outside the scroll view’s subtree, such as the scroll view’s superview.

      • Here are some examples of how to configure the scroll view:

        • Mixed approach:

          1. Position and size your scroll view with constraints external to the scroll view—that is, the translatesAutoresizingMaskIntoConstraints property is set to NO.

          2. Create a plain UIView content view for your scroll view that will be the size that you want your content to have. Make it a subview of the scroll view but let it continue to translate the autoresizing mask into constraints:

            UIView *contentView = [[UIView alloc]
                initWithFrame:CGRectMake(0,0,contentWidth,contentHeight)];
            [scrollView addSubview:contentView];
            // DON'T change contentView's translatesAutoresizingMaskIntoConstraints,
            // which defaults to YES;
          3. Set the content size of the scroll view to match the size of the content view:

            [scrollView setContentSize:CGMakeSize(contentWidth,contentHeight)];
          4. Create the views you want to put inside the content view and configure their constraints so as to position them within the content view.

            Alternatively, you can create a view subtree to go in the scroll view, set up your constraints, and call the systemLayoutSizeFittingSize: method (with the UILayoutFittingCompressedSize option) to find the size you want to use for your content view and the contentSize property of the scroll view.

        • Pure auto layout approach:

          1. In this case, translatesAutoresizingMaskIntoConstraints must be set to NO on all views involved.

          2. Position and size your scroll view with constraints external to the scroll view.

          3. Use constraints to lay out the subviews within the scroll view, being sure that the constraints tie to all four edges of the scroll view and do not rely on the scroll view to get their size.

            A simple example would be a large image view, which has an intrinsic content size derived from the size of the image. In the viewDidLoad method of your view controller, you would include code like the following:

            UIScrollView *scrollView = [[UIScrollView alloc] init];
            UIImageView *imageView = [[UIImageView alloc] init];
            [imageView setImage:[UIImage imageNamed:"MyReallyBigImage"]];
            [self.view addSubview:scrollView];
            [scrollView addSubview:imageView];
             
            scrollView.translatesAutoresizingMaskIntoConstraints = NO;
            imageView.translatesAutoresizingMaskIntoConstraints = NO;
             
            NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(scrollView,imageView);
            [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[imageView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[imageView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];

            This would give you a scroll view that resized as the view controller’s view resized (such as on device rotation), and the image view would be a scrolling subview. You don't have to set the content size of the scroll view.

    • Given this view hierarchy:

      ContainerView
          |     OddHeightView
          |        |    EvenHeightView
          |    OtherFixedHeightView

      and these constraints:

      EvenHeightView.centerY == OddHeightView.centerY
      EvenHeightView.bottom (or baseline) ==  OtherFixedHeightView.bottom (or baseline)
      OtherFixedHeightView.top == ContainerView.top + <space>

      in iOS 6 beta 4, on non-Retina display devices, the bottoms (or baselines) of the EvenHeightView and the OtherFixedHeightView were off by one pixel and the developer could do nothing about it. This issue is now fixed.

      • Before the changes, the layout engine did not integralize the position variables for the views, and these constraints were always satisfiable:

        ContainerView
            |    OddWidthView
            |    EvenWidthView
         
        OddWidthView.centerX == ContainerView.centerX
        EvenWidthView.centerX == ContainerView.centerX
        EvenWidthView.centerX == OddWidthView.centerX
         

        Now, the layout engine is integralizing the position variables (x and y) as well as dimension variables (width and height). This means that it will try to satisfy the three constraints with an integer solution, which might not be possible, and thus will log that these constraints are unsatisfiable. In this case, and in all analogous cases, developers just need to remove the redundant constraint (or constraints). In the example above, removing any one of the three constraints will resolve the issue.

    • In iOS 6 beta 4, there is a known bug that when you have a constraint with one item that is a scroll view, the other item is a descendant of that scroll view, and you add the constraint to an ancestor of that scroll view, then the constraint might stop working properly. The workaround is to add such constraints only to the scroll view itself, not to any old ancestor.

    Safari and WebKit

    • WebKit on iOS now supports the requestAnimationFrame and cancelAnimationFrame methods in JavaScript, as described here: http://www.w3.org/TR/animation-timing/.

      • Note that because the specification is still at the Working Draft state, these methods have the webkit prefix, so they are window.webkitRequestAnimationFrame and window.webkitCancelAnimationFrame.

    • The default app cache quota has increased from 5 MB to 25 MB.

    • The JPEG subsampling threshold has increased from 2 MP (megapixels) to 5 MP on all supported hardware except iPhone 3GS and iPod touch (4th generation).

    • Support has been added for <input type="file"> tags in web forms. Users can upload existing photos and videos from their photo library or take a picture or video using the camera. Previously, this form control was always disabled.

    • With Safari 6.0 on OS X, developers can now use the Web Inspector (web development tool) with attached iOS devices and iOS Simulator. Developers can use the Web Inspector to debug Safari and the UIWebView class in their own apps built and run from Xcode. This replaces the Debug Console banner in Safari.

    • In iOS 6 and later, web data (SQL Web Storage and LocalStorage) from a UIWebView object can be stored in a directory that will be backed up. To enable backing up this data, set the WebKitStoreWebDataForBackup key to YES in your app’s user defaults. This should be done only if your app relies on web content data that cannot be reloaded. If your UIWebView object opens links to arbitrary web content, this key should be set to NO. Toggling the value of this key will not preserve existing web view data.

    • In iOS 6 and later, Safari no longer registers for the common feed: RSS/ATOM scheme. Apps that can view those types of feeds are encouraged to register for that URL scheme.

    • WebKit no longer always creates hardware-accelerated layers for elements with the -webkit-transform: preserve-3d option. Authors should stop using this option as a way to get hardware acceleration.

    • Experimental CSS3 Flexbox support will be disabled. Please switch from using -webkit-flexbox and -webkit-inline-flexbox to -webkit-box and -webkit-inline-box.

    • As of iOS 6, embedded YouTube URLs in the form of http://www.youtube.com/watch?v=oHg5SJYRHA0 will no longer work. These URLs are for viewing the video on the YouTube site, not for embedding in web pages. Instead, the format that should be used is described here: https://developers.google.com/youtube/player_parameters.

    • In iOS 6, the keyboardDisplayRequiresUserAction property was added to the UIWebView class. The property defaults to YES, which means that calling focus() on a form element will not bring up the keyboard. By changing the property to NO, a JavaScript call to focus() on a form element will focus the element and bring up the keyboard automatically.

    • As of iOS 6, calling focus() on a form element in a web app will focus the element.

     

    iOS SDK Release Notes for iOS 6 beta 3

    Contents:

    Introduction
    Bug Reporting
    Notes and Known Issues


    Introduction

    iOS SDK 6.0 provides support for developing iOS apps and includes the complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These tools include the Xcode IDE and the Instruments analysis tool among many others.

    With this software you can develop apps that run on iPhone, iPad, or iPod touch running iOS 6. You can also test your apps using the included iOS Simulator, which supports iOS 6. iOS SDK 6.0 requires a Macintosh computer running OS X 10.7.4 or higher (Lion).

    This version of iOS is intended only for installation on devices registered with Apple's 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/

    Bug Reporting

    Please report any bugs not mentioned in the “Notes and Known Issues” section using the Apple Bug Reporter on the Apple Developer website (http://developer.apple.com/bugreporter/). Additionally, you may discuss these issues and iOS SDK 6 in the Apple Developer Forums: http://devforums.apple.com. You can get more information about iCloud for Developers at: http://developer.apple.com/icloud

    Notes and Known Issues

    The following issues relate to using iOS SDK 6.0 to develop code.

    Address Book

    • When an app is in a fresh privacy state and tries to present a ABNewPersonViewController, the user cannot dismiss that view controller properly even if they allow access to contacts. The user must force quit the app and relaunch.

    • Requesting access to contacts:

      • Users are able to grant or deny access to contact data on a per-app basis. To request access to contact data, call the ABAddressBookRequestAccessWithCompletion function after calling the ABAddressBookCreateWithOptions function. The ABAddressBookRequestAccessWithCompletion function does not block the app while the user is being asked to grant or deny access. Until access has been granted, the ABAddressBookRef object will not contain any contacts and any attempt to modify contacts fails with a kABOperationNotPermittedByUserError error. The user is prompted only the first time access is requested; any subsequent calls to ABAddressBookCreateWithOptions will use the existing permissions. The completion handler is called on an arbitrary queue. If the ABAddressBookRef object is used throughout the app, then all usage must be dispatched to the same queue to use ABAddressBookRef in a thread-safe manner.

    • Checking access authorization status:

      • An app can use the authorization status API to check if it can access contacts, calendars, reminders or photo library. This API is independent from the the request access API and will not prompt the user to grant or deny access. With this API an app can adjust the display of its UI elements that would access the data class. For example, if access to contacts is authorized or not determined then a UI button to pick a contact can be displayed.

      • For Address Book, call the ABAddressBookGetAuthorizationStatus function. For Event Kit, call the authorizationStatusForEntityType: class method of EKEventStore. For Assets Library, call the authorizationStatus class method of ALAssetsLibrary. The meaning of the status values that are returned is as follows:

        • Authorization Status Not Determined - The user has not yet made a choice regarding whether this app can access the data class.

        • Authorization Status Restricted - This app is not authorized to access the data class. The user cannot change this app’s status, possibly due to active restrictions such as parental controls being in place.

        • Authorization Status Denied - The user explicitly denied access to the data class for this app.

        • Authorization Status Authorized - This app is authorized to access the data class.

    Apple TV

    • In some cases, the screen may show the wrong resolution. Restart your Apple TV to return it to the correct resolution.

    • FIXED: Netflix videos may not resume where you left off.

    • FIXED: The History list in the YouTube app gets cleared when you exit and reenter the app.

    • Apple TV may be slow to respond while a download is in progress in the background.

    • Apple TV may restart while using the Remote app.

    • Apple TV may restart when changing the system language.

    • Photo Stream does not load when logging in a second time. Restart Apple TV to resolve.

    • Music does not play during photo slideshows.

    • New Behaviors:

      • Pick remote speakers in Settings > AirPlay.

      • Set an onscreen code for AirPlay in Settings > AirPlay.

      • Save multiple iTunes Store accounts in Settings > iTunes Store.

      • Press and hold the Select button to rearrange icons on the main menu.

      • Hide the main menu icons in Settings > General > Parental Controls.

    Bonjour

    • The NSNetService class and CFNetService APIs do not include P2P interfaces by default. To browse, register, or resolve services over P2P interfaces, an app needs to use the Bonjour DNSService*() APIs noted below.

    • Setting the interfaceIndex parameter to kDNSServiceInterfaceIndexAny in the following API's will not include P2P interfaces by default. To include P2P interfaces, you must now set the kDNSServiceFlagsIncludeP2P flag when using kDNSServiceInterfaceIndexAny or set the interfaceIndex to kDNSServiceInterfaceIndexP2P. The affected APIs are:

      • DNSServiceBrowse

      • DNSServiceRegister

      • DNSServiceResolve

      • DNSServiceRegisterRecord

      • DNSServiceQueryRecord

    Dictionary

    • There is a known issue with dictionaries when attempting to define a word in any language other than English or Japanese. When the reference library is presented, the user is presented with the option to download a dictionary - that download may not begin. The user can tap outside the popover on an iPad or tap the "Done" button on the iPhone or iPod touch in order to dismiss the download request.

    Event Kit

    • Requesting access to calendars or reminders:

      • Users are able to grant or deny access to event and reminder data on a per-app basis. To request access to event and/or reminder data, call the requestAccessToEntityType:completion: method of EKEventStore. This will not block the app while the user is being asked to grant or deny access. Until access has been granted for an entity type, the event store will not contain any calendars for that entity type, and any attempt to save data will fail.

      • The user will only be prompted the first time access is requested; any subsequent instantiations of EKEventStore will use the existing permissions. The completion handler is called on an arbitrary queue.

    Game Center

    • When creating a new Game Center account in-app on the iPad, the popover for selecting the month for your date of birth shows up with no content to select.

    • The authenticate method of GKLocalPlayer has been removed. Authentication will automatically commence when the completion handler is set.

    iCloud

    • When creating an iCloud account, you can use any email based Apple ID, or you can use your existing iCloud account. If you had a MobileMe account that you have not yet moved to iCloud, you must move it first by visiting http://me.com. Moving to iCloud is only available for a limited time. Logging into a MobileMe account is not supported in iOS 6.

      • icloud.com email addresses are now available for iCloud mail users. Users signing up for new Apple IDs, or enabling Mail on their iCloud account for the first time, will automatically receive an @icloud.com email address instead of a me.com email address. iCloud users with @me.com addresses that have been used with iOS 6 beta 3 will receive an @icloud.com email address that matches their @me.com address.

      • icloud.com email cannot be sent from www.icloud.com. Users should use http://beta.icloud.com at this time if they wish to send email from their icloud.com address using a web browser.

    • Provisioning profiles must be enabled for iCloud in the iOS Provisioning Portal. To enable a provisioning profile for iCloud, navigate to the App ID section of the iOS Provisioning Portal and configure your App ID for iCloud. After enabling the App ID for iCloud, regenerate your provisioning profiles to enable them for iCloud.

    • The setSortDescriptors: method of NSMetadataQuery is not supported.

    • In iOS 6, files that are protected via Data Protection cannot be used with iCloud Storage APIs.

    • File names are case-insensitive in OS X but case-sensitive in iOS. This can lead to problems when sharing files between the two platforms using iCloud. You should take steps on iOS to avoid creating files whose names differ only by case.

    • The behavior of coordinated read operations on iCloud Documents has changed.

      On previous iOS releases, when your app performed a coordinated read operation on a file or package, and the iCloud daemon noticed that there was a newer version of the item available, the coordinated read operation blocked until the newer version of the item was downloaded and written to the disk.

      Starting in iOS 6 beta 3, when you start a coordinated read operation on a file or package for which you already have a local version, the coordinated read will be granted as soon as possible, and the new version, if any, will download in the background. This call will block for downloading reasons only if you do not have any version of the file available locally.

      Additionally, when the file is conflicted, the iCloud daemon will not wait until it has all the conflict losers of the file available to make the file available to your app. It will make the different versions of the conflicted file available as soon as it can. Your app can use the existing file coordination and the UIDocument callbacks to be notified when the conflict losers have been downloaded and are available.

    iMessage & FaceTime

    • FIXED: The Answer and Decline buttons are missing when receiving calls in landscape orientations.

    iTunes

    • iTunes 10.6.3 is required for iOS SDK 6.0.

    • FIXED: When restoring from an iTunes backup, the device intermittently shows up as a new device after rebooting. If that happens, set up the device as a “new device” when prompted to restore for the 2nd time. All data should have been restored correctly but sync settings including App arrangement in iTunes are lost.

    Maps

    • In iOS 6 and later, Map Kit is built on a new infrastructure hosted by Apple. Earlier iOS releases will continue to use Google’s service.

      • API compatibility will be maintained (see known issues below).

      • Maps are now supported in the Simulator.

      • Map data will continue to evolve—only a limited amount of high resolution satellite imagery is currently available.

    • FIXED: If Maps is not running in the background, a "Maps cannot connect to the internet" error is displayed when it is launched from a 3rd party app.

    • FIXED: If Maps has not yet been launched, the current location does not show up when it is launched from a 3rd-party app.

    • Routing apps that do not specify a coverage file during development will always be displayed in the Maps routing search results.

    • Testing and debugging of coverage files for routing apps is only supported during development through the Xcode "Run" workflow. (You can specify the coverage file for a given Run scheme using the Options pane of the Run section of the scheme editor.) Apps that are archived and distributed (outside of the App Store) onto devices will not have access to the app's coverage files.

    • Maps does not zoom into the current location when launched from a 3rd party app.

    Newsstand

    • Only simple http downloads will work with Newsstand.

    Passbook

    • FIXED: An airplane icon appears between the origin and destination for all transit types.

    • The "Description" field is now a required field for a Pass. All passes created without it will fail to validate and will not ingest.

    • FIXED: The Passbook database has been reset. You’ll need to add your passes again.

    • Passbook in the simulator no longer requires https/ssl when using a webServiceURL when ingesting a pass.

    • Unable to show boarding passes on lock screen.

    Reminders

    • FIXED: There are issues when adding and editing reminders in the Reminders app on iPhone devices:

      • The Done button is missing when adding a new reminder.

      • The app crashes when you tap the Edit button to edit a reminder.

    Security

    • In iOS 5, signing a certificate with an MD5 signature is not supported. Please ensure that certificates use signature algorithms based on SHA1 or SHA2.

    • In iOS 6, there are improved privacy controls for Calendars, Reminders, Contacts, and Photos.

      • Users will see access dialogs when an app tries to access any of those data types. The user can switch access on and off in Settings > Privacy.

      • Developers can set a "purpose" string for each class of isolated data. iOS displays this string to users to help them understand why their data is being requested. These strings can be added using Xcode's Project editor, in the Info tab. The relevant key names begin with the string "Privacy -".

      • There are changes to the Event Kit and Address Book frameworks to help developers with this feature.

    Simulator

    • The app delete confirmation alert panel takes a while to show up in iOS Simulator.

    • FIXED: Tapping the buy button in the view of an SKStoreProductViewController object in iOS Simulator causes the app to crash.

    • No privacy alerts are displayed in iOS Simulator for apps that access Photos, Contacts, Calendar and Reminders.

    • Downloading in-app purchase hosted content in iOS Simulator is not supported.

    • When attempting to play an MP3 sound in the Simulator, you will hear a popping sound instead.

    • FIXED: Using the iOS 5.1 SDK with the iPad (Retina) profile will result in a SpringBoard crash. The iOS 5.1 SDK works with all other profiles and the iPad (Retina) SDK works with the iOS 6.0 SDK.

    • FIXED: Ads of type ADAdTypeMediumRectangle do not appear in iPad Simulator.

    Shared Photo Stream

    • User must go to Settings > iCloud to ensure that they receive Shared Photo Stream Notifications.

    • In order to share a Photo Stream with iOS 6 beta, you must invite someone using their iCloud email address or they will not receive the invitation.

    • Upgrading from iOS 6 beta 1 to beta 2 will cause your device to re-download all of your Shared Photo Streams.

    • The Shared Photo Stream feature is set to OFF when updating from iOS 6 beta 1 to a later release. The default setting should be ON.

    • Turning off Shared Photo Streams may leave camera in an unresponsive state, force quitting camera will resolve this issue.

    Social

    • Weibo shows up in the Settings app only if a Chinese keyboard is enabled.

    • The requestAccessToAccountsWithType:withCompletionHandler: method of ACAccountStore is now deprecated. To access user accounts, please use the requestAccessToAccountsWithType:options:completion: method.

      In the options parameter of this new method, pass nil to access Twitter and Weibo accounts. To access Facebook accounts, pass a dictionary with the following keys (which are documented in ACAccountStore.h):

      • ACFacebookAppIdKey

      • ACFacebookPermissionsKey

      • ACFacebookPermissionGroupKey

      You should no longer add this dictionary to your app's Info.plist file, as was required in beta 1.

    SpringBoard

    • FIXED: After restoring a device in iTunes or performing an "Erase All Contents and Settings", the current wallpaper may not appear until the device is rebooted once.

    Status Bar

    • It is now possible to set status bar tint parameters in your app’s Info.plist file. You might do this to ensure that the status bar color matches the navigation bar color of your app during startup. To set the status bar tint, add the UIStatusBarTintParameters key to your Info.plist file. The value of this key is a dictionary with the appropriate values describing the navigation bar your app has at startup time. Inside the dictionary should be the UINavigationBar key, whose value is also a dictionary. That dictionary contains the initial navigation bar's style (with the Style key) and whether it's translucent (with the Translucent key). If your navigation bar uses them, you can also specify its tint color (with the TintColor key), or the name of its custom background image (with the BackgroundImage key).

    UIKit

    • In iOS 5.1, the UISplitViewController class adopts the sliding presentation style when presenting the left view (previously only seen in Mail). This style is used when presentation is initiated either by the existing bar button item provided by the delegate methods or by a swipe gesture within the right view. No additional API adoption is required to obtain this behavior, and all existing API, including that of the UIPopoverController instance provided by the delegate, will continue to work as before. If the gesture would be insupportable in your app, setting the presentsWithGesture property of your split view controller to NO disables the gesture. However, disabling the gesture is discouraged because its use preserves a consistent user experience across all apps.

    • FIXED: In iOS 6, changes have been introduced so that you no longer need to set a delegate and implement a method for Single-Finger and Single-Tap gesture recognizers, in an effort to make them work well with the UIControl objects.

    • In iOS 6 and later, the UIWebView class paints its contents asynchronously.

    • FIXED: Developers trying out Auto Layout with UIScrollView objects might notice jitters in the scroll indicators on devices with Retina displays.

    • Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation: method of UIViewController is deprecated. In its place, you should use the supportedInterfaceOrientations and shouldAutorotate methods.

      • More responsibility is moving to the app and the app delegate. Now, iOS containers (such as UINavigationController) do not consult their children to determine whether they should autorotate. By default, an app and a view controller’s supported interface orientations are set to UIInterfaceOrientationMaskAll for the iPad idiom and UIInterfaceOrientationMaskAllButUpsideDown for the iPhone idiom.

      • A view controller’s supported interface orientations can change over time. Even an app’s supported interface orientations can change over time. The system asks both the topmost full screen view controller (typically the root view controller) for its supported interface orientations whenever the device rotates or whenever a view controller is presented with the full screen modal presentation style. Moreover the supported orientations are retrieved only if this view controller returns YES from its shouldAutorotate method. The system intersects the view controller’s supported orientations with the app's supported orientations (as determined by the Info.plist file or the app delegate's application:supportedInterfaceOrientationsForWindow: method) to determine whether to rotate.

      • The system determines if an orientation is supported by intersecting the value returned by the app’s supportedInterfaceOrientationsForWindow: method with the value returned by the supportedInterfaceOrientations method of the topmost fullscreen controller.

      • The setStatusBarOrientation:animated: method is not deprecated outright. However it now works only if the supportedInterfaceOrientations method of the topmost full screen view controller returns 0. This puts the responsibility of ensuring that the status bar orientation is consistent into the hands of the caller.

      • For compatibility, view controllers that still implement the shouldAutorotateToInterfaceOrientation: method do not get the new autorotation behaviors. (In other words, they do not fall back to using the app, app delegate, or Info.plist file to determine the supported orientations.) Instead, the shouldAutorotateToInterfaceOrientation: method used to synthesize the information that would be returned by the supportedInterfaceOrientations method.

    • FIXED: In certain situations, the Auto Layout system might not engage automatically for a view. To workaround this problem, override the requiresConstraintBasedLayout class method in your view and return YES from your implementation.

    • The willRotateToInterfaceOrientation:duration:, willAnimateRotationToInterfaceOrientation:duration:, and didRotateFromInterfaceOrientation: methods are no longer called on any view controller that makes a full screen presentation over itself—for example, by calling presentViewController:animated:completion:.

      • You should make sure that your apps are not using these methods to manage the layout of any subviews. Instead, they should use the view controller’s viewWillLayoutSubviews method and adjust the layout using the view’s bounds rectangle.

    • In iOS 6, the viewWillUnload and viewDidUnload methods of UIViewController are now deprecated. If you were using these methods to release data, use the didReceiveMemoryWarning method instead. You can also use this method to release references to the view controller’s view if it is not being used. You would need to test that the view is not in a window before doing this.

    • FIXED: Calling any of the attributed string drawing methods without specifying a value for the NSFontAttributeName attribute is likely to throw an exception. The workaround is to set a value for the NSFontAttributeName key before drawing or sizing an NSAttributedString object.

    • Setting values for the shadowOffset or shadowColor properties of a UILabel object, whose attributedText property contains a valid attributed string, is unsupported. Use the NSShadowAttributeName attribute of the attributed string to set the shadow instead.

    • Due to compatibility concerns, the NSBaselineOffsetAttributeName attribute is no longer supported in iOS 6.

    • The NSTextAlignmentNatural value is unsupported and will throw an exception when used with the textAlignment property of UILabel or supplied as the alignment parameter to the drawInRect:withFont:lineBreakMode:alignment: method of NSString.

    • The setContentStretch: method of UIView has been deprecated in this beta release. To achieve the same effect, use the resizableImageWithCapInsets: method of UIImage and display the image with a UIImageView.

    • The resizableImageWithCapInsets: method of UIImage effectively resizes images by tiling. As a performance optimization, it uses stretching rather than tiling when the user would not be able to tell the difference, like when a single column or row is being stretched. But in certain circumstances, one might want to actually stretch some region of an image. In iOS 6, the resizableImageWithCapInsets:resizingMode: method allows the caller to specify a tiling or stretching resizing mode.

    • The UICollectionViewLayout class has changed:

      • The class now supports the customization of the animations created during rotation. The names of methods for customizing insert and delete animations have also changed so that the same hooks can be used for rotations as well as for insertions and deletions.

      • The class has changed some method names. Specifically, decoration views are no longer referred to by "reuse identifier" but rather by "element kind." Apps that are using decoration views will need to modify their code and rebuild to accommodate this.

    • FIXED: In iOS 6, a bug was fixed where UIWebView.isLoading was set to NO before the main frame finished loading. Now, UIWebView.isLoading is set to NO when the main frame is done loading.

    • The bottom edge of a UILabel view is now different from its baseline.

      Previously, auto layout was interpreting the bottom of a UILabel to be the same as its baseline. While convenient in many cases, it caused problems if you wanted to place the top edge of one label against the bottom edge of another. In such a scenario, the bottom label would overlap the top one, and descenders from the top label could crash into ascenders from the bottom label. Now, auto layout interprets UILayoutAttributeBottom as the bottom of the text box (presuming the label is not bigger than its intrinsic content size), and UILayoutAttributeBaseline as the baseline of the text. If you have already created code for laying out labels according to the bottom or center point, your text will move around a little and you will need to adjust your constraints.

    • Apps with table views in their nib or storyboard files, and that were built using previous versions of iOS 6 beta, will require a clean build with beta 3 and newer.

    • Here are some notes regarding auto layout support for UIScrollView:

      • In general, auto layout considers the top, left, bottom, and right edges of a view to be the visible edges. That is, if you pin a view to the left edge of its superview, you're really pinning it to the minimum x-value of the superview’s bounds. Changing the bounds origin of the superview does not change the position of the view.

      • The UIScrollView class scrolls its content by changing the origin of its bounds. To make this work with auto layout, the meaning of the top, left, bottom, and right edges within a scroll view now mean the edges of its content view.

      • The constraints on the subviews of the scroll view must result in a size to fill, which is then interpreted as the content size of the scroll view. (This should not be confused with the intrinsicContentSize method used for auto layout.) To size the scroll view's frame with auto layout, constraints must either be explicit regarding the width and height of the scroll view or the edges of the scroll view must be tied to views outside of its subtree.

      • Note that you can make a subview of the scroll view appear to float (not scroll) over the other scrolling content by creating constraints between the view and a view outside the scroll view's subtree, such as the scroll view's superview.

      • Here are some examples of how to configure the scroll view:

        • Mixed approach:

          1. Position and size your scroll view with constraints external to the scroll view—that is, the translatesAutoresizingMaskIntoConstraints property is set to NO.

          2. Create a plain UIView content view for your scroll view that will be the size that you want your content to have. Make it a subview of the scroll view but let it continue to translate the autoresizing mask into constraints:

            UIView *contentView = [[UIView alloc]
                initWithFrame:CGRectMake(0,0,contentWidth,contentHeight)];
            [scrollView addSubview:contentView];
            // DON'T change contentView's translatesAutoresizingMaskIntoConstraints,
            // which defaults to YES;
          3. Set the content size of the scroll view to match the size of the content view:

            [scrollView setContentSize:CGMakeSize(contentWidth,contentHeight)];
          4. Create the views you want to put inside the content view and configure their constraints so as to position them within the content view.

            Alternatively, you can create a view subtree to go in the scroll view, set up your constraints, and call the systemLayoutSizeFittingSize: method (with the UILayoutFittingCompressedSize option) to find the size you want to use for your content view's size and the contentSize property of the scroll view.

        • Pure auto layout approach:

          1. In this case translatesAutoresizingMaskIntoConstraints must be set to NO on all views involved.

          2. Position and size your scroll view with constraints external to the scroll view.

          3. Use constraints to lay out the subviews within the scroll view, being sure that the constraints tie to all four edges of the scroll view and do not rely on the scroll view to get their size.

            A simple example would be a large image view, which has an intrinsic content size derived from the size of the image. In the viewDidLoad method of your view controller, you would include code like the following:

            UIScrollView *scrollView = [[UIScrollView alloc] init];
            UIImageView *imageView = [[UIImageView alloc] init];
            [imageView setImage:[UIImage imageNamed:"MyReallyBigImage"]];
            [self.view addSubview:scrollView];
            [scrollView addSubview:imageView];
             
            scrollView.translatesAutoresizingMaskIntoConstraints = NO;
            imageView.translatesAutoresizingMaskIntoConstraints = NO;
             
            NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(scrollView,imageView);
            [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[imageView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];
            [scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[imageView]|" options:0 metrics: 0 viewsDictionary:viewsDictionary]];

            This would give you a scroll view that resized as the view controller's view resized (such as on device rotation), and the image view would be a scrolling subview. You don't have to set the content size of the scroll view.

    Safari & WebKit

    • WebKit on iOS now supports the requestAnimationFrame and cancelAnimationFrame methods in JavaScript, as described here http://www.w3.org/TR/animation-timing/.

      • Note that because the specification is still at the Working Draft state, these methods have the webkit prefix, so they are window.webkitRequestAnimationFrame, window.webkitCancelAnimationFrame.

    • The default app cache quota has been increased from 5MB to 25MB.

    • The JPEG subsampling threshold was increased from 2 MP (megapixels) to 5 MP on all supported hardware except iPhone 3GS and iPod touch (4th gen).

    • Support has been added for <input type="file"> tags in web forms. Users can upload existing photos and videos from their photo library or take a picture or video using the camera. Previously this form control was always disabled.

    • With Safari 6.0 on OS X, developers can now use the Web Inspector (web development tool) with attached iOS devices and iOS Simulator. Developers can use the Web Inspector to debug Safari and the UIWebView class in their own apps built and run from Xcode. This replaces the Debug Console banner in Safari.

    • In iOS 6 and later, web data (SQL Web Storage and LocalStorage) from a UIWebView object can be stored in a directory that will be backed up. To enable backing up this data, set the WebKitStoreWebDataForBackup key to YES in your app’s user defaults. This should be done only if your app relies on web content data that cannot be reloaded. If your UIWebView object opens links to arbitrary web content, this key should be set to NO. Toggling the value of this key will not preserve existing web view data.

    • In iOS 6 and later, Safari no longer registers for the common feed: RSS/ATOM scheme. Apps that can view those types of feeds are encouraged to register for that URL scheme.

    • WebKit no longer always creates hardware-accelerated layers for elements with the -webkit-transform: preserve-3d option. Authors should stop using this option as a way to get hardware acceleration.

    • Experimental CSS3 Flexbox support will be disabled. Please switch from using -webkit-flexbox and -webkit-inline-flexbox to -webkit-box and -webkit-inline-box.

    • As of iOS 6, embedded YouTube URLs in the form of http://www.youtube.com/watch?v=oHg5SJYRHA0 will no longer work. These URLs are for viewing the video on the YouTube site, not for embedding in web pages. Instead, the format that should be used is described in https://developers.google.com/youtube/player_parameters.

    • In iOS 6, the keyboardDisplayRequiresUserAction property was added to the UIWebView class. The property defaults to YES, which means that calling focus() on a form element will not bring up the keyboard. By changing the property to NO, a JavaScript call to focus() on a form element will focus the element and automatically bring up the keyboard.

    • As of iOS 6, calling focus() on a form element in a web app will focus the element.


     

     

    + Recent posts