---
title: applinks.Details.Components
framework: bundleresources
role: symbol
role_heading: Object
path: bundleresources/applinks/details-swift.dictionary/components-swift.dictionary
---

# applinks.Details.Components

Patterns that define the universal links an app can open.

## Declaration

```swift
object applinks.Details.Components
```

## Properties

#: /: ?: caseSensitive: comment: exclude: percentEncoded:

## Discussion

Discussion Use this object to define whether an associated app can open specific URLs in this domain as universal links. The object optionally contains any of these keys: The order that you use to specify the patterns in the array determines the order the system follows when looking for a match. The first match wins, allowing you to designate one app to handle specified URLs in your website, and another app to handle the rest. You can also use the following wildcards in your URL pattern-matching definitions: * — Matches zero or more characters. This performs a greedy match and matches as many characters as possible. ? — Matches any single character. In addition, you can use ?* to match one or more characters (that is, at least one character). A match occurs when a URL matches all the components that a components object specifies. The following example code matches all URLs with a path of abc and a query of def. {   "/": "abc",   "?": "def",   "#": "*" } The URL https://www.example.com/abc?def matches with the above code, but https://www.example.com/abc and https://www.example.com?def don’t. The fragment part of the code matches everything, so the system ignores it. This example code shows another components object in an association file: {   "/": "/help/website/*",   "exclude": true,   "comment": "Matches any URL whose path starts with /help/website/ and instructs the system not to open it as a universal link" }

## Topics

### Query dictionaries

- [applinks.Details.Components.Query](bundleresources/applinks/details-swift.dictionary/components-swift.dictionary/query.md)
