-
Notifications
You must be signed in to change notification settings - Fork 575
BackgroundAssets iOS xcode27.0 b3
Alex Soto edited this page Jul 7, 2026
·
2 revisions
#BackgroundAssets.framework
diff -ruN /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManager.h /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManager.h
--- /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManager.h 2026-06-13 20:48:39
+++ /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManager.h 2026-06-26 02:16:22
@@ -87,21 +87,23 @@
API_AVAILABLE(ios(26.4), macos(26.4), tvos(26.4), visionos(26.4))
NS_SWIFT_NAME(assetPackIsAvailableLocally(withID:));
-/// Gets the languages asset packs that are localized for which are available locally.
+/// Gets the languages used by asset packs that are localized and are available locally.
/// - Parameter completionHandler: A block that receives an array of BCP-47 language identifiers.
- (void)getLocallyAvailableLanguagesWithCompletionHandler:(void (^)(NSArray<NSString*>* languageIdentifiers))completionHandler
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27));
-/// Reconciles the set of locally available asset packs with the user’s preferred languages.
+/// Reconciles the set of locally available asset packs with the current preferred languages.
///
-/// This method downloads any missing localized asset packs, waits for those downloads to finish, and removes any unneeded ones. If you’ve overridden the preferred languages, then this method will respect that. Don’t use this method if your application offers split-language functionality; instead, you’ll need to handle the reconciliation manually.
+/// This method downloads any missing localized asset packs, waits for those downloads to finish, and removes any unneeded ones. If you’ve overridden the preferred languages by setting ``resolvedLanguage``, then this method respects that selection. Don’t use this method if your application offers split-language functionality; instead, handle the reconciliation manually.
/// - Parameter completionHandler: A block that’s called when the the system has successfully reconciled the set of locally available asset packs with the user’s preferred languages or that receives an error if one occurs.
- (void)reconcilePreferredLanguagesWithCompletionHandler:(void (^)(NSError* _Nullable error))completionHandler
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27));
-/// Ensures that the specified asset pack be available locally.
+/// Ensures that the specified asset pack is available locally, performing a download if necessary.
///
-/// This method checks whether the asset pack is currently downloaded. If it isn’t, then the system schedules it to be downloaded and calls the completion handler with `nil` for the the completion handler’s `error` parameter when the download finishes. It’s guaranteed that the requested asset pack will be available locally once the completion handler is called with `nil` for the `error` parameter. If a non-`nil` value is provided to the completion handler’s `error` parameter, then the asset pack is **not** guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+/// This method checks whether the asset pack is currently downloaded. If it isn’t, then the system schedules it to be downloaded and calls the completion handler with `nil` for the the completion handler’s `error` parameter when the download finishes. The framework guarantees that the requested asset pack is available locally after this method calls the completion handler with `nil` for the `error` parameter. If this method calls the completion handler with a non-`nil` value for `error`, then the asset pack _isn’t_ guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+///
+/// To download multiple asset packs at the same time, use ``ensureLocalAvailabilityOfAssetPacks:completionHandler:``.
/// - Parameters:
/// - assetPack: The asset pack the local availability of which to ensure.
/// - completionHandler: A block that’s called when the asset pack is available locally or that receives an error if one occurs.
@@ -109,9 +111,11 @@
- (void)ensureLocalAvailabilityOfAssetPack:(BAAssetPack*)assetPack
completionHandler:(void (^)(NSError* _Nullable error))completionHandler;
-/// Ensures that the specified asset pack be available locally.
+/// Ensures that the specified asset pack is available locally, performing a download if necessary.
///
-/// This method checks whether the asset pack is currently downloaded. If it isn’t, then the system schedules it to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when the download finishes. It’s guaranteed that the requested asset pack will be available locally once the completion handler is called with `nil` for the `error` parameter. If a non-`nil` value is provided to the completion handler’s `error` parameter, then the asset pack is **not** guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+/// This method checks whether the asset pack is currently downloaded. If it isn’t, then the system schedules it to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when the download finishes. The framework guarantees that the requested asset pack is available locally after this method calls the completion handler with `nil` for the `error` parameter. If this method calls the completion handler with a non-`nil` value for `error`, then the asset pack _isn’t_ guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+///
+/// To download multiple asset packs at the same time, use ``ensureLocalAvailabilityOfAssetPack:requireLatestVersion:completionHandler:``.
/// - Parameters:
/// - assetPack: The asset pack the local availability of which to ensure.
/// - shouldUpdate: Whether to require that the latest version be available locally. When `YES` is passed to this parameter, the method will wait for the update (if there indeed is one available) to be downloaded before returning. When `NO` is passed, the method won’t check for updates and won’t attempt to download any.
@@ -121,9 +125,9 @@
completionHandler:(void (^)(NSError* _Nullable error))completionHandler
API_AVAILABLE(ios(26.4), macos(26.4), tvos(26.4), visionos(26.4));
-/// Ensures that the specified asset packs be available locally.
+/// Ensures that the specified asset packs are available locally.
///
-/// This method checks whether the asset packs are currently downloaded. If any aren’t, then the system schedules them to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when all of the downloads finish. It’s guaranteed that the requested asset packs will be available locally once the completion handler is called with `nil` for the `error` parameter. If a non-`nil` value is provided to the completion handler’s `error` parameter, then the asset packs are **not** all guaranteed to be available locally, though some might be; inspect the thrown error for more details. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+/// This method checks whether the asset packs are currently downloaded. If any aren’t, then the system schedules them to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when all of the downloads finish. The framework guarantees that the requested asset packs are available locally after this method calls the completion handler with `nil` for the `error` parameter. If this method calls the completion handler with a non-`nil` value for `error`, then the asset packs _aren’t_ all guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
/// - Parameters:
/// - assetPacks: The asset packs the local availability of which to ensure.
/// - completionHandler: A block that’s called when the asset packs are all available locally or that receives an error if one occurs.
@@ -132,9 +136,9 @@
completionHandler:(void (^)(NSError* _Nullable error))completionHandler
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27));
-/// Ensures that the specified asset packs be available locally.
+/// Ensures that the specified asset packs are available locally, performing a batch download if necessary.
///
-/// This method checks whether the asset packs are currently downloaded. If any aren’t, then the system schedules them to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when all of the downloads finish. It’s guaranteed that the requested asset packs will be available locally once the completion handler is called with `nil` for the `error` parameter. If a non-`nil` value is provided to the completion handler’s `error` parameter, then the asset packs are **not** all guaranteed to be available locally, though some might be; inspect the thrown error for more details. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
+/// This method checks whether the asset packs are currently downloaded. If any aren’t, then the system schedules them to be downloaded and calls the completion handler with `nil` for the completion handler’s `error` parameter when all of the downloads finish. The framework guarantees that the requested asset packs are available locally after this method calls the completion handler with `nil` for the `error` parameter. If this method calls the completion handler with a non-`nil` value for `error`, then the asset packs _aren’t_ all guaranteed to be available locally. You can optionally monitor download progress by attaching a delegate object to ``BAAssetPackManager/delegate``.
/// - Parameters:
/// - assetPacks: The asset packs the local availability of which to ensure.
/// - shouldUpdate: Whether to require that the respective latest versions be available locally. When `YES` is passed to this parameter, the method will wait for the updates (if there indeed are any available) to be downloaded before returning. When `NO` is passed, the method won’t check for updates and won’t attempt to download any.
@@ -171,7 +175,7 @@
/// - Note: Language matching considers implicit script and region tags per Unicode’s Common Locale Data Repository. For example, `en` is equivalent to `en-US` and `en-Latn-US` but not `en-CA`.
/// - Parameters:
/// - path: The relative path.
-/// - language: The language in asset packs that are localized for which to search, represented as a BCP-47 identifier.
+/// - languageIdentifier: The language, represented as a BCP-47 identifier, that the framework uses to limit the search within localized asset packs.
/// - options: Options for how to read the file’s contents into a data object.
/// - error: A pointer to an error that will be set if an error occurs. If no file is found at `path`, then `error` will point to an `NSError` object with ``BAManagedErrorCode/BAManagedErrorCodeFileNotFound`` as its code.
/// - Returns: The file’s contents or `nil` if an error occurred.
@@ -206,7 +210,7 @@
/// - Note: Language matching considers implicit script and region tags per Unicode’s Common Locale Data Repository. For example, `en` is equivalent to `en-US` and `en-Latn-US` but not `en-CA`.
/// - Parameters:
/// - path: The relative path
-/// - languageIdentifier: The language in asset packs that are localized for which to search, represented as a BCP-47 identifier.
+/// - languageIdentifier: The language, represented as a BCP-47 identifier, that the framework uses to limit the search within localized asset packs.
/// - error: A pointer to an error that will be set if an error occurs. If no file is found at `path`, then it will point to an `NSError` object with ``BAManagedErrorCode/BAManagedErrorCodeFileNotFound`` as its code.
/// - Returns: A descriptor for the opened file. A return value of `-1` indicates that an error occurred.
/// - Remark: Use this method if you need low-level access to the file descriptor. If you don’t, then use ``BAAssetPackManager/contentsAtPath:asLocalizedForLanguage:options:error:`` instead.
@@ -241,7 +245,7 @@
/// - Note: Language matching considers implicit script and region tags per Unicode’s Common Locale Data Repository. For example, `en` is equivalent to `en-US` and `en-Latn-US` but not `en-CA`.
/// - Parameters:
/// - path: The relative path.
-/// - languageIdentifier: The language in asset packs that are localized for which to search, represented as a BCP-47 identifier.
+/// - languageIdentifier: The language, represented as a BCP-47 identifier, that the framework uses to limit the search within localized asset packs.
/// - error: A pointer to an error that will be set if an error occurs.
/// - Returns: The URL to the item or `nil` if an error occurred.
- (nullable NSURL*)URLForPath:(NSString *)path
diff -ruN /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManifest.h /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManifest.h
--- /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManifest.h 2026-06-13 19:54:13
+++ /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAAssetPackManifest.h 2026-06-26 02:16:21
@@ -21,7 +21,7 @@
/// The application’s primary language, represented as a BCP-47 identifier, as configured in App Store Connect.
///
-/// If no available localized asset packs match the user’s preferred languages, then the system will fall back on the application’s primary language.
+/// If no available localized asset packs match the current preferred languages, the system falls back on the application’s primary language.
@property (nullable, readonly, copy) NSString* primaryLanguage
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27))
NS_SWIFT_NAME(primaryLanguageID);
@@ -33,12 +33,12 @@
/// The language, represented as a BCP-47 identifier, asset packs in this manifest that are localized for which the system automatically makes available locally.
///
-/// The user’s preferred languages inform the choice of resolved language, respecting any language that your application sets manually via ``BAAssetPackManager/resolvedLanguage``. This property may be `nil` if no localized asset packs are available. If the user recently changed their preferred language or if this manifest is outdated, then this property’s value may be out of sync with the set of asset packs that are available locally.
+/// The user’s preferred languages inform the choice of resolved language, respecting any language that your application sets manually by setting ``BAAssetPackManager/resolvedLanguage``. This property may be `nil` if no localized asset packs are available. If the user recently changed their preferred language or if this manifest is outdated, this property’s value may be out of sync with the set of asset packs available locally.
@property (nullable, readonly, copy) NSString* resolvedLanguage
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27))
NS_SWIFT_NAME(resolvedLanguageID);
-/// The subset of asset packs in this manifest that best match the user’s preferred languages.
+/// The subset of asset packs in this manifest that best match the current preferred languages.
@property (readonly, copy) NSSet<BAAssetPack*>* localizedAssetPacks
API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27));
diff -ruN /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAError.h /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAError.h
--- /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAError.h 2026-06-13 20:16:20
+++ /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BAError.h 2026-06-26 03:09:15
@@ -33,7 +33,7 @@
/// @constant BAErrorCodeDownloadFailedToStart The requested download failed to start.
/// @constant BAErrorCodeDownloadAlreadyFailed The requested download has failed.
/// @constant BAErrorCodeDownloadEssentialDownloadNotPermitted The requested download could not be enqueued because the download is marked as essential, which is prohibited in this context.
-/// @constant BAErrorCodeDownloadBackgroundActivityProhibited The requested download could not be enqueued. Check the device‘s Low Power Mode or Background App Refresh settings.
+/// @constant BAErrorCodeDownloadBackgroundActivityProhibited The requested download could not be enqueued. Check the device’s Low Power Mode or Background App Refresh settings.
/// @constant BAErrorCodeDownloadWouldExceedAllowance The requested download cannot be enqueued. The download would exceed the download allowance.
/// @constant BAErrorCodeDownloadDoesNotExist The operation for a download cannot be performed because that BADownload object does not exist.
/// @constant BAErrorCodeSessionDownloadDisallowedByDomain The requested URL is not permitted to be downloaded until the application is launched.
diff -ruN /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BATypes.h /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BATypes.h
--- /Applications/Xcode_27.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BATypes.h 2026-06-13 20:16:20
+++ /Applications/Xcode_27.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/BackgroundAssets.framework/Headers/BATypes.h 2026-06-26 03:09:15
@@ -11,15 +11,15 @@
NS_ASSUME_NONNULL_BEGIN
-/// @abstract The content request type used in the BADownloaderExtension.
-/// @constant BAContentRequestInstall Content is being requested because the application was installed.
-/// @constant BAContentRequestUpdate Content is being requested because the application was updated.
-/// @constant BAContentRequestPeriodic Content is being requested because the system is asking for updated content for your application.
-/// @constant BAContentRequestLanguageChange Content is being requested because the user changed their preferred language for your application.
+/// A type that indicates the purpose of a content download request.
typedef NS_ENUM(NSInteger, BAContentRequest) {
+ /// A content request resulting from the installation of the app.
BAContentRequestInstall = 1,
+ /// A content request resulting from an update of the app.
BAContentRequestUpdate,
+ /// A content request resulting from a system request for updated content within the app.
BAContentRequestPeriodic,
+ /// A content request resulting from someone changing the app's preferred language.
BAContentRequestLanguageChange API_AVAILABLE(ios(27), macos(27), tvos(27), visionos(27))
} API_AVAILABLE(ios(16.1), macos(13), tvos(18.4), visionos(2.4)) API_UNAVAILABLE(watchos);