The third developer beta for iOS 13 has been out since July 3, and while devs have had fun exploring all the new features, those of us on the public beta have sat on the sidelines running the public version of dev beta 2. But we don’t need to wait any longer, as Apple just released iOS 13 public beta 2 and all the goodies that come with it.
This release was quite the surprise, coming at 4 p.m. EST (1 p.m. PST) on July 8. While we beta testers have certainly waited long enough after the release of dev beta 3, Apple missed its usual 1 p.m. EST time for release. It does release public betas at 4 p.m. EST, but many times after a 1 p.m. release of a developer beta.
It’s important to note public beta 2 supports iPhone 7 and 7 Plus. These iPhones were excluded without reason for dev beta 3. However, Apple has also released dev beta 3 at the same time as the public beta 2 for any developers running the beta on their iPhone 7 and 7 Plus.
- Update: Apple’s iOS 13 Public Beta 3 Now Available for iPhone
Feature 1: FaceTime Attention Correction
FaceTime Attention Correction is a neat little rhyme that just so happens to be a handy little feature as well. The setting fixes an issue with video calls in general, where you want to look at the screen while talking to your friend, but in doing so, neither one of you will make eye contact with the other. This iOS 13 feature uses AR to make it look like you’re looking right into the camera, even while you’re looking at your friend on-screen.
The result? Eye contact, for a more natural conversation, even if the mechanisms behind it are anything but.
Guys – “FaceTime Attention Correction” in iOS 13 beta 3 is wild.
Here are some comparison photos featuring @flyosity: https://t.co/HxHhVONsi1pic.twitter.com/jKK41L5ucI
Feature 2: ‘Arcade’ Gets an Enhanced Preview in the App Store
While the first two iOS 13 betas included “Arcade” as a tab in the App Store, all you saw upon tapping was a generic “Coming Soon” screen. With dev beta 3, Apple included a video preview, additional Arcade information, and links to sign up for a notification when Arcade is ready for release.
Feature 3: Scan NFC Tags to Control HomeKit Devices
If you’re a HomeKit user, you might love this new iOS 13 feature. The latest update allows you to scan NFC tags in conjunction with HomeKit devices. Check out Guilherme Rambo’s example below, where he turns on a HomeKit light just by scanning the NFC tag on a desk.
Controlling HomeKit devices by scanning an NFC tag on iOS 13 b3 🙌🏻 pic.twitter.com/Hw3nnc7vUh
Feature 4: Expanded Apps View in Shortcuts
The Shortcuts app now displays all supported apps available in “Apps,” rather than just App Store-related and “Open App” actions. To see the possible actions for any given app, tap it.
Feature 5: New Description for Headphone Audio Levels
Apple made slight tweaks to the “Measure Levels” and “Include Other Headphones” options in Settings –> Privacy –> Health –> Headphone Audio Levels. These options now list headphones that you’ve connected to.
Feature 6: The Archive Button in Mail Is Now Purple
Apple has changed the red Archive button in Mail to purple. There’s no given reason, but it’s an interesting change at the very least.
Feature 7: New White Background When Playing Audio Files in ‘Files’ App
You’ll now see a white backdrop when playing MP3 or other audio file types in the Files app. Previous iterations of iOS would show a gray background with the QuickTime logo in the middle.
Feature 8: New Opacity Tool Icon in Markup
The “Opacity” tool — new-ish in its own right in previous betas— now has an icon in Markup. Previously, the space where an icon would go was merely blank, and now it isn’t.
Feature 9: Updated Color Picker Icon in Markup
Also new in Markup is a refreshed color picker icon. Before, you would see a white ring between the black center and the color wheel. Now, that white ring is gone, leaving the center flushed with a color wheel.
Feature 10: Options for Mouse Cursor Size & Visibility
If having the option to use a mouse in iOS 13 doesn’t make your iPhone feel more like a computer, you now have ten different cursor sizes to choose from. You can also choose to turn off auto-hiding or choose an amount of time before auto-hiding kicks in.
- More Info: How to Use a Wireless Mouse with Your iPhone in iOS 13
Other New Features in Beta 2
- New pop-up screen for Secure Recordings feature in the Home app for cameras.
- If you have security cameras through the Home app, a pop-up will appear letting you know “Your Camera Do Not Yet Support Secure Recording” if applicable.
- A new pop-up for AirPods: “Announce Messages with Siri: When your AirPods are connected, Siri can read incoming messages as they arrive and let you respond using just your voice.”
- HomeKit devices with built-in nightlights tell you whether both device and light are on or off.
How to Install iOS 13 Public Beta 2
To update your iPhone to iOS 13 public beta 2, you’ll need to be an iOS beta tester. You can sign up through Apple’s beta site, download and install the configuration profile, then update over the air. If you already have the profile installed, go to Settings –> General –> Software Update to begin the installation of the latest beta build, or you can wait until it installs automatically if “Automatic Updates” is enabled.
Overview
The iOS & iPadOS 13 SDK provides support for developing apps for iPhone, iPad, and iPod touch devices running iOS & iPadOS 13. The SDK comes bundled with Xcode 11 beta available from Beta Software Downloads. For information on the compatibility requirements for Xcode 11, see Xcode 11 Beta 3 Release Notes.
Important
Upgrade your iPhone to the newest available version of iOS 13 beta before upgrading any paired watches to watchOS 6 beta or a newer version of watchOS 6 beta. (51366653)
General – Known Issues
- The EU volume limit warning might not appear when exceeding the maximum volume limit. (51068683)
- Following an update to iOS & iPadOS 13, users with large photo libraries might need to wait for an extended period while their device displays the Apple logo with a progress bar. (51147659)
General – Resolved Issues
- Tapping links no longer causes apps to become unresponsive for a period of time after updating to iOS & iPadOS 13 beta. (51222428)
- Wallpapers consistently display correctly. (45300725)
- The Wi-Fi icon is consistently displayed in the status bar when Wi-Fi is on. (51512334)
General – Deprecations
- The UIApplicationExitsOnSuspend key is no longer supported in iOS & iPadOS 13. Update your apps to handle modern multitasking. (43958234)
Activity – Resolved Issues
- Activity behaves as expected when you tap on VO2 max in Trends. (51539836)
App Store – Resolved Issues
- SKStoreProductViewController no longer returns a blank page. (50955943)
Apple CryptoKit – Resolved Issues
- Users are prompted to authenticate when using the SecureEnclave API with access control set on keys. (51279188)
Audio – New Features
- Voice Processing mode can now be enabled on AVAudioEngine. (50906329)
- New AVAudioNode types can be used to wrap a user-defined block for sending or receiving data in real time.
- A new method is available for an AVAudioEngine-based app to retrieve a list of all nodes attached to an AVAudioEngine instance.
- A new rendering mode in AVAudioEnvironmentNode selects the best spatial audio rendering algorithm automatically based on the output device.
- A new AVAudioSession property allows system sounds and haptics to play while the session actively uses audio input.
- A new enumeration, AVAudioSession.PromptStyle, informs apps which style of voice prompt they should play based on other audio activity in the system.
- AVAudioSession.RouteSharingPolicy now permits apps to specify route-sharing policies so their audio and video routes to the same location as AirPlay.
- Audio Unit Extensions now support user presets that are available across all host applications.
Audio – Deprecations
- The OpenAL framework is deprecated and remains present for compatibility purposes. Transition to AVAudioEngine for spatial audio functionality.
- AUGraph is deprecated in favor of AVAudioEngine.
- 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)
Books – Known Issues
- After upgrading to iOS 13 beta, locally-downloaded cloud items might move back to iCloud. (51306790)
Books – Resolved Issues
- A predictive text bar no longer appears unexpectedly when reading certain books. (51584308)
- Books no longer quits unexpectedly while browsing a PDF. (51108267)
- Books stored in iCloud Drive appear without delay in your Library. (51435740, 50776390)
CarPlay – Known Issues
- Some home screen icons might display incorrectly in light mode. (51863892)
- The garage door button might not appear in the CarPlay Dashboard. (50275274)
CarPlay – Resolved Issues
- The map style for navigation apps changes dynamically between dark and light modes. (50986173)
Core Haptics – Known Issues
- By default, haptics are disabled when microphone recording begins. You can override this by setting the AVAudioSession property allowHapticsAndSystemSoundsDuringRecording to true before activating its audio session. (25811898)
- Events — such as audioContinuous, hapticContinuous, and audioCustom — 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)
- When audio generated by Core Haptics is played using an audio session category or mode that normally supports Bluetooth or wired headphone output, no audio plays. (29939183, 50905288)
- CHHapticDynamicParameter instances with nonzero relative times that are sent as part of a sendParameters(_:atTime:) call on a CHHapticAdvancedPatternPlayer with the atTime parameter set to 0.0 are incorrectly applied at the beginning of the CHHapticPattern, instead of the expected nonzero relative time. This doesn’t occur on a CHHapticPatternPlayer. (46316890)
- Both vibrations generated through AudioServicesPlaySystemSound(_:) and vibration patterns generated through the user-created tap-to-vibrate UI are attenuated when compared to prior versions of iOS. (47448156)
- Parameter Curves are not supported with a CHHapticAdvancedPatternPlayer, only a CHHapticPatternPlayer. No error is generated when a CHHapticPattern containing a Parameter Curve is passed to a CHHapticAdvancedPatternPlayer. (47891515)
- 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 playAndRecord audio session is already underway. (48121467)
- Following any decompression to uncompressed floating-point samples, the total limit on all audioCustom resources per process is eight megabytes. (48659023)
- Multiple overlapping Parameter Curves for the same CHHapticDynamicParameter.ID might result in playback artifacts. (50026384)
- Creating a hapticContinuous event with an attackTime of 1.0, and then dynamically increasing the attack time by 1.0, causes erroneous behavior. The expected behavior is the attack time should saturate at 1.0; therefore increasing the attack on an event that already has maximum attack (1.0) should have no effect. (50386282)
- The maximum duration for a hapticContinuous haptic event is 30 seconds. Events exceeding this limit can be constructed and accepted by CHHapticPatternPlayer, but haptic playback will fade out after 30 seconds. (51322525)
Core Haptics – Resolved Issues
- The default value for audioBrightnessControl is now 0, not 1. (50310604)
Core Image – New Features
- The init(imageURL:options:) and init(imageData:options:) initializers no longer support RAW version 5 and earlier. Version 6 and later remain supported. (50911303)
- Added new APIs for instantiating and modifying the built-in Core Image filters.
- The CICoreMLModel filter is enhanced to support models with an input or output of type MLFeatureType.multiArray.
- 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 as ARGB8, 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.
Core Media – Resolved Issues
- Media services no longer quits with the message “AVFoundation error AVErrorMediaServicesWereReset -11819” when you play a low-latency HLS stream if the network link doesn’t negotiate TCP ECN. (51690639)
Core ML – Known Issues
- In the MLRecommender model, the exclude and restrict parameters are required, but they should be optional. For default behavior, pass in an empty list for restrict and the list of query items for exclude. (50348777)
Device Management – Known Issues
- After completing User Enrollment, Reminders can’t be enabled for the Managed Apple ID. (48820760)
- Users can’t accept an invitation to App and Book Assignments. (50832260)
- MDM queries might return unmanaged data, such as profiles and certificates installed using Apple Configurator. (50857952)
Device Management – Resolved Issues
- After completing User Enrollment, you’re no longer prompted to reenter your Managed Apple ID credentials when viewing account details in Settings > Passwords & Accounts. (48605466)
- You can now access the Enterprise iCloud Drive from managed apps when the managed “Open-in” restriction is enabled on a User Enrollment. (51016087)
- On a User Enrollment, you can install enterprise apps after removing and then reenrolling in MDM. (50959631)
FaceTime – Known Issues
- You might need to toggle the Attention Correction setting at least once in order to disable it. (52054477)
Files – Resolved Issues
- Using Files in Schoolwork is now supported. (51588407, 51277263)
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)
- The “Notify when found” feature is currently unavailable.
- Apple Pay cards might remain suspended after a device exits Lost Mode.
- While iOS & iPadOS 13 remains in beta, offline-finding capability is limited.
Home Screen – Known Issues
- Dragging app icons from Spotlight currently has no effect. Instead, drag app icons from the Dock. (49004339)
- Some items in Quick Action menus have unexpectedly large icons. (50561570)
Home Screen – Resolved Issues
- When viewing widgets for the first time after restarting your device, the Show More toggles appear correctly. (50966601)
iCloud – Known Issues
- Under certain conditions, your iCloud Drive might be missing data after upgrading to iOS 13 beta. (51787170, 51950018) | Workaround: Recover deleted files on iCloud.com.
- Some documents might not download in iCloud Drive. (52295165)
- 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.
- When manually initiating iCloud backup from Settings > iCloud Account > iCloud > iCloud Backup > Back Up Now, the progress bar doesn’t complete. However, this doesn’t mean that the backup isn’t complete. Once the text below the progress bar changes from “Backing Up” to “Updating iCloud,” it indicates that the backup completed. However, the iCloud sync doesn’t complete due an issue with notes syncing with iCloud. Your notes might not be up to date on iCloud compared to the notes on your device. (51030266)
iCloud – Resolved Issues
- The content of folders inside an iCloud Shared Folder are available to other users viewing your shared folder. (51591135)
- Pages, Numbers, and Keynote documents in shared folders correctly show an error message when you try to access them from iCloud.com. (50738067)
Keyboards – Resolved Issues
- You can disable QuickPath typing. (50989321)
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)
Location – Known Issues
- Some apps that receive user location might be attributed large numbers of locations even though only a few locations were actually received. (52240105)
Location – Resolved Issues
- Requesting Always authorization and receiving Provisional Always authorization is no longer incorrectly delivered to the CLLocationManagerDelegate as CLAuthorizationStatus.authorizedWhenInUse. (51475789)
Mail – New Features
- Ignore Blocked Senders can now be enabled in Settings > Mail. The blocked contacts list is shared with Messages, FaceTime, and Phone. (50775961)
Mail – Known Issues
- You might be unable to share an image directly from an email. Instead, forward the email with attachments. (50538771)
Maps – Resolved Issues
- Route lines display correctly when sharing a trip ETA. (50904902)
- You can navigate from an origin location that’s different than your current location when a watch running watchOS 6 beta is paired to your iPhone running iOS 13 beta. (47399367)
Messages – Known Issues
- If Animoji and Memoji aren’t mirroring your face as expected, quit and reopen Messages. (52199654)
Music – Known Issues
- When reordering songs in Up Next, Music might quit unexpectedly. (51639471)
Music – Resolved Issues
- Music no longer appears paused even though audio is playing. (49926478)
- You can share or tap album and artist links. (49675331)
Networking – New Features
- All URLSessionTask instances with a GET HTTP method that contain a body now produce the error NSURLErrorDataLengthExceedsMaximum. (46025234)
Networking – Resolved Issues
- For a background-configuration URLSession, an HTTP Set-Cookie header sent from a server behaves as expected. (47044416)
Networking – 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 as connectionProxyDictionary and CFNetworkExecuteProxyAutoConfigurationURL(_:_:_:_:). (28578280)
- The URLSession and NSURLConnection 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)
Phone and FaceTime – Known Issues
- When transitioning in and out of cellular service, the status bar might not accurately reflect the current connection state. (50821677)
- When upgrading to iOS 13 beta, you might be unable to enter your SIM PIN during the setup process. Instead, use Settings > Cellular > SIM PIN to unlock your SIM. (51593059)
Podcasts – Resolved Issues
- Transcript search is now available. (50425804)
- Podcast artwork doesn’t overlap other UI elements. (50859386)
Safari and WebKit – Known Issues
- Keyboard shortcuts might not work when using non-English language settings. (50979111)
Screen Time – Known Issues
- Users can select “One more minute” multiple times per day instead of only once each time they reach the limit for an app. (48773803)
- 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 – Known Issues
- You might be unable to purchase cellular data plans on iPad. (51735832, 51737229)
Sign In with Apple – Known Issues
- Real User status is currently unavailable. Sign In with Apple provides a status for new accounts but the status might return unexpected results. (51765525)
Siri – Known Issues
- AirPods might disconnect unexpectedly when Announce Messages with Siri is enabled unless music is playing while receiving a new message. (50322025)
- 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 supportsOnDeviceRecognition property always returns 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.
- While using non-English languages, asking Siri to perform actions related to Reminders or Messages might cause the corresponding application to quit unexpectedly. (50952938)
- Currently, the only supported response for INSearchForMediaIntent is INSearchForMediaIntentResponseCode.continueInApp. (51010311)
- When Announce Messages with Siri is enabled, music playback might be interrupted when a message is read. (51243455)
Siri – Resolved Issues
- Shortcuts-enabled media apps no longer appear to have SiriKit media support. (51010590)
- To support Announce Messages with Siri in your messaging app, add INSearchForMessagesIntentIdentifier to your notification category. (50462393)
SwiftUI – New Features
- You can style a NavigationView using two new style properties: stack and doubleColumn. 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 the doubleColumn style, you can provide two views when creating a navigation view — the first is the master and the second is the detail. For example:
NavigationView {
MyMasterView()
MyDetailView()
}
.navigationViewStyle(.doubleColumn)SwiftUI – Known Issues
- Return types for View modifier methods include complex generic types. In a future release, these methods will return simpler types. (46140669)
- Image instances don’t use resizing information configured in asset catalogs. Configure the size of an image using the resizable(capInsets:resizingMode:) modifier instead. (49114577)
- A ScrollView doesn’t always size itself as expected for its content. (49204262) | Workaround: Size the view that’s inside the ScrollView by applying the frame(width:height:alignment:) modifier to the inner view. (49204262)
SwiftUI – Resolved Issues
- The tabItemLabel(_:) modifier — now named tabItem(_:) — now accepts @ViewBuilder closures. (51502668)
- Text in previews in Xcode switch to the correct appearance in Dark Mode. (51486412)
Third-Party Apps – Known Issues
- You might be unable to stream to a Chromecast device. (51334673)
- WhatsApp might quit unexpectedly when forwarding messages to a user who isn’t in the recent contacts list. (45416129)
- WhatsApp users might receive duplicate notifications or notifications without content. (50537131)
- Didi might not display map data. (48386075)
- Audio might not play in Instagram stories. (50433755)
- The Wells Fargo app might quit unexpectedly when opened or during sign-in. (51085418)
Third-Party Apps – Resolved Issues
- Apps that were unable to backup or restore data to iCloud Drive can now do so once again. (50784901)
- Gmail behaves as expected when you tap the “View entire message” link. (51451630)
- Dragging and dropping an NSUserActivity-backed drag item creates a new scene.
UIKit – New Features
- The UITableViewCell class no longer changes the backgroundColor or isOpaque properties of the contentView and any of its subviews when cells become highlighted or selected. If you are setting an opaque backgroundColor on any subviews of the cell inside (and including) the contentView, 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 their backgroundColor is set to nil or clear, and their opaque property is false. However, if needed you can override the setHighlighted(_:animated:) and setSelected(_:animated:) methods to manually change these properties on your subviews when moving to or from the highlighted and selected states. (13955336)
- Since iOS 8, using UISearchController with UINavigationController has required setting the definesPresentationContext property of the top view controller to 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’s navigationItem has a non-nil searchController, when the view controller is shown in a navigation controller, UINavigationController automatically sets that view controller’s definesPresentationContext property to true. If you are targeting earlier versions of iOS, set this property before your search controller becomes active. (31338934)
- The UIRefreshControl class no longer directly modifies the contentInset of its scroll view. Instead, its adjustments to the content inset will be incorporated into the scroll view’s adjustedContentInset. The only exception is when the scroll view’s contentInsetAdjustmentBehavior is set to UIScrollView.ContentInsetAdjustmentBehavior.never, in which case the UIRefreshControl instance will modify the contentInset directly as it did in previous releases. (35866834)
- If you implement self-sizing cells in a UITableView by overriding sizeThatFits(_:) without using Auto Layout, the height you return is interpreted as the desired height for the contentView of the cell, and UITableViewCell automatically adds any additional height needed to allow room for the cell separator. If you implement manual self-sizing this way, the cell’s contentView width is guaranteed to be accurate for you to use in manual layout calculations when sizeThatFits(_:) is called on the UITableViewCell. (39742612)
- Trait environments, such as views and view controllers, now have their traitCollection 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 the traitCollection until the view, or view controller’s view, has moved into the hierarchy — meaning 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 the traitCollection is during layout, such as inside layoutSubviews(), viewWillLayoutSubviews(), or viewDidLayoutSubviews().
- The traitCollectionDidChange(_:) 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, traitCollectionDidChange(_:) will not be called when the trait environment is added to the hierarchy. Because traitCollectionDidChange(_:) 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 the UIContentContainer method willTransition(to:with:), for places where you might have been relying on it to trigger initial setup. The best place to lazily perform work that uses the traitCollection is inside one of the layoutSubviews 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)
- You can now enable debug logging to easily see when traitCollectionDidChange(_:) or willTransition(to:with:) is called on your own classes. Turn on the logging by using the following launch argument: -UITraitCollectionChangeLoggingEnabled YES. 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)
- The UITableViewCell class’s contentView 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)
- You can now invoke a custom initializer from a creation block that’s passed through instantiateInitialViewController(creator:) or instantiateViewController(identifier:creator:). 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 its super.init(coder:) method and pass the coder argument that it receives through the creation block. (48313869)
UIKit – Known Issues
- Specifying UIWindowScene.DestructionRequestOptions in Swift is currently unavailable. (51036709)
Voice Control – Known Issues
- After you enable Voice Control for the first time, resources begin downloading in the background. Once the download completes, you will receive a notification that Voice Control is ready for use. (50788121)
Voice Memos – Known Issues
- Voice Memos synced from iCloud might not play. (51492047)
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)
Watch – Resolved Issues
- Settings appear properly in the Apple Watch app if you’ve recently reinstalled a built-in app. (51689111)
Xcode – New Features
- CAMetalLayer is now available in Simulator. (45101325)
Xcode – 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)
Xcode – Resolved Issues
- Calls to SKProductsRequest no longer fail in Simulator. (50875951)
- Swift interfaces for several new URLSession APIs are now available. (50517967)
- Dark Mode is available in Simulator (50699968)
- When running your app from Xcode, you no longer see console errors about UIKit classes that override the traitCollection getter. (51651561)
Just updated your iPhone? You’ll find new emoji, enhanced security, podcast transcripts, Apple Cash virtual numbers, and other useful features. There are even new additions hidden within Safari. Find out what’s new and changed on your iPhone with the iOS 17.4 update.
“Hey there, just a heads-up: We’re part of the Amazon affiliate program, so when you buy through links on our site, we may earn a small commission. But don’t worry, it doesn’t cost you anything extra and helps us keep the lights on. Thanks for your support!”