Build ONNX Runtime for iOS
Follow the instructions below to build ONNX Runtime for iOS.
Contents
General Info
-
iOS Platforms
The following two platforms are supported
- iOS device (iPhone, iPad) with arm64 architecture
- iOS simulator with x86_64 architecture
The following platforms are not supported
- armv7
- armv7s
- i386 architectures
- tvOS
- watchOS platforms are not currently supported.
-
apple_deploy_target
Specify the minimum version of the target platform (iOS) on which the target binaries are to be deployed.
Prerequisites
- A Mac computer with latest macOS
- Xcode, https://developer.apple.com/xcode/
- CMake, https://cmake.org/download/
- Python 3, https://www.python.org/downloads/mac-osx/
Build Instructions
Run one of the following build scripts from the ONNX Runtime repository root:
Cross compile for iOS simulator
./build.sh --config <Release|Debug|RelWithDebInfo|MinSizeRel> --use_xcode \
--ios --apple_sysroot iphonesimulator --osx_arch x86_64 --apple_deploy_target <minimal iOS version>
Cross compile for iOS device
./build.sh --config <Release|Debug|RelWithDebInfo|MinSizeRel> --use_xcode \
--ios --apple_sysroot iphoneos --osx_arch arm64 --apple_deploy_target <minimal iOS version>
CoreML Execution Provider
If you want to use CoreML Execution Provider on iOS or macOS, see CoreML Execution Provider.
Build Instructions
- iOS: Add
--use_coremlto the iOS build commands. - macOS: See Build for macOS for
--use_coremlexamples and notes on official macOS packages.
Building a Custom iOS Package
Refer to the documentation for custom builds. In particular, see the section about the iOS Package.