Article

macOS Catalina 10.15 Beta 4 Release Notes

Update your apps to use new features, and test your apps against API changes.

Overview

The macOS 10.15 SDK provides support for developing apps for Macs running macOS Catalina 10.15. 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 4 Release Notes.

General

New Features

  • Installing third party kernel extensions now requires that you restart your Mac before they’re permitted to load. (50340461)

Known Issues

  • macOS Catalina beta 4 does not support the MacBook Air model released in Summer 2019. A future beta of Catalina will add support for MacBook Air (Retina, 13-inch, 2019).

  • During installation of macOS 10.15 you might be prompted to enter your administrator password multiple times to allow installation to proceed. (51206649)

Resolved Issues

  • You can unlock a Mac that has Activation Lock enabled when you use Recovery Assistant to erase it when reinstalling macOS. (52017040)

  • You no longer see only third-party applications when you click the Applications shortcut in the Finder sidebar if you used Migration Assistant to migrate your data to a Mac running macOS Catalina beta. (51651200)

  • Apps consistently relaunch after installation or applying an update. (51228752)

Deprecations

  • macOS frameworks are now thinned for the x86-64 architecture. Apps that execute i386 code now fail with the EBADARCH error code. The remaining stub frameworks are nonfunctional and exist only for compatibility purposes. (51236070)

Accessibility

Resolved Issues

  • VoiceOver feedback sounds are available while in macOS Recovery. (48218068)

AirDrop

Known Issues

App Store

Known Issues

  • You might receive an error when downloading or updating apps. (49755328)

    Workaround: Sign out of your account using the Store menu, then sign back in and retry your download.

Resolved Issues

  • Apps such as Final Cut Pro, Motion, Compressor, and iMovie can consistently be found using Search. (51245576)

Apple CryptoKit

Resolved Issues

  • Users are prompted to authenticate when using the SecureEnclave API with access control set on keys. (51279188)

Apple TV

Known Issues

  • Support for signing in with an account from a different country is currently unavailable. (51240948)

AppleEvents

New Features

  • To enhance security, AppleEvents and AppleScripts that target an app on a remote system must authenticate as the same user on the remote system. An AppleEvent that targets an app running as a different user receives a procNotFound error.

    To allow remote AppleEvents to target apps in any user session, run the following command in Terminal on the server:

    defaults write /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false
    

    Then disable and reenable Remote Apple Events in System Preferences > Sharing. (5353592)

Audio

New Features

  • You can now enable voice processing mode on AVAudioEngine. (50906329)

  • You can use new AVAudioNode types 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 is actively using audio input.

  • A new property, AVAudioSession.PromptStyle informs apps which style of voice prompt they should play based on other audio activity in the system.

  • The AVAudioSession.RouteSharingPolicy enumeration is extended to allow apps to specify route sharing policies so their audio and video is routed to the same location as AirPlay.

  • Audio Unit Extensions now support user presets that are available across all host apps.

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.

  • 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.

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)

Deprecations

  • The previously deprecated 32-bit QuickTime framework is no longer available in macOS 10.15.

  • The symbols for QTKit, which relied on the QuickTime framework, are still present but the classes are non-functional.

Books

Resolved Issues

  • Audio books appear correctly after migrating. (50823065)

  • You can consistently import books into your library. (50962112)

  • Locally downloaded cloud items don’t move back to iCloud after upgrading to macOS Catalina beta. (51306790)

  • If the ‘Restrict books with explicit content’ setting is enabled, your purchased books are no longer unexpectedly hidden. (51602141)

  • Books stored in iCloud Drive appear without delay in your Library. (51435740, 50776390)

Camera

Known Issues

Console

Resolved Issues

  • Applying a filter to console messages consistently succeeds. (51524242)

Core Image

New Features

  • The init(imageURL:options:) and init(imageData:options:) initializers no longer support RAW decoder versions earlier than 6. 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 now support arguments with arbitrarily structured data.

  • Metal CIKernel instances now support returning a group of two by two pixels.

  • The integer values of CIFormat symbols, such as ARGB8, have changed to a new set of values which 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

  • You no longer see unexpected results when creating 10-bit HEVC video content. (50322535)

Device Management

Resolved Issues

  • Sending a Volume Purchase Program download request to a client from a Mobile Device Management server might cause an authorization dialog to appear on the client. (49376544)

DriverKit

Known Issues

  • DriverKit drivers don’t build in macOS Catalina beta 4. Continue using beta 3 for DriverKit development. (52858797)

Resolved Issues

  • The Filter Packet network extension type and NWEthernetChannel API now work with network interface drivers implemented using DriverKit. (48709552)

EndpointSecurity

Known Issues

  • High frequency AUTH events such as ES_EVENT_TYPE_AUTH_READLINK triggered by logd might cause the client to become unresponsive. (52211117)

  • The es_mute_process(_:_:) interface doesn't mute processes. (53017708)

  • es_copy_message(_:) isn’t functional. (53013028)

Resolved Issues

  • Your Mac starts correctly when an EndpointSecurity extension that contains the NSEndpointSecurityEarlyBoot key is installed and then uninstalled. (52010655)

  • The exec and open events are cached and invalidated correctly when the file is manipulated. (45497117)

  • The cache flag for es_respond_auth_result(_:_:_:_:) and es_respond_flags_result(_:_:_:_:) is no longer ignored. (49071387)

  • EndpointSecurity system extensions have access to early boot events. (49487645)

  • The original_ppid field of es_process_t is set properly. (50746916)

Deprecations

  • The kauth API will be removed in a future release. (50419013)

FileVault

Resolved Issues

  • Password reset for FileVault volumes from macOS Recovery functions as expected. (50455695)

Final Cut Pro

Resolved Issues

  • You can consistently access content from your Photos library. (51600540)

Finder

Resolved Issues

  • Finder no longer quits unexpectedly when you try to restore using the Time Machine interface. (49398715)

  • Files can be copied from and deleted on an iOS device using the Files tab in Finder. (48649759)

  • You can now download folders from iCloud properly. (50855741)

  • When iCloud Desktop is enabled, attempting to drag a volume mounted on the desktop no longer results in the volume being copied to the Desktop. (51187890)

iCloud

Known Issues

  • If you’re using iCloud Desktop and Documents and documents saved to your Desktop aren’t appearing, turn iCloud Drive off and then on again. (51569326, 52731989)

  • The Cloud Files section in About This Mac > Storage > Manage might inaccurately represent the current state of files on your Mac. (50362095)

  • Even when Optimize Storage is switched off, iCloud Drive might fail to automatically download all files. (50667204)

    Workaround: Download files individually.

  • 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.

Resolved Issues

  • All of your iCloud Drive data is consistently present after upgrading to macOS Catalina beta. (51787170, 51950018)

  • Documents download correctly in iCloud Drive. (52295165)

  • There are no longer multiple empty Application libraries within iCloud Drive. You can safely remove any empty folders. (51635803)

  • The content of folders inside an iCloud Shared Folder is available to other users viewing your shared folder. (51591135)

  • Turning off the Siri switch in iCloud settings correctly stops Significant Locations from syncing. (50908297)

  • Pages, Numbers, and Keynote documents in shared folders correctly show an error message when you try to access them from iCloud.com. (50738067)

iWork

Known Issues

  • Attempting to open iWork documents in Finder will unexpectedly create a .cpgz file if the corresponding iWork app isn’t installed. (40693892)

    Workaround: Install the corresponding app from the App Store before opening the document.

Localization

Known Issues

  • Certain languages might exhibit clipped or misaligned layout. (51068688,50983852)

  • Certain languages might display unlocalized text. (47765173,51196633)

Mac Catalyst

Known Issues

  • MPMediaPickerController might not display the contents of your library. (51785735)

  • AppKit and Mac Catalyst apps are currently view-only clients of PencilKit. (51146823)

  • In order to show a share sheet from a toolbar item using the UIActivityViewController, create the NSToolbarItem using the init(itemIdentifier:) initializer and pass it a UIBarButtonItem configured as a UIBarButtonItem.SystemItem.action. There is no need to set the barButtonItem property. (47292316)

  • The UIScreen class’s isCaptured API isn’t currently supported. (48360589)

  • The current property on UIDevice and the OS Product Name is currently returned as iOS rather than macOS, which can affect diagnostic logs generated by your system. (49792004)

  • Event handling in extension contexts may produce unexpected results, including failure to deliver trackpad pinch and zoom gestures. (50145462)

  • When sending Mail attachments via MessageUI, each attachment might appear as two icons when viewed by the recipient. (50369995)

  • Controls drawn with accent color incorrectly maintain their active color when the window is inactive. There is no need to work around this in your app. (50563638)

  • The UIKit module currently doesn’t import the newly added NSToolbar and NSTouchBar headers, NSToolbar+UIKitAdditions.h and NSTouchBar+UIKitAdditions.h. You can import these headers directly in Objective-C, or you can create a bridging header to import them for Swift. Be sure to import Foundation before importing these headers. (50704322)

  • When your Mac Catalyst app is launched directly into the background, it experiences all the state transitions of a regular app launch — such as application(_:didFinishLaunchingWithOptions:) and applicationDidBecomeActive(_:) — followed by state transitions to return to background state from there — applicationWillResignActive(_:) and applicationDidEnterBackground(_:). This will soon be updated to match iOS, where your app will receive only applicationDidFinishLaunching(_:), and only if it wasn’t already running. (50742219)

  • For Mac Catalyst apps to save to Photos Library, explicitly linking the Photos framework is required. (50781430)

  • Opening a CloudKit share URL might not launch a Mac Catalyst app that’s present on the system. Additionally, the system might not take the user to the appropriate App Store page to download an app which isn’t present on the system. (50877241)

  • Action and share extensions might exhibit visual anomalies. (51005363)

  • All assets at 3x scale factor are currently ignored when compiling the asset catalog for Mac Catalyst apps. Because the search begins with the universal asset, assets for a specific memory or graphics class won’t be found. For example, if you provide an image and only give a 6GB and Metal 5v1 asset, it won’t be found at runtime. It’s recommended that you provide all images as vectors to allow generation of the correct scale factors, or at minimum provide 2x versions of the assets. If you’re classifying resources based on memory and graphics families then you should provide "Any Memory" and "Any Graphics”. (51033745)

  • CallKit CXAction instances might return an error. (51074735)

  • When creating a Mac Catalyst app from your iPad app, Xcode automatically generates a unique Mac bundle identifier. If you have an existing Mac bundle identifier you’d prefer to use, you can do so by using manual signing in Xcode. (51076014)

    Follow these steps to configure your project, AppID, and provisioning profile:

  1. Sign in to Apple Developer, then select Certificates, Identifiers, and Profiles.

  2. In the Identifiers section, select your iOS app identifier to edit.

  3. Check the Mac Catalyst capability to enable it, then click the Configure button.

  4. Choose Use an existing macOS AppID and select the identifier you'd like to use from the popup menu. Click the Save button to finish editing your AppID.

  5. In the Profiles section, click the + button to create a new profile, select ‘macOS App Development’, and click Continue.

  6. Select your iOS AppID from the popup, click Continue, and complete the rest of the profile creation flow. When finished, click the Download button.

  7. In Xcode, select your project to view the Project Editor and select your app’s target. Then select the Build Settings tab.

  8. Set the Derive Mac Catalyst Product Bundle Identifier setting to No.

  9. Expand the Product Bundle Identifier build setting to view its configurations. Next to the Debug configuration, click the + button to add a conditional value.

  10. For the build setting condition, select Any macOS from the popup menu. Edit the value of the conditional build setting to match the macOS bundle identifier you want to use. Repeat this step for all configurations in your project.

  11. In the Signing & Capabilities tab, uncheck Automatically manage signing.

  12. For your macOS app, select Import Profile from the Provisioning Profile popup and then select the profile you downloaded earlier.

Resolved Issues

  • Apps no longer launch in the foreground without user input if the app uses APIs that might result in a background launch. (51287556)

  • The UIGraphicsRenderer class’s default() function no longer returns the nonextended color range renderer format by default. (51303954)

  • The UIDevice class’s name properly reports itself in Mac Catalyst apps. (51304085, 49792004)

  • You can now import AppKit and UIKit modules in the same compilation unit. (48094910)

  • The completion handler is no longer invoked with an error when donating interactions using the INInteraction class on macOS. (48371526)

  • The productsRequest(_:didReceive:) method from StoreKit currently returns with didFailWithError and products aren’t loaded. (51028870)

  • MTKView objects might render correctly. (51084042)

Mail

Known Issues

  • If your Mac contains both macOS Mojave 10.14 and macOS 10.15 volumes, you might experience issues searching in Mail. (46611310)

    Workaround: While running macOS Mojave 10.14, open Terminal and execute the following command:

    sudo touch /.metadata_never_index_unless_rootfs
    

    Reboot into macOS 10.15, open Terminal and execute the following command:

    sudo touch /System/Volumes/Data/.metadata_never_index_unless_rootfs
    

    Reboot into macOS Mojave 10.14, open Terminal and execute the following command:

    sudo mdutil -E /
    

    Depending on the size of your Mail database, it might take many hours to reindex all content.

Music

Known Issues

  • Navigating using the back button might produce unexpected results. (51248128)

  • You might be unable to scroll content on shelves. (51248128)

  • Artwork changes might not immediately appear; playlists will be added in an upcoming beta. (51201715)

  • Music might not remember the previously selected tab when it’s relaunched. (50922604)

Resolved Issues

  • Music launches at the expected speed. (51207753)

  • You can log into the store regardless of whether you're logging in from the country in which you’re currently located. (51105585)

Networking

New Features

Known Issues

  • The NWEthernetChannel API doesn’t currently support VLAN interfaces. NEPacketTunnelProvider will see both tagged and untagged frames arriving on physical interfaces. Depending on the Ethernet driver, VLAN tags might be processed by hardware and thus stripped off the Ethernet frames thus NEPacketTunnelProvider won’t see the VLAN tag. (51275655)

Resolved Issues

  • An active Network Extension content filter configuration no longer interrupts the boot process indefinitely following a kernel panic. (50965627)

Deprecations

  • Support for FTP and File URL schemes for Proxy Automatic Configuration (PAC) is removed. 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, URLSession APIs such as connectionProxyDictionary, and CFNetworkExecuteProxyAutoConfigurationURL(_:_:_:_:). (28578280)

  • SPDY support is removed from the URLSession and NSURLConnection APIs. Servers should use HTTP 2 or HTTP 1.1. (43391641)

  • The Network Kernel Extension API is now deprecated. (49284108)

  • NetBIOS is disabled in macOS 10.15 to speed up mounting, browsing, and connecting to SMB shares. Some older printers and file servers may require NetBIOS to connect. (51119111)

    To enable NetBIOS, you can create or edit the /etc/nsmb.conf file. If your system doesn't already have an /etc/nsmb.conf file, use the following Terminal commands while logged in as an Administrator:

    echo "[default]" | sudo tee -a /etc/nsmb.conf
    echo "port445=both" | sudo tee -a /etc/nsmb.conf
    

    To disable NetBIOS, you can safely delete the /etc/nsmb.conf file.

Photos

New Features

  • To improve the Photos upgrade experience, Photos is testing database upgrades using a clone of the Photo Library. This clone doesn’t include the content of each photo, but does include faces metadata and a thumbnail image of each person in your library. It also contains metadata such as the asset name and the geographic location of the photo. It is created at ~/Pictures/macOS 10.15 Pre-Upgrade Backup, and you can manually remove this backup at any time. The clone will be removed automatically before the final release of macOS 10.15. (51033690)

Podcasts

Known Issues

  • The sidebar might render unexpectedly until quitting and relaunching the app. (51340728)

  • Deleting podcasts using About This Mac > Storage > Manage doesn’t update what’s shown in the Podcasts app until it’s relaunched. (50354510)

  • Setting “Automatically Download Episodes” to “Never” might not take effect. (50960777)

  • Manually checking for feed updates when Option-clicking the Podcasts app in the dock isn’t currently available. (50958585)

    Workaround: Quit and relaunch the app.

  • If Podcasts is placed in Full Screen mode, some UI elements might be obscured by the toolbar. (47125303)

Resolved Issues

  • Writing a review behaves as expected. (46173722)

  • Browse and Top Charts consistently display content from the expected country. (51681853)

  • A migration is no longer triggered even if there’s no content to migrate the first time you launch Podcasts. (51145044)

Privacy

Known Issues

  • Apps that previously asked for access to services in the System Preferences > Security & Privacy > Privacy pane might ask for approval again after updating to macOS Catalina beta 4. (51312574)

Quartz Composer

Deprecations

  • Starting in macOS 10.15, the Quartz Composer framework is deprecated and remains present for compatibility purposes. Transition to frameworks such as Core Image, SceneKit, or Metal. (50911608)

Screen Sharing

Resolved Issues

  • If the Mac you’re screen sharing with is running macOS 10.15 beta, you can now drag and drop onto the screen share. (50791710)

Screen Time

Known Issues

  • Users can click ‘One more minute’ multiple times per day instead of only once each time they reach a limit for that app. (48773803)

  • Screen Time > Content & Privacy > Content > Web Content > Allowed Websites Only isn’t currently enforced in macOS 10.15 beta. (50462899)

Scripting Language Runtimes

Deprecations

  • Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202)

  • Use of Python 2.7 isn’t recommended as this version is included in macOS for compatibility with legacy software. Future versions of macOS won’t include Python 2.7. Instead, it’s recommended that you run python3 from within Terminal. (51097165)

Security

Known Issues

  • Opening some .dmg files signed before June 1, 2019 using a Developer ID might incorrectly display an error message. All .dmg files signed using a Developer ID after June 1, 2019 must be notarized. For more information about notarization, see Notarizing Your App Before Distribution. (52234399)

    Workaround: Control-click the .dmg file in Finder and choose Open.

Spotlight

Known Issues

  • Mail messages might not display previews. (35678035)

Resolved Issues

  • Drives formatted using exFAT and FAT are searchable using Spotlight. (52271781)

SwiftUI

New Features

Known Issues

  • Using Xcode 11 beta 3 with macOS Catalina beta 4 prevents previews from working. Update to Xcode 11 beta 4 to use previews. (52082331)

  • 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)

Resolved Issues

  • View modifier methods return opaque views (some View) rather than complex generic types. (46140669)

  • ScrollView instances always size themselves as expected for their content. (49204262)

  • The tabItemLabel(_:) modifier — now named tabItem(_:) — now accepts @ViewBuilder closures. (51502668)

Deprecations

SystemExtensions

Resolved Issues

  • Approving system extensions using Mobile Device Management is now available. (50553712)

  • Upgrading system extension versions is now supported. (48943883)

Voice Memos

Resolved Issues

  • Location-based naming is now available. (48048663, 50743045)

  • Voice Memos synced from iCloud might not finish downloading. (49512619)

  • The File menu might be unexpectedly empty. (51475831)

Xcode

Resolved Issues

  • Swift interfaces for several new URLSession APIs are now available. (50517967)

Deprecations

  • Command line tool support for Subversion — including svn, git-svn, and related commands — is no longer provided by Xcode. If you need Subversion or related command line tools, install the Command Line Tools package by running xcode-select --install. (50266910)