iOS Setup
Godot Export
- Project → Export → Add → iOS
- Configure your export settings (Bundle Identifier, Team ID, etc.)
- Export the project to a folder
Xcode Configuration (Required)
After exporting from Godot, you must configure the frameworks in Xcode:
- Open the exported
.xcodeprojin Xcode - Select your target → General tab
- Scroll to Frameworks, Libraries, and Embedded Content
- Click + and add the following frameworks:
GodotIap.frameworkSwiftGodotRuntime.framework
- Set both to "Embed & Sign"
The frameworks are located at:
[exported_project]/addons/godot-iap/bin/ios/GodotIap.framework
[exported_project]/addons/godot-iap/bin/ios/SwiftGodotRuntime.framework
- Go to Build Settings tab
- Search for "Runpath Search Paths" (
LD_RUNPATH_SEARCH_PATHS) - Add
@executable_path/Frameworksif it is not already present
Important
If you skip embedding the frameworks, the app will crash on launch with:
Library not loaded: @rpath/GodotIap.framework/GodotIap
If you skip setting the Runpath Search Paths, the app will crash even with embedded frameworks:
Library not loaded: @rpath/SwiftGodotRuntime.framework/SwiftGodotRuntime
Fix Missing Info.plist (Required)
Due to a Godot export bug, the Info.plist files inside frameworks may not be copied during export. This causes the build to fail with:
Framework did not contain an Info.plist
Solution: Add Build Phase Script
- In Xcode, select your target
- Go to Build Phases tab
- Click + → New Run Script Phase
- Name it "Copy Framework Info.plist"
- Paste the following script:
# Copy missing Info.plist files for GodotIap frameworks
ADDONS_DIR="${PROJECT_DIR}"
FRAMEWORKS_DIR="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -f "${ADDONS_DIR}/addons/godot-iap/bin/ios/GodotIap.framework/Info.plist" ]; then
cp "${ADDONS_DIR}/addons/godot-iap/bin/ios/GodotIap.framework/Info.plist" \
"${FRAMEWORKS_DIR}/GodotIap.framework/" 2>/dev/null || true
fi
if [ -f "${ADDONS_DIR}/addons/godot-iap/bin/ios/SwiftGodotRuntime.framework/Info.plist" ]; then
cp "${ADDONS_DIR}/addons/godot-iap/bin/ios/SwiftGodotRuntime.framework/Info.plist" \
"${FRAMEWORKS_DIR}/SwiftGodotRuntime.framework/" 2>/dev/null || true
fi
- Drag this script phase before "Embed Frameworks" phase
tip
This script automatically copies the missing Info.plist files from the source frameworks to the build output. You only need to set this up once per project.
App Store Connect
For complete App Store Connect configuration including product setup and sandbox testing, visit:
👉 iOS Setup Guide - openiap.dev
The guide covers:
- App Store Connect configuration
- In-App Purchase product setup
- Sandbox testing
- Common troubleshooting steps
