iOS 10.1 beta 1 a fost lansat cu doar cateva minute in urma de catre compania Apple pentru dezvoltatorii de aplicatii pentru iPhone, iPad si iPod Touch din lumea intreaga. Actualizarea vine la doar o saptamana dupa ce versiunea finala a iOS 10 a fost oferita publicului larg, compania Apple avand probabil pregatite o serie de schimbari importante.
Avand in vedere ca vorbim despre un iOS 10.1 beta 1 ce reprezinta un upgrade pentru versiunea anterioara, daca sunteti dezvoltator de aplicatii, s-ar putea sa trebuiasca sa descarcati un profil nou. Puteti face acest lucru direct din contul vostru de dezvoltator pe care il aveti in portalul disponibil in website-ul Apple.
Deocamdata cei de la Apple nu au spus ce noutati aduce iOS 10.1 beta 1 pentru utilizatori, insa sigur vorbim despre rezolvarea problemelor cu Airplane Mode, cu noile casti EarPods, dar si cu adaptorul Lightning. Toate aceste probleme au fost raportate pentru iPhone 7 si iPhone 7 Plus imediat dupa lansarea lor si vor fi rezolvate prin aceasta actualizare.
iOS 10.1 beta 1 a fost lansat
Mai jos aveti intreaga lista cu noutatile iOS 10.1 beta 1, iar dupa cum puteti vedea, vorbim despre multe schimbari implementate de catre cei din Cupertino. Foarte multe dintre modificari au legatura cu rezolvari de buguri ale sistemului de operare, deci nu se face referire la Airplane Mode sau castile Lightning, dar rezolvarile sigur exista.
UPDATE: watchOS 3.1 beta 1 a fost deasemenea lansat
UPDATE 2: macOS 10.12.1 beta 1 a fost deasemenea lansat.
mai multe imediat…
Fixed in this Release
Motion
Barometric pressure data from CMAltimeter is now reported on iPad Air 2, iPad mini 4, and
iPad Pro.
Notes and Known Issues
Binary Compatibility
• Apple reserves two-letter prefixes for use in framework classes. When naming your own
classes, please use a three-letter prefix. The guidelines can be reviewed here:
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/
ProgrammingWithObjectiveC/Conventions/Conventions.html
Failure to follow these guidelines could result in your app crashing during beta software
releases.
• Upon recompiling with iOS 10, calling [NSObject valueForKey:] with a nil key throws
an exception. Previously, this led to undefined behavior; now, it causes your app to crash.
• Referencing a system font by name in a call to +[UIFont fontWithName:size:] causes
a crash. For more information, see https://developer.apple.com/videos/play/
wwdc2015/804/
• To improve customer privacy, https:// URLs, NSURLSession, and NSURLConnection no
longer support RC4 cipher suites during the TLS handshake. Affected apps and services
should upgrade web servers to use more modern cipher suites.
• Apps may hang if they change a superview’s geometry in viewWillLayoutSubviews or
layoutSubviews.
• NSURLConnection disallows connections that use TLS protocol versions lower than the
protocol version specified by an ATS policy via the NSExceptionMinimumTLSVersion or
NSThirdPartyExceptionMinimumTLSVersion keys. Affected apps and services should
upgrade web servers to use more modern TLS protocol versions.
CFNetwork HTTPProtocol
The NSMutableURLRequest class requires that the HTTPBodyStream property be an unopened
stream, and the NSURLConnection and NSURLSession classes now strictly enforce this
unopened stream requirement. Affected apps should ensure that any NSInputStream that is
provided has not yet been opened.
CloudKit
Copyright © 2016 Apple Inc. All rights reserved. Terms of Use. Privacy Policy. Page 3 of 8
When building and running from Xcode repeatedly, long-lived operations can fail with a “You
don’t have permission to save the file” error because the container path is changing repeatedly.
HomeKit
Adding WAC HomeKit accessories might fail using the Home app if the network credentials are
not first provided using the Settings > Wi-Fi > Set Up New Device option.
Workaround: If adding such a HomeKit accessory fails, provide the network credentials using
Settings > Wi-Fi > Set Up New Device. After the accessory has joined the network, the
accessory can be added using the Home app.
libdispatch
Libdispatch asserts if there is a hang detected due to a deadlock in dispatch_barrier_sync.
Messages
• When UISearchController and UITableViewController are used in Messages
extensions, their content can be hidden below the top bar.
Workaround: Use insets of around 80px on the top and 40px on the bottom.
• In Simulator only, when localizedChangeDescription in the insertMessage:
localizedChangeDescription:completionHandler: method is set to
$localParticipantIdentifier.UUIDString, the
$localParticipantIdentifier.UUIDString is not replaced with the user’s Messages
ID, and the UUIDString is printed as-is.
• When the Messages app in Simulator is force quit, message history is lost.
• When a UIAlertController object is presented in a Messages extension, it is truncated
by the bottom bar of the extension.
• If a sign-in dialog is displayed while performing an in-app purchase or attempting to buy
content from the store, or the store or the extension will be dismissed.
• The local participant UUID is the same for both conversation participants in the Simulator
only.
Workaround: Use a device to test UUID comparisons.
Notes
Notes may quit unexpectedly.
Workaround: Toggle Notes off, then on, in Settings > iCloud.
NSUserActivity
An NSUserActivity object may not have any userInfo after Handoff.
Copyright © 2016 Apple Inc. All rights reserved. Terms of Use. Privacy Policy. Page 4 of 8
Workaround: Explicitly call becomeCurrent on the activity object.
Photos
• People syncing is not enabled via iCloud Photo Library in iOS 10.
• Memories, Related, People, and Scene are not supported on 32-bit devices.
Safari
• WebGeolocation now requires a secure (HTTPS) website to work on both iOS and
macOS to prevent malicious use of location data.
• WKWebView now defaults to respecting user-scalable=no from a viewport. Clients of
WKWebView can improve accessibility and allow users to pinch-to-zoom on all pages by
setting the WKWebViewConfiguration property ignoresViewportScaleLimits to YES.
• The SFSafariViewControllerConfiguration and -[SFSafariViewController
initWithURL:configuration:] APIs have been removed, and –
[SFSafariViewController initWithURL:entersReaderIfAvailable:] is no longer
marked as deprecated. The preferredBarTintColor property has been moved to
SFSafariViewController, along with a new property preferredControlTintColor
which clients should use instead of setting tintColor directly on the view. Apps linked on
iOS 10 or later will no longer forward their view’s tint color to SFSafariViewController.
UIKit
Notes
• Prior to iOS 10, it was possible to override [UIStackView
initWithArrangedSubviews:], but this was intended as a convenience initializer and
implemented as such. We have now enforced this in the headers. As a result, Swift clients
can no longer override this method, because Swift initializer rules prevent the override of a
convenience initializer.
• In iOS 10, UIKit has updated and unified background management for UINavigationBar,
UITabBar, and UIToolbar. In particular, changes to background properties of these views
(such as background or shadow images, or setting the bar style) may kick off a layout
pass for the bar to resolve the new background appearance.
In particular, this means that attempts to change the background appearance of these
bars inside of -[UIView layoutSubviews], -[UIView updateConstraints], –
[UIViewController willLayoutSubviews], -[UIViewController
didLayoutSubviews], -[UIViewController updateViewConstraints], or any other
method that is called in response to layout may result in a layout loop.
In some cases you can break these layout loops by ensuring that you always use the
same object instance when objects (such as UIImage or UIColor) are required. But in
general you should avoid doing this.
Because all appearance parameters are now resolved at one time, there may be some
cases where your bar’s appearance has changed. In general, best results are obtained by
Copyright © 2016 Apple Inc. All rights reserved. Terms of Use. Privacy Policy. Page 5 of 8
specifying as little as possible for customizing your bar. For example, if you are specifying
a barTintColor value and specifying an empty UIImage object for the backgroundImage
property (as is the case when you call [UIImage new], for example) then you should get
better results by specifying only the barTintColor. Any changes you make to resolve
these issues in iOS 10 should also work correctly in iOS 9—if this is not the case, please
report bugs with a sample project and a screenshot indicating what the bars should look
like.
• In iOS 10, there is a slight UIGestureRecognizer behavior change when removing a
currently recognizing (that is, midflight) gesture recognizer from its UIView. Previously,
removing the gesture recognizer midflight would not explicitly cancel the gesture
recognizer, allowing you to re-add the gesture recognizer back to the same view or to a
different view. In iOS 10, calling -[UIView removeGestureRecognizer:] on the view of
a midflight gesture recognizer explicitly cancels the gesture recognizer. If a user desires to
change the view of a midflight gesture recognizer, you can simply call -[UIView
addGestureRecognizer:] on the view you wish to move the gesture recognizer to.
• Presented view controllers can now affect the status bar appearance even if they were
presented from a view controller that did not affect the status bar (for example, a
popover). By default, custom view controller presentations are assumed to not affect the
status bar; use the modalPresentationCapturesStatusBarAppearance property on
UIViewController to allow a presented view controller to participate in status bar
appearance.
• It has always been a requirement that UIViewController subclasses call super’s
implementation of -awakeFromNib from their own overrides. Starting in iOS 10, –
awakeFromNib is correctly annotated with the NS_REQUIRES_SUPER attribute to detect
implementations that fail to obey this requirement. To fix this warning, ensure that all code
paths of your override call [super awakeFromNib].
• When running on iPad, the background color set for a UITableViewCell in a storyboard
is now respected.
• Starting in iOS 10, UITableViewHeaderFooterView supports NSCoding so if a view with
this class is in a XIB, it now decodes correctly. The consequence is that apps may exhibit
some extra content for these views which did not appear before due to the bug that was
fixed.
• For very wide table views where cell layout margins have been automatically increased to
follow the readable width, separator insets are now interpreted relative to these left and
right margins instead of from the edges of the table view.
• The coalescing of UITouch delivery has been significantly improved, especially in cases
where users would both touch the screen and use Apple Pencil at the same time on iPad
Pro and the app wasn’t able to process them at the incoming rate. In certain scenarios,
events still can come in at a higher rate than the display refreshes. This is expected, and
your app should anticipate this and handle accordingly.
• In iOS 10, windows that are not full screen do not affect status bar appearance.
• Sending -layoutIfNeeded to a view is not expected to move the view, but in earlier
releases, if the view had translatesAutoresizingMaskIntoConstraints == false,
and if it was being positioned by constraints, -layoutIfNeeded would move the view to
match the layout engine before sending layout to the subtree.
Copyright © 2016 Apple Inc. All rights reserved. Terms of Use. Privacy Policy. Page 6 of 8
These changes correct this behavior, and the receiver’s position and usually its size won’t
be affected by -layoutIfNeeded.
Some existing code may be relying on this incorrect behavior that is now corrected. There
is no behavior change for binaries linked before iOS 10, but when building on iOS 10 you
may need to correct some situations by sending -layoutIfNeeded to a superview of the
translatesAutoresizingMaskIntoConstraints == false view that was the previous
receiver, or else positioning and sizing it before (or after, depending on your desired
behavior) -layoutIfNeeded.
• Third party apps with custom UIView subclasses using Auto Layout that override
layoutSubviews and dirty layout on self before calling super are at risk of triggering a
layout feedback loop when they rebuild on iOS 10. When they are correctly sent
subsequent -layoutSubviews calls they must be sure to stop dirtying layout on self at
some point (note that this call was skipped in release prior to iOS 10).
• Flippable images work by having two images in an asset, each with a different
directionality trait. When you create a derived UIImage object using the -imageWith…
methods, it is no longer associated with the image asset it came from. To create a
flippable template image at runtime, use UIImageAsset.
• The source of the UIContentSizeCategoryDidChangeNotification notification is now
UIScreen.main() instead of UIApplication.shared().
Known issue
For UIImage objects that are created from CIImage objects, the UIImage drawing methods
(drawInRect, drawAtPoint) will always convert to the DeviceRGB color space before drawing.
This results in loss of extended color information when drawing into a wide-color graphics
context.
Workaround: You can retrieve the underlying CIImage via the UIImage.CIImage property and
render it using a CIContext created with the appropriate color space (Extended sRGB) and
pixel format (full-float).
A UIImage object that is created from CGImageRef is not affected, and will draw correctly
without loss of color information.
Widgets
The first time you debug a Today widget on a device, it does not show as a possible app
extension.
Workaround: Debug again for the app extension to show up.
Xcode
• Occasionally, using Command-Shift-HH from the Home screen does not invoke the app
switcher.
Workaround: Launch any app before using Command-Shift-HH