iOS 8 beta 4 este disponibil de cateva zeci de minute pentru dezvoltatorii de aplicatii pentru platforma iOS, iar compania Apple a publicat si changelog-ul pentru acest build al iOS 8. In iOS 8 beta 4 cei de la Apple au rezolvat o multitudine de probleme ale versiunii anterioare a sistemului de operare, asa ca daca ati fost nemultumiti de ceva, exista sanse mari ca acum totul sa funcitoneze fara probleme.
Separat de rezolvarea problemelor, Apple a implementat si o serie de noutati pentru noi, toate fiind mentionate in lista de mai jos.
Notes and Known Issues
The following issues relate to using iOS SDK 8.0 to develop code.
AVCapture
Known Issues
Use of the
AVCaptureDevice
methodrampToVideoZoomFactor:withRate:
will fail.Use of the new constant,
AVCaptureISOCurrent
, will result in inconsistent ISO values (as observed on the ISO property) ifsetExposureModeCustomWithDuration:ISO:completionHandler:
is called repeatedly.In some configurations, the
maxBracketedCaptureStillImageCount
property onAVCaptureStillImageOutput
will yield incorrect results.Backup and Restore
Known Issue
A restoration of an iCloud backup onto the same device the backup was taken from may not work properly. It may result in crashes of some apps.
Workaround: If you want to completely wipe the data from a device and restore it, use iTunes to backup and restore instead of iCloud.
CarPlay
Known Issue
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
Notes
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
Note
Your app needs the iCloud entitlement to be able to be used as a document provider.
Fixed in beta 4
Auto Layout does not currently provide direct support for the
UIView
layoutMargins
property.Document provider extensions sometimes crash when trying to import a document from a document provider view controller.
Selecting a file in a document picker twice in a row may cause the document picker to hang.
Workaround: Force quit the app.
After deploying a FileProvider via Xcode, your
documentStorageURL
may be nil and cause your extension to crash.Known Issues
App icons in the document picker do not show up on iPhones and iPads.
Document providers may hang when importing files.
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.
Extensions
Fixed in beta 4
Extensions sometimes fail to launch when debugging from Xcode.
When Extension with UI is killed, it relaunches and is not dismissed.
Sometimes your Sharing or Action extension can hang.
Redeploying an extension may disable it in Notification Center.
Known Issues
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.
Application extensions may behave unpredictably with respect to 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.
Workaround: Reboot the device.
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.
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 UILabels 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.
Fixed in beta 4
Some Hindi strings are incorrectly displayed, causing search and rendering issues.
Game Center
Fixed in beta 4
Swiping or tapping a Game Center friend request notification anywhere automatically accepts the friend request.
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
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 Health 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
Fixed in beta 4
BTLE health devices will pair, but data will not be saved to HealthKit.
iAd
Known Issue
iAd videos may not play in NPR HLS station.
iCloud Drive
Notes
All containers used by CloudKit applications will be emptied.
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 in an upcoming beta and associated with your existing App IDs.Fixed in beta 4
iCloud Drive may not be correctly enabled on a second device after signing in via Buddy or Settings.
Known Issue
URLForUbiquityContainerIdentifier:
might return nil when running your application in Xcode. If so, open System Preferences, navigate to iCloud > iCloud Drive, and enable Xcode.iCloud Keychain
Fixed in beta 4
After changing an iCloud account password, you may notice an “iCloud Keychain has been reset” message.
Known Issues
Initial sync does not work if the approving device is locked when the approval occurs.
Workaround: Toggle keychain off and then on again.
Using the recovery option can leave you in a state where new items added to the keychain do not sync.
Workaround: Use approval method with other devices unlocked.
Keyboards
Fixed in beta 4
If an iPad is restored while in landscape, it may end up with an offscreen keyboard in certain views.
Workaround: Reboot the device.
There is a known performance issue, which is evident as a time lag between
viewDidLoad
and thetextDidChange
callbacks firing.Known Issues
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.
Workaround: Press the Shift key three times.
Localization
Known Issue
The following have English strings that are not properly localized in other languages:
VoiceOverTouch
Sharing
ManagedConfiguration
AirPortAssistant
MapKit
SpringboardUIServices
AccessibilityBundles
Music
Lock Screen
Fixed in beta 4
Location-based recommended apps will not display on the lock screen.
Messages
Fixed in beta 4
If you have Send As SMS enabled in Messages settings, the Messages app may periodically become unresponsive.
Metal and OpenGL
Known Issue
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
Known Issue
The Music app may stop responding when downloading an album.
Newsstand
Fixed in beta 4
Content downloaded via
NKAssetDownload
doesn’t get returned to the app.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
Notes
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.
Fixed in beta 4
Call UI may appear on top of the home screen when it is originated from the app switcher.
Photos
Fixed in beta 4
After upgrading to beta 3, your device may get stuck while uploading photos to iCloud.
If both iCloud Photos and Photostream are enabled, duplicate photos are displayed.
Notes
You need to upgrade to beta 3 to use iCloud Photo Library. Betas 1 and 2 no longer support this feature.
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.
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.
Setup
Fixed in beta 4
Upon upgrade install, Touch ID is disabled for iPhone unlock.
Workaround: Enable iPhone Unlock option in Settings > Touch ID & Passcode.
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
Fixed in beta 4
Speaking “Hey, Siri” may fail to launch Siri for subsequent requests if you leave the UI by tapping the home button while Siri is still speaking.
Workaround: Re-launch Siri with the home button, speak your request, and do not exit the UI until Siri finishes speaking.
The “Hey, Siri” feature is not available when Japanese is selected in Settings > General > Siri > Language.
Springboard
Fixed in beta 4
SpringBoard will crash when a device is locked while viewing a folder.
Workaround: Exit folder before locking the device.
Known Issue
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
Note
UILabel
has a default value of YES forclipsToBounds
. This differs from the normalUIView
default of NO.Fixed in beta 4
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. To function again, an app may have to be force-quit after presenting a system view controller.
Known Issue
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 overridelayoutMarginsDidChange
and sendinvalidateIntrinsicContentSize
to the label.Weather
Fixed in beta 4
On iPhone 4S, Weather is missing its background color, letting the wallpaper see behind the condition animations.
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.Fixed in beta 4
When passing information from a
UIWebView
back to a native app using a custom URL scheme, the URL must be well formed or WebKit will not issue a load request, and thus thewebView:shouldStartLoadWithRequest:navigationType:
UIWebViewDelegate
method will not be called.
If you pass NULL for the fqdn parameter of
SecRequestSharedWebCredential
as recommended, only the first domain in the entitlement is used.