-
Notifications
You must be signed in to change notification settings - Fork 25
nix ios.sh
Taner Sener edited this page Jul 28, 2026
·
1 revision
FFmpegKitNext uses these iOS entrypoints:
- Recommended Nix wrapper:
./nix-ios.sh -p PROFILE [OPTION]... [VAR=VALUE]... - Direct script:
./scripts/start-ios.sh [OPTION]... [VAR=VALUE]...
The build options are the same for both entrypoints. The Nix wrapper also supports -p, --profile and --list-profiles.
By default, the iOS build enables arm64, arm64-mac-catalyst, arm64-simulator, arm64e, x86-64 and x86-64-mac-catalyst. No optional external libraries are enabled by default.
Usage with Nix:
./nix-ios.sh -p xcode26 [OPTION]... [VAR=VALUE]...
Usage without Nix:
./scripts/start-ios.sh [OPTION]... [VAR=VALUE]...
Specify environment variables as VARIABLE=VALUE to override default build options.
| Option | Description |
|---|---|
-h, --help
|
Display help and exit |
-v, --version
|
Display version information and exit |
-d, --debug
|
Build with debug information |
-s, --speed
|
Optimize for speed instead of size |
-f, --force
|
Ignore warnings |
-x, --xcframework
|
Build xcframework bundles instead of framework bundles |
--spm |
Create a local Package.swift next to xcframeworks; requires -x
|
--jobs=N |
Number of jobs to run, default is auto |
--target=version |
Override minimum iOS deployment target, default is 12.1
|
--mac-catalyst-target=version |
Override minimum Mac Catalyst deployment target. Modern Xcode SDKs default to 14.0
|
--no-ffmpeg-kit-protocols |
Disable custom ffkitmem and ffkitstream protocols |
| Option | Description |
|---|---|
-p PROFILE, --profile PROFILE
|
Nix develop profile to use |
--list-profiles |
List local Nix develop profiles |
| Option | Description |
|---|---|
--enable-gpl |
Allow building GPL libraries. Created binaries will be licensed under GPL v3.0 |
| Option | Description |
|---|---|
--disable-arm64 |
Do not build arm64
|
--disable-arm64-mac-catalyst |
Do not build arm64-mac-catalyst
|
--disable-arm64-simulator |
Do not build arm64-simulator
|
--disable-arm64e |
Do not build arm64e
|
--disable-x86-64 |
Do not build x86-64
|
--disable-x86-64-mac-catalyst |
Do not build x86-64-mac-catalyst
|
--enable-ios-audiotoolbox
--enable-ios-avfoundation
--enable-ios-bzip2
--enable-ios-videotoolbox
--enable-ios-zlib
--enable-ios-libiconv
Each option enables the matching external library.
--full
--enable-chromaprint
--enable-dav1d
--enable-fontconfig
--enable-freetype
--enable-fribidi
--enable-gmp
--enable-gnutls
--enable-harfbuzz
--enable-kvazaar
--enable-lame
--enable-libaom
--enable-libass
--enable-libjxl
--enable-liblc3
--enable-libsvtav1
--enable-libilbc
--enable-libtheora
--enable-libvorbis
--enable-libvpx
--enable-libwebp
--enable-libxml2
--enable-opencore-amr
--enable-openh264
--enable-openssl
--enable-opus
--enable-sdl
--enable-shine
--enable-snappy
--enable-soxr
--enable-speex
--enable-srt
--enable-tesseract
--enable-twolame
--enable-vo-amrwbenc
--enable-vvenc
--enable-zimg
--full enables all non-GPL external libraries. With --enable-gpl, it also enables GPL libraries.
These options require --enable-gpl.
--enable-libvidstab
--enable-rubberband
--enable-x264
--enable-x265
--enable-xvidcore
Custom library indexes start at 1 and must be consecutive.
| Option | Description |
|---|---|
--enable-custom-library-[n]-name=value |
Name of the custom library |
--enable-custom-library-[n]-repo=value |
Git repository of the source code |
--enable-custom-library-[n]-repo-commit=value |
Git commit to download |
--enable-custom-library-[n]-repo-tag=value |
Git tag to download |
--enable-custom-library-[n]-package-config-file-name=value |
Package config file installed by the custom build script |
--enable-custom-library-[n]-ffmpeg-enable-flag=value |
Library name used by FFmpeg configure |
--enable-custom-library-[n]-license-file=value |
License file path relative to the library source folder |
| Option | Description |
|---|---|
--reconf-LIBRARY |
Run autoreconf before building LIBRARY
|
--redownload-LIBRARY |
Download LIBRARY even if it is already downloaded |
--rebuild-LIBRARY |
Build LIBRARY even if it is already built |
--skip-LIBRARY |
Skip LIBRARY during the build |
--disable-lib-LIBRARY |
Disable LIBRARY after enabled-library resolution |
--version-LIBRARY=n |
Override default LIBRARY version |
--no-framework |
Do not build framework or xcframework bundles |
--no-bitcode |
Do not embed bitcode in bundles |
--no-output-redirection |
Print build output directly instead of redirecting detailed output to build.log
|
--no-workspace-cleanup-LIBRARY |
Keep LIBRARY workspace files after the build |
--extra-cflags=value |
Append extra C compiler flags |
--extra-cxxflags=value |
Append extra C++ compiler flags |
--extra-ldflags=value |
Append extra linker flags |
Copyright (c) 2026 FFmpegKitNext
- Status
- Versions
- Changelog
- Project Layout
- Using
- Building
- External Libraries
- Patents
- License