Configuration
The generated Swift module can be configured using a uniffi.toml
configuration file.
Available options
The configurations prefixed with experimental_
should be regarded as unstable and
more likely to change than other configurations.
Configuration name | Default | Description |
---|---|---|
cdylib_name |
uniffi_{namespace} [^1] |
The name of the compiled Rust library containing the FFI implementation (not needed when using generate --library ). |
module_name |
{namespace} [^1] |
The name of the Swift module containing the high-level foreign-language bindings. |
ffi_module_name |
{module_name}FFI |
The name of the lower-level C module containing the FFI declarations. |
ffi_module_filename |
{ffi_module_name} |
The filename stem for the lower-level C module containing the FFI declarations. |
generate_module_map |
true |
Whether to generate a .modulemap file for the lower-level C module with FFI declarations. |
omit_argument_labels |
false |
Whether to omit argument labels in Swift function definitions. |
generate_immutable_records |
false |
Whether to generate records with immutable fields (let instead of var ). |
experimental_sendable_value_types |
false |
Whether to mark value types as `Sendable'. |
custom_types |
A map which controls how custom types are exposed to Swift. See the custom types section of the manual |
[^1]: namespace
is the top-level namespace from your UDL file.
Example
[bindings.swift]
cdylib_name = "mycrate_ffi"
omit_argument_labels = true