Apple Seeds iPadOS & iOS 18 Beta 4

Apple Seeds iPadOS & iOS 18 Beta 4

Apple has seeded the next beta version of iPadOS & iOS 18: beta 4. Since I'm a developer at heart, I'm going straight to the release notes from Apple and pulling out the new features. If you're running iPadOS/iOS 18 beta and have a bug bugging you, it might be worth searching the release notes specifically for that.

Naturally, these builds are massive. So, I will try and do my best to comb through this!

New features

Apple Cash

  • With Tap to Cash, you can send and receive Apple Cash by holding two iPhones together. An Apple Cash account is required to send and receive payments. Payments will be returned to the sender if the receiver doesnʼt set up an Apple Cash account or verify their personal information within 7 days. For Developer Beta, Tap to Cash payments cannot exceed $250 per transaction. Transaction limits are subject to change, including lowering limits, at any time during the Developer or Public Betas without notice. (128977390)

FaceTime

  • FaceTime in Low Data Mode now uses more data when network conditions are good for improved video call quality. (128408959)

Journaling Suggestions

  • Journaling Suggestions is introducing a set of new features to keep encouraging people to reflect and write about their day-to-day experiences to get the mental wellbeing benefits of Journaling. The API now supports Landscape mode and Reflection prompts. Added support for State of Mind logged on Health or Journal app, Run and mixed Walk/Run sessions performed while carrying a standalone iPhone, Media played by apps that donate to MPNowPlayingInfoCenter, People and Pet names from Photos and enhancements to Trips Suggestions to highlight Countries and States visited. (129029773)

Headphone Accommodations

  • Headphone Accommodations can now be configured on macOS. When user set up Headphone Accommodations with AirPods Pro 2s, user will continue to hear audio adjusted when connected to other audio sources. (130245415)

Maps

  • Introduced Place ID, a unique and persistent identifier. (129071038)
  • Added new resultTypes to MKLocalSearch.Request and additional PointofInterestCategory values. (129073725)
  • Introduced Place Card API to show Maps Place Card UI. (129073922)

Memory Allocation

  • The system memory allocator (malloc(3)) has switched to a new implementation for most allocation sizes. Users might experience exposure of latent memory access bugs due to changes in heap layout, differences in performance for allocation-heavy workloads, and changes in fragmentation. (127493322)

Messages

  • RCS messaging is available on select carriers. (131499640)

RealityKit

  • USD files which use Catmull-Clark subdivision now render using subdivision in RealityKit. Meshes which produce less than 35,000 patches can render using subdivision. This can increase memory consumption and reduce rendering performance. (129016034)
  • Virtual objects now render using the Display P3 color gamut. When using a Drawable Queue connected to a TextureResource with the .color semantic, render using the Display P3 color space. (129017592)

Siri

  • In iOS 18, when an iPhone is connected via Bluetooth to a vehicle without CarPlay, Siri s̓ audio quality can be significantly improved through the new option “Respond over Media Source”. First, users need to enable the setting by going to (with Developer settings enabled) Settings, “Developers” → “Siri in Bluetooth Car testing” → Toggle “Show Audio Output in Settings”. Users then will be able to use this feature by going to Settings “Siri & Search” → “Siri Responses” → “When Connected to Car Bluetooth”. (128692679)

StoreKit

  • The SubscriptionStoreView now supports custom control styles. To create a custom control style, declare a type that conforms to SubscriptionStoreControlStyle and implement makeBody(configuration:) method. (106819454)
  • New standard styles are available for laying out subscription store view controls with a compact height. Use pagedPicker and pagedProminentPicker for a platform appropriate paging effect, or compactPicker to place options in a horizontal stack. For watchOS, the new pagedPicker style is available for laying out SubscriptionStore View controls with a compact height. (110286601)
  • Use types such as SubscriptionOptionGroup and SubscriptionPeriodGroupSet to declare a hierarchical structure for your SubscriptionStoreView. You can use the subscriptionStoreOptionGroupStyle(_:) to choose between presenting groups as a tab view or as navigation links. (110429924) (FB12264937)
  • The subscription status RenewalInfo object now supports new properties renewal Price and currency to indicate the price at which the subscription will renew, and its currency. There is also a new offer property containing the information of the offer that will be applied to the next renewal, if there is any. This includes the offer ID, the offer type, and the payment mode. (114217892)
  • Finished consumables can now be included when using the Transaction APIs. Users can enable this feature by setting SKInAppPurchaseHistoryIncludesConsumables to true in app s̓ Info.plist. (115079880)
  • When configuring the control style for a SubscriptionStoreView, users can specify a placement for the controls using the subscriptionStoreControlStyle(_:placement:) view modifier. For tvOS, by default SubscriptionStoreView will place the controls trailing the marketing content. (115319543)
  • When building an app with Xcode 16, SubscriptionStoreView instances using the picker control style have an updated appearance. Use subscriptionStorePicker ItemBackground(_:in:) to configure a different background color and shape for the picker items. (120558960)
  • Users can now use APIs like monthly or yearly to get common Product.Subscription Period values when comparing subscription periods. (122684230)

SwiftUI

  • Document-based applications linked against iOS 18 now have a new launch screen design. Users can customize the default design by adding a DocumentGroupLaunchScene to the app definition. Users can change the screen title and background, replace action buttons, and add decorative accessory views. Non-document-based apps also can use the new screen via DocumentLaunchView. (119843158)
  • Types conforming to the View protocol, and other similar SwiftUI protocols, are now isolated to the @MainActor by default. SwiftUI s̓ runtime behavior with respect to actor isolation has not changed: SwiftUI views and similar types have always been evaluated on the main actor at runtime; this change improves compile-time diagnostics for potential data-race safety issues. To opt out of the new default main actor isolation and restore the previous default isolation, add the nonisolated keyword to methods and properties as needed, or move the protocol conformance to an extension to opt out the entire type. (120815051)
  • @Entry macro can now be used to simplify declarations of custom Environment Values, FocusedValues, Transaction, and ContainerValues properties. (125568810)

TipKit

  • The new TipGroup API and CloudKitContainer syncing will be made available via an upcoming beta SDK release. (129425412)

Translation

  • Users can translate text and display results in app. See the TranslationSession class, and learn more in the WWDC24 video “Meet the Translation API.” (112844581)
  • Translation now supports translating Hindi in the Translate app, System-wide translation, Safari translation, and the new Translation APIs. (116622913)

Wallet

  • To help prevent fraud, when adding an ID to iPhone, the user might be asked to take a Live Photo instead of, or in addition to, conducting a series of head and facial movements. The Live Photo is evaluated by the device and Apple to help ensure that the photo being submitted is of a live person and that the same live person is submitting the photo. (129338051)

Build Successful

Overall, iPadOS/iOS 18 Beta 4 seems like a run-of-the-mill beta update for developers. It brings a range of minor new features and enhancements that continue to refine and enhance the user experience on Apple devices.