Importing iOS Frameworks - tanersener/ffmpeg-kit GitHub Wiki
The recommended method to install ffmpeg-kit in an iOS project is to use Cocoapods.
Adding ffmpeg-kit dependency to the project's Podfile and running pod install is enough to complete the installation.
Cocoapods will download necessary libraries and update the project files for you.
If Cocoapods is not available, or you don't want to use Cocoapods in your project, you can install iOS frameworks
using instructions below.
1. Download an iOS framework package from Releases page.
-
Note that
Mainreleases publishxcframeworkpackages andLTSreleases publishframeworkpackages -
iOSframework releases are files that include-ios-in their name, e.g.,ffmpeg-kit-min-4.4-ios-xcframework.zip
2. Extract the zip package to a temporary location and copy all frameworks (directories with .xcframework or .framework extension) into your project folder.
3. Open your project in Xcode and drag & drop all frameworks from Finder's project folder into your project window inside Xcode.
-
Make sure that
Framework Search PathforPROJECT_DIRis set torecursiveinXcode -
For
v4.5.1and newer releases-
Go to
Build Phases->Embed Frameworksand make sure that allffmpeg-kitframeworks are listed there. Set destination toFrameworks, uncheckCopy only when installingand checkCode Sign On Copyfor all frameworks -
Go to
Build Phasesand add aRun Scriptin the end- Use this as shell source for iOS targets
${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/ffmpegkit.framework/strip-frameworks.sh- Use this as shell source for Mac Catalyst targets
${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/ffmpegkit.framework/Resources/strip-frameworks.sh
-
-
For
v4.5and older releases- Validate that
ffmpeg-kitframeworks listed underGeneral->Frameworks, Libraries and Embedded Contentare not marked asEmbed & Sign. The correct setting for them isDo Not Embed
- Validate that
4. Add libbz2, libc++, libiconv, libz, CoreMotion1, VideoToolbox and Accelerate2 system libraries/frameworks to Build Phases -> Link Binary With Libraries section.
1 - Required by full and full-gpl packages
2 - Required when rubberband is enabled