Settings Scopes¶
Various signing settings and configuration settings can be scoped to a specific path or pattern. This is accomplished using a mini language/syntax, which is described by this document.
A scoping string is syntax that denotes a path or entity to apply a setting to.
The following scoping string syntax is defined:
<string>
e.g.
path/to.file
. Applies to content at a given path.This is probably the most common scoping syntax.
The string is a bundle-relative path to a signable entity (a Mach-O binary, a nested bundle, etc). e.g.
Contents/MacOS/extra-bin
.If the path belongs to a nested bundle, settings with this scope will apply to all signable entities in the bundle.
main
Applies to the main entity being signed and to nested/children entities.
@<integer>
e.g.
@0
or@1
. Applies to Mach-O binaries within a universal/fat binary at the specified index.0
means the first Mach-O in a universal binary.@[cpu_type=<integer>]
e.g.
@[cpu_type=7]
. Applies to a Mach-O within a universal binary targeting a numbered CPU architecture, using the numeric constants as defined by Mach-O.@[cpu_type=<string>]
e.g.
@[cpu_type=x86_64]
. Applies to a Mach-O within a universal binary targeting a CPU architecture identified by a string. See below for the set of recognized architecture names.<string>@<integer>
<string>@[cpu_type=<integer|string>]
These syntax are an extension of the
<string>
and various@*
syntax above. They allow you to target a specified Mach-O binary within a universal Mach-O at a given path.Like the
<string>
syntax, if the path matches a bundle, the setting applies to all Mach-O binaries in that bundle.
Architecture Names¶
arm
arm64
arm64_32
x86_64