On Demand Resources Is Deprecated: What Background Assets Costs

Apple retired a decade-old content delivery system in 13 words: “On Demand Resources and the NSBundleResourceRequest API are deprecated. Use Background Assets instead.”1

That sentence is the complete entry. It carries radar 170066290, sits under Deprecations, and repeats verbatim in three separate release notes.123 Apple published no removal version, no migration guide keyed to the deprecation, and no companion note in the macOS or watchOS release notes.

The work hides in the last four words. Background Assets is not one thing. It forks into three configurations with different hosting models, different minimum deployment targets, and migration costs separated by roughly an order of magnitude. The choice happens before you write a line of code, and picking wrong is the expensive mistake.

TL;DR

  • Apple deprecated On Demand Resources and NSBundleResourceRequest in the iOS and iPadOS 27, tvOS 27, and visionOS 27 release notes.123 ODR keeps working. Apple named no removal date, and the deprecated APIs still ship and still resolve tags.
  • The API’s own availability data deprecates it on six platforms, two more than any release note mentions: Mac Catalyst and watchOS.4 Background Assets publishes no watchOS availability at all, so watchOS receives a deprecation with no documented replacement.56
  • “Use Background Assets instead” forks three ways: managed with Apple hosting, managed with your own hosting, and unmanaged. Both managed paths require iOS 26.0 as a minimum deployment target.78 Below 26.0 only the unmanaged path is open, and it requires you to host the files, invent the manifest format, and parse it yourself.9
  • Disk management inverts. ODR let the system purge unused tagged resources and took setPreservationPriority(_:forTags:) as a hint about ordering.410 Background Assets keeps every downloaded pack on device until your code calls remove(assetPackWithID:).11
  • Apple hosts up to 200 GB of compressed asset packs and up to 200 packs per app record, shared across every…
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论