iOS 8 beta 5 a fost lansat cu doar cateva minute in urma de catre compania Apple, iar in website-ul dedicat dezvoltatorilor de aplicatii, compania americana detaliaza toate schimbarile mai putin cunoscute. Vorbim despre modificari facute in ideea de a rezolva diverse probleme de functionare sau de a schimba modul in care functioneaza anumite optiuni ale sistemului de operare, aceste noutati nefiind de obicei vizibile, insa avand un impact foarte mare asupra sistemului de operare.
Acestea fiind spuse, mai jos aveti listat intregul changelog al iOS 8 beta 5.
AVCapture
Fixed in beta 5
Use of the
AVCaptureDevice
methodrampToVideoZoomFactor:withRate:
will fail.In some configurations, the
maxBracketedCaptureStillImageCount
property onAVCaptureStillImageOutput
will yield incorrect results.Known Issue
Use of the new constant,
AVCaptureISOCurrent
, will result in inconsistent ISO values (as observed on the ISO property) ifsetExposureModeCustomWithDuration: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 theURLForDirectory:inDomain:appropriateForURL:create:error:
method of theNSFileManager
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:
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.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 renamedHKQuantityTypeIdentifierElectrodermalActivity
.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 appropriateNCUpdateResult
. Widgets should NOT block returning fromviewWillAppear:
on the results of this operation. Instead, widgets should load cached state inviewWillAppear:
in order to match the state of the view from the lastviewWillDisappear:
, 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:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
, andNSURLSessionTaskPriorityHigh
.NSURLSessionTask
priorities can be used to specify how multiple requests and responses to the same host should be prioritized. Note that the priority is a hint and not a strict guarantee ofNSURLSessionTask
performance.For complete usage details of
NSURLSessionTask
priorities, refer to theNSURLSession.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 forclipsToBounds
. This differs from the normalUIView
default of NO.
leftLayoutGuide
andrightLayoutGuide
API have been removed. Please use thelayoutMargins
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 theis 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 overridelayoutMarginsDidChange
and sendinvalidateIntrinsicContentSize
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
andwindow.outerHeight
DOM properties always return 0. Other DOM properties will need to be used instead. This may affect websites that use leaf.js.