Da qualche istante, Apple ha reso disponibile agli sviluppatori il download di iOS 13 Beta 7.
iOS 13 Beta 7: tante novità interessanti
Ecco le novità inserite nel changelog della nuova versione beta:
General
Known Issues
- Snapshots for apps that use Metal might have an unexpected appearance in the App Switcher. (53121694)
Deprecations
- The
UIApplication
key is no longer supported in iOS & iPadOS 13. Update your apps to handle modern multitasking. (43958234)Exits On Suspend
Audio
New Features
- Voice Processing mode can now be enabled on
AVAudio
. (50906329)Engine - New
AVAudio
types can be used to wrap a user-defined block for sending or receiving data in real time.Node - A new method is available for an
AVAudio
-based app to retrieve a list of all nodes attached to anEngine AVAudio
instance.Engine - A new rendering mode in
AVAudio
selects the best spatial audio rendering algorithm automatically based on the output device.Environment Node - A new
AVAudio
property allows system sounds and haptics to play while the session actively uses audio input.Session - A new enumeration,
AVAudio
, informs apps which style of voice prompt they should play based on other audio activity in the system.Session .Prompt Style AVAudio
now permits apps to specify route-sharing policies so their audio and video routes to the same location as AirPlay.Session .Route Sharing Policy - Audio Unit Extensions now support user presets that are available across all host applications.
Deprecations
- The OpenAL framework is deprecated and remains present for compatibility purposes. Transition to
AVAudio
for spatial audio functionality.Engine AUGraph
is deprecated in favor ofAVAudio
.Engine - Inter-App audio is deprecated. Use Audio Units for this functionality moving forward.
- Carbon component-based Audio Units are deprecated and support will be removed in a future release.
- Legacy Core Audio HAL audio hardware plug-ins are no longer supported. Use audio server plug-ins for audio drivers moving forward.
Audio Sharing
New Features
- Audio sharing is compatible with AirPods (1st generation or later) and PowerBeats Pro. iPhone 8 or later, iPad Pro 12.9-inch (2nd generation or later), iPad Pro 11-inch, iPad Pro 10.5-inch, iPad (5th generation or later), iPad Air (3rd generation), iPad mini (5th generation), or iPod touch (7th generation or later) is required. (51331268)
AVFoundation
New Features
- AVFoundation now supports encoding video with alpha channels using HEVC. Videos encoded in this manner are broadly supported in AVFoundation APIs, and by Safari within web pages. Technical details of the format can be found in the Interoperability Profile specification. (8045917)
Core Haptics
Known Issues
- By default, haptics are disabled when microphone recording begins. You can override this by setting the
AVAudio
propertySession allow
toHaptics And System Sounds During Recording true
before activating its audio session. (25811898) - Events — such as
audio
,Continuous haptic
, andContinuous audio
— can’t be resumed during the event; no output occurs for that event, only for subsequent events. This applies to playback at a specific time offset, seeking, and resuming. (29274583)Custom CHHaptic
instances with nonzero relative times that are sent as part of aDynamic Parameter send
call on aParameters(_: at Time:) CHHaptic
with theAdvanced Pattern Player at
parameter set toTime 0
are incorrectly applied at the beginning of the.0 CHHaptic
, instead of the expected nonzero relative time. This doesn’t occur on aPattern CHHaptic
. (46316890)Pattern Player - Both vibrations generated through
Audio
and vibration patterns generated through the user-created tap-to-vibrate UI are attenuated when compared to prior versions of iOS. (47448156)Services Play System Sound(_:) - Parameter Curves are not supported with a
CHHaptic
, only aAdvanced Pattern Player CHHaptic
. No error is generated when aPattern Player CHHaptic
containing a Parameter Curve is passed to aPattern CHHaptic
. (47891515)Advanced Pattern Player - Brief audio distortion occurs when starting a Playback category app such as Music in the background. For example, brief distortion occurs if you start the app from Control Center while Core Haptics audio playback using a
play
audio session is already underway. (48121467)And Record - Following any decompression to uncompressed floating-point samples, the total limit on all
audio
resources per process is eight megabytes. (48659023)Custom - Multiple overlapping Parameter Curves for the same
CHHaptic
might result in playback artifacts. (50026384)Dynamic Parameter .ID - The maximum duration for a
haptic
haptic event is 30 seconds. Events exceeding this limit can be constructed and accepted byContinuous CHHaptic
, but haptic playback will fade out after 30 seconds. (51322525)Pattern Player
Core Image
New Features
- The
init(image
andURL: options:) init(image
initializers no longer support RAW version 5 and earlier. Version 6 and later remain supported. (50911303)Data: options:) - Added new APIs for instantiating and modifying the built-in Core Image filters.
- The
CICore
filter is enhanced to support models with an input or output of typeMLModel MLFeature
.Type .multi Array - Metal
CIKernel
instances support arguments with arbitrarily structured data. - Metal
CIKernel
instances support returning a group of 2 × 2 pixels. - The integer values of
CIFormat
symbols, such asARGB8
, have changed to a new set of values that are consistent across platforms. The former values remain supported for backward compatibility; however, you should avoid dependancies on specific numerical values.
Find My
Known Issues
- When performing an action in Find My that generates an email, you might see references to the Find My Friends and Find My iPhone apps. (51123613)
- While iOS & iPadOS 13 remains in beta, offline-finding capability is limited.
Resolved Issues
- The “Notify when found” feature is now available.
- Apple Pay cards no longer remain suspended after a device exits Lost Mode.
iCloud
Known Issues
- After updating to iOS 13 beta 6 or later, iCloud Drive might synchronize for an extended period of time. If you notice any missing files, they can be found in a Recovered Files folder under On My iPhone/iPad within the Files app. (53772753)
- The iCloud Drive section in Settings > General > iPhone Storage might inaccurately represent the current state of files on your device. (50362095)
- When creating a new Pages, Numbers, or Keynote document in a shared folder, you might see the message: “Couldn’t connect to iCloud.” (50827963)Workaround: Close and reopen the document.
Localization
Known Issues
- Devices set to use certain languages might exhibit clipped or misaligned layout. (51068688)
- Devices set to use certain languages might display unlocalized text. (47765173, 51197936, 51270878)
New Features
- Ignore Blocked Senders can now be enabled in Settings > Mail. The blocked contacts list is shared with Messages, FaceTime, and Phone. (50775961)
Resolved Issues
- The buttons located below the search field used to narrow your search results work as expected. (53808836)
Networking
New Features
- To enhance security,
URLSession
no longer sniffs the MIME type when the server sendsContent-Type: application/octet-stream
. (7820658) NSURLRequest
and.Cache Policy .reload Revalidating Cache Data NSURLRequest
APIs are now available. (49660334).Cache Policy .reload Ignoring Local And Remote Cache Data - Starting with iOS 13 beta 4, the copy attribute of the
http
property ofBody Stream NSMutable
is enforced. If the body data is mutated after the property setter has been called, data sent in the HTTP request won’t include that mutation. Invoking the property getter no longer returns aURLRequest NSMutable
reference, even when the setter was invoked with data of that type. As of iOS 13 beta 5, apps built using the iOS 12 SDK or previous SDKs use the legacy behavior. (53427882)Data - The
CNCopy
API has changed to address privacy. Please refer to the updated API documentation and headers for more details. (52707167)Current Network Info - All
URLSession
instances with aTask GET
HTTP method that contain a body now produce the errorNSURLError
. (46025234)Data Length Exceeds Maximum
Known Issues
- The
url
delegate callback might not function as expected. (54309264)Session(_: task Is Waiting For Connectivity:)
Deprecations
- Removed support for FTP and File URL schemes for Proxy Automatic Configuration (PAC). HTTP and HTTPS are the only supported URL schemes for PAC. This affects all PAC configurations including, but not limited to, configurations set using Settings, System Preferences, Profiles, and
URLSession
APIs such asconnection
andProxy Dictionary CFNetwork
. (28578280)Execute Proxy Auto Configuration URL(_: _: _: _:) - The
URLSession
andNSURLConnection
APIs no longer support SPDY. Servers should use HTTP 2 or HTTP 1.1. (43391641)
Notes
Known Issues
- Using search in Notes might produce unexpected results. (48238242)
Screen Time
Known Issues
- If you enable Share Across Devices, Screen Time settings don’t sync with iCloud until your iOS device is restarted. Any edits you make to your Screen Time settings on that device before restarting are lost. (50194586)
Settings
Resolved Issues
- Do Not Disturb settings now synchronize between your phone and watch. (52830669)
- You can purchase cellular data plans on iPad. (51735832, 51737229)
Sign In with Apple
Resolved Issues
- Real User status is available. Sign In with Apple provides a status for new accounts and the status returns the expected results. (51765525)
Siri
Known Issues
- Shortcuts automations are temporarily unavailable. (53182885)
- When you edit an app’s intent definition file and install the app, changes aren’t immediately reflected in Shortcuts. (46645833)Workaround: Quit and relaunch Shortcuts after installing a new version of the app, or build and run the intents extension in Xcode, targeting the Shortcuts app.
- The
supports
property always returnsOn Device Recognition false
the first time it’s accessed. After a few seconds, accessing it again returns the correct value. (47822242) - Shortcuts opened on iOS & iPadOS 13 beta are automatically upgraded and can no longer be opened on iOS 12. If a device with iOS 12 and a device with iOS 13 share an iCloud account, shortcuts might become unusable on the device running iOS 12. (50873839)Workaround: Disable iCloud Sync between devices running iOS & iPadOS 13 beta and devices running iOS 12.
- Currently, the only supported response for
INSearch
isFor Media Intent INSearch
. (51010311)For Media Intent Response Code .continue In App
Resolved Issues
- While using non-English languages, asking Siri to perform actions related to Reminders or Messages no longer causes the corresponding application to quit unexpectedly. (50952938)
SwiftUI
New Features
- You can now create a
Color
from aUIColor
orNSColor
. (49833933) NSManaged
now conforms to . The newObject @
Fetch
property wrapper can drive views from the results of a fetch request, andRequest managed
is now included in the environment. (50280673)Object Context - Gesture modifiers are renamed for consistency. For example,
tap
is renamed onTapGesture(count:perform:), andAction(count: _:) long
is renamed onLongPressGesture(minimumDuration:maximumDistance:pressing:perform:). (50395282)Press Action(minimum Duration: maximum Distance: _: pressing:) Text
now has a default line limit ofnil
so that it wraps by default. (51147116)Content
and several other enumerations are nowSize Category Case
. (51168712)Iterable Segmented
is now a style ofControl Picker
. (51769046)Bindable
is replaced by the protocol from the Combine framework. (50800624)You can manually conform to by defining an publisher that emits before the object changes. However, by default, automatically synthesizes and emits before anyObject @
Published
properties change.
@
Object
is replaced byBinding @
Observed
.Object - The
Identifiable
protocol is now part of the Swift standard library. As a result, your model files no longer need to import the SwiftUI framework. (SE-0261) - The
Environment
structure has four new properties for reading accessibility values from the environment:Values accessibility
,Differentiate Without Color accessibility
,Reduce Transparency accessibility
, andReduce Motion accessibility
. (51712481)Invert Colors - The
color(_:)
modifier forText
is renamed foregroundColor(_:) for consistency with the more generalforeground
view modifier. (50391847)Color(_:) - The
Bindable
protocol’s requirement is nowObject will
instead ofChange did
, and should now be sent before the object changes rather than after it changes. This change allows for improved coalescing of change notifications. (51580731)Change - The
Range
protocol is extended to include aReplaceable Collection remove(at
method and theOffsets:) Mutable
protocol is extended to include aCollection move(from
method. Each new method takesOffsets: to Offset:) Index
instances that you use with the onMove(perform:) and onDelete(perform:) modifiers onSet For
views. (51991601)Each - Added improved presentation modifiers:
sheet(is
,Presented: on Dismiss: content:) action
, andSheet(is Presented: content:) alert(is
— along withPresented: content:) is
in the environment — replace the existingPresented presentation(_:)
,Sheet
,Modal
, andPresentation
types. (52075730)Link - Updated the APIs for creating animations. The basic animations are now named after the curve type — such as linear and easeInOut. The interpolation-based
spring(mass:
animation is nowstiffness: damping: initial Velocity:) interpolating
, andSpring(mass: stiffness: damping: initial Velocity:) fluid
is nowSpring(stiffness: damping Fraction: blend Duration: timestep: idle Threshold:) spring(response:
ordamping Fraction: blend Duration:) interactive
, depending on whether or not the animation is driven interactively. (50280375)Spring(response: damping Fraction: blend Duration:) - Added an initializer for creating a
Font
from aCTFont
. (51849885) - You can style a
Navigation
using two new style properties:View Stack
andNavigation View Style Double
. By default, navigation views on iPhone and Apple TV visually reflect a navigation stack, while on iPad and Mac, a split-view styled navigation view displays. (51636729)When using theColumn Navigation View Style Double
style, you can provide two views when creating a navigation view — the first is the master and the second is the detail. For example:Column Navigation View Style
Known Issues
Image
instances don’t use resizing information configured in asset catalogs. Configure the size of an image using theresizable(cap
modifier instead. (49114577)Insets: resizing Mode:)
Resolved Issues
Deprecations
- SwiftUI APIs deprecated in previous versions of iOS 13 beta have been removed. (53310683)
Navigation
andDestination Link Dynamic
are deprecated; their functionality is now included inNavigation Destination Link Navigation
. (50630794)Link - The
Length
type is replaced byCGFloat
. (50654095) Tabbed
is now namedView Tab
. (51012120)View HAlignment
andVAlignment
are now deprecated, use the more flexibleHorizontal
orAlignment Vertical
types instead and useAlignment Text
for text. (51190531)Alignment - The
Selection
protocol is removed, useManager Optional
andSet
instances directly for selection. (51557694) - The
is
environment value is deprecated and replaced with the more generalPresented presentation
value. (51641238)Mode - The
Static
protocol is deprecated. Use protocol-conforming types directly instead. For example, use an instance ofMember Wheel
directly rather than thePicker Style wheel
static member.(52911961) - Complex overloads for the
background(_:
andalignment:) border(_:
modifiers are deprecated. Use shapes in awidth:) background(_:
oralignment:) overlay(_:
to draw these instead. (53067530)alignment:) - SwiftUI APIs deprecated in previous betas are now removed. (52587863)
- The
identified(by:)
method on theCollection
protocol is deprecated in favor of dedicatedinit(_:
andid: selection: row Content:) init(_:
initializers. (52976883, 52029393)The retroactive conformance ofid: content:) Int
to the Identifiable protocol is removed. Change any code that relies on this conformance to pass\.self
to theid
parameter of the relevant initializer. Constant ranges ofInt
continue to be accepted:
However, you shouldn’t pass a range that changes at runtime. If you use a variable that changes at runtime to define the range, the list displays views according to the initial range and ignores any subsequent updates to the range.
- Several extensions to the
Binding
structure are removed. (51624798)If you have code such as the following:
Define the following subscript on the
Set
structure:Then, change
self.$favorites
to.contains(landmark ID) self.$favorites[landmark
.ID] - The
Binding
structure’s conditional conformance to theCollection
protocol is removed. (51624798)If you have code such as the following:
Define the following collection type:
Then, update your code to:
- The
relative
,Width(_:) relative
, andHeight(_:) relative
modifiers are deprecated. Use other modifiers likeSize(width: height:) frame(min
instead. (51494692)Width: ideal Width: max Width: min Height: ideal Height: max Height: alignment:)
Third-Party Apps
Known Issues
- You might be unable to stream to a Chromecast device. (51334673)
UIKit
New Features
- The
UITable
class no longer changes theView Cell background
orColor is
properties of theOpaque content
and any of its subviews when cells become highlighted or selected. If you are setting an opaqueView background
on any subviews of the cell inside (and including) theColor content
, the appearance when the cell becomes highlighted or selected might be affected. The simplest way to resolve any issues with your subviews is to ensure theirView background
is set toColor nil
orclear
, and theiropaque
property isfalse
. However, if needed you can override theset
andHighlighted(_: animated:) set
methods to manually change these properties on your subviews when moving to or from the highlighted and selected states. (13955336)Selected(_: animated:) - Since iOS 8, using
UISearch
withController UINavigation
has required setting theController defines
property of the top view controller toPresentation Context true
. Failure to do so leads to subtle bugs that can be hard to detect and debug. Starting in iOS & iPadOS 13 beta, if a view controller’snavigation
has a non-Item nil
search
, when the view controller is shown in a navigation controller,Controller UINavigation
automatically sets that view controller’sController defines
property toPresentation Context true
. If you are targeting earlier versions of iOS, set this property before your search controller becomes active. (31338934) - The
UIRefresh
class no longer directly modifies theControl content
of its scroll view. Instead, its adjustments to the content inset will be incorporated into the scroll view’sInset adjusted
. The only exception is when the scroll view’sContent Inset content
is set toInset Adjustment Behavior UIScroll
, in which case theView .Content Inset Adjustment Behavior .never UIRefresh
instance will modify theControl content
directly as it did in previous releases. (35866834)Inset - If you implement self-sizing cells in a
UITable
by overridingView size
without using Auto Layout, the height you return is interpreted as the desired height for theThat Fits(_:) content
of the cell, andView UITable
automatically adds any additional height needed to allow room for the cell separator. If you implement manual self-sizing this way, the cell’sView Cell content
width is guaranteed to be accurate for you to use in manual layout calculations whenView size
is called on theThat Fits(_:) UITable
. (39742612)View Cell - Trait environments, such as views and view controllers, now have their
trait
property populated with traits during initialization. These initial traits represent a prediction of the ultimate traits that the trait environment will receive when it gets added to the hierarchy. Because the traits that are populated during initialization are just a prediction, they might differ from the traits that are received once actually in the hierarchy. Therefore, when possible you should wait to perform work that uses theCollection trait
until the view, or view controller’s view, has moved into the hierarchy — meaningCollection window
returns a non-nil
value — so that you don’t have to throw away any work done using the predicted traits if the actual traits are different. The best time to use thetrait
is during layout, such as insideCollection layout
,Subviews() view
, orWill Layout Subviews() view
.Did Layout Subviews() - The
trait
method is only called when the value of a trait changes. Importantly, because the trait collection is now initialized to a prediction of the ultimate traits in the destination hierarchy, when the initial predicted traits match the ultimate traits in the hierarchy,Collection Did Change(_:) trait
will not be called when the trait environment is added to the hierarchy. BecauseCollection Did Change(_:) trait
is intended to be an invalidation callback to notify you that one or more traits changed, audit your existing implementations of this method, as well as theCollection Did Change(_:) UIContent
methodContainer will
, for places where you might have been relying on it to trigger initial setup. The best place to lazily perform work that uses theTransition(to: with:) trait
is inside one of theCollection layout
methods discussed above, but remember that these layout methods are called any time layout occurs so be sure to avoid repeating work when you don’t need to. (46818941)Subviews - You can now enable debug logging to easily see when
trait
orCollection Did Change(_:) will
is called on your own classes. Turn on the logging by using the following launch argument:Transition(to: with:) -UITrait
. You might want to temporarily disable the Main Thread Checker while using this launch argument and running your app from Xcode to avoid extra log messages for unrelated classes. (47858564)Collection Change Logging Enabled YES - The
UITable
class’sView Cell content
property is always laid out edge-to-edge with adjacent accessories, both on the leading and the trailing side. This streamlines the layout code so developers who want the correct default offset no longer have to align their content with the content view border or the layout margin depending on whether there is an accessory on the trailing side or not. You should now always lay out their code on the layout margins of the cell’s content view to get the default system insets. These insets will be adjusted automatically based on the accessories visible in the cell to match the system’s default spacing. (48214114)View - You can now invoke a custom initializer from a creation block that’s passed through
instantiate
orInitial View Controller(creator:) instantiate
. This makes it possible for you to initialize view controllers with additional context and arguments, while taking advantage of defining them in a storyboard through Interface Builder. A custom controller initializer must call itsView Controller(identifier: creator:) super
method and pass the coder argument that it receives through the creation block. (48313869).init(coder:)
Known Issues
- Specifying
UIWindow
in Swift is currently unavailable. (51036709)Scene .Destruction Request Options
Watch
Known Issues
- Complications might disappear from Apple Watch after updating to iOS 13 beta if your watch isn’t running watchOS 6 beta. (50507942)
Xcode
New Features
CAMetal
is now available in Simulator. (45101325)Layer
Known Issues
- Donated shortcuts might not appear in Search while using the simulator. (50832782)Workaround: Test on a device with Settings > Developer > Display Recent Shortcuts enabled.
- Changing the volume level in Simulator while a video is playing in Safari mutes the audio. (51207286)
In conclusione, ecco un video dove sono mostrati le principali funzionalità interessanti di iOS 13 Beta 7 rispetto alla precedente versione beta:
Se volete installare gratuitamente l’aggiornamento sul dispositivo sfruttando il canale di distribuzione della beta pubblica, potete far riferimento a questa guida, scritta di proposito.
[AGGIORNAMENTO] Apple ha appena rilasciato lo stesso aggiornamento, sotto forma di beta pubblica, anche a tutti gli utenti iscritti al programma per il testing della suddetta versione beta, in uscita prossimamente per tutti gli utenti.