<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NaturalLanguage",
  "identifier" : "/documentation/NaturalLanguage/NLTagger/requestAssets(for:tagScheme:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Natural Language"
    ],
    "preciseIdentifier" : "c:objc(cs)NLTagger(cm)requestAssetsForLanguage:tagScheme:completionHandler:"
  },
  "title" : "requestAssets(for:tagScheme:completionHandler:)"
}
-->

# requestAssets(for:tagScheme:completionHandler:)

Asks the Natural Language framework to load any missing assets for a tag scheme onto the device for the given language.

```
class func requestAssets(for language: NLLanguage, tagScheme: NLTagScheme, completionHandler: @escaping @Sendable (NLTagger.AssetsResult, (any Error)?) -> Void)
```

## Parameters

`language`

The language of the tag scheme that you’re asking the framework to load onto the device.

`tagScheme`

The tag scheme that you’re asking the framework to load onto the device.

`completionHandler`

A closure the framework uses to notify your app when the tag scheme request has completed.

## Discussion

> Important:
> You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration:
> 
> ```swift
> class func requestAssets(for language: NLLanguage, tagScheme: NLTagScheme) async throws -> NLTagger.AssetsResult
> ```
> 
> For information about concurrency and asynchronous code in Swift, see <doc://com.apple.documentation/documentation/Swift/calling-objective-c-apis-asynchronously>.

Before using this method, use [`availableTagSchemes(for:language:)`](/documentation/NaturalLanguage/NLTagger/availableTagSchemes(for:language:)) to check whether a tag scheme is available on the device. When a tag scheme is unavailable for a specific language, it may be because the framework hasn’t loaded the support for that language.

Use this method to ask the [`Natural Language`](/documentation/NaturalLanguage) framework to load any missing assets for that tag scheme. This method returns immediately but the framework may need time to complete the request. When the framework completes the request, it notifies your app with the `completionHandler` you provided to the method. In your completion handler, use the `result` parameter to check whether the tag scheme is now available.

The [`Natural Language`](/documentation/NaturalLanguage) framework may call your `completionHandler` immediately if it knows the state of the tag scheme’s assets or if it experiences an error.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)