Missing libarclite_iphoneos.a in Xcode 14.3
Problem Statement
When building iOS projects in Xcode 14.3 or later, developers may encounter this critical error:
File not found:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
This error occurs because Xcode 14.3 removed support files for older iOS deployment targets (below iOS 11.0). Projects or dependencies targeting these unsupported iOS versions will fail with this missing file error during compilation.
Why This Happens
Background
Xcode 14.3 dropped support for legacy deployment targets:
- Apple removed ARC support files (
libarclite_iphoneos.a
) for iOS versions below 11.0 - Any project or dependency with target set to iOS <11.0 will trigger this error
Recommended Solutions
1. Update iOS Deployment Targets
Method A: Through Xcode UI
- Open your project in Xcode
- Select Pods project in the left navigator
- For each pod target:
- Select the target
- Go to Build Settings
- Set "iOS Deployment Target" to ≥11.0
Method B: Clean Build Folder
- After updating deployment targets:
- Xcode menu → Product → Clean Build Folder
- Or:
⇧⌘K
+⌥⇧⌘K
2. Update Podfile Script (Recommended Fix)
Add this to your Podfile:
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
# Only update targets with unsupported OS versions
current_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' if current_target < 11.0
end
end
end
end
Then execute these terminal commands:
cd [project_directory]
pod deintegrate
pod install
3. Update Project Deployment Target
- Select your main project target
- Go to General → Minimum Deployments
- Set target to ≥11.0
4. Flutter-Specific Solution
For Flutter projects:
flutter upgrade 3.7.12+ # Fixed in 3.7.11+
5. Alternative Workaround
If issues persist during archiving:
- Locate
Pods-YourApp-frameworks.sh
:Pods/Target Support Files/Pods-YourApp/Pods-YourApp-frameworks.sh
- Find this line:sh
source="$(readlink "${source}")"
- Replace with:sh
source="$(readlink -f "${source}")"
Why These Solutions Work
- Apple removed ARC support for iOS <11.0
- Setting deployment targets ≥11.0 aligns with Xcode 14.3 requirements
- The Podfile script automates updates across dependencies
- Flutter hotfixes resolved compatibility issues directly
- Archiving script modification handles path resolution errors
Pro Tip
After making changes, always:
- Clean build folder (
Shift + Cmd + K
) - Delete Derived Data (
Xcode → Preferences → Locations
)
::: success Best Practice Maintain deployment targets at iOS 12.0+ for current projects to avoid legacy dependency issues. :::
Alternative: Restore Missing Files (Not Recommended)
As a last resort, download missing ARC libraries:
sudo git clone https://github.com/MojtabaHs/xcode-arc \
`xcode-select -p`/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc
WARNING
This is a temporary workaround and not a sustainable solution. It may cause future Xcode update conflicts.
By updating deployment targets and applying these configuration changes, projects will build successfully in Xcode 14.3+. For ongoing maintenance, ensure all dependencies support iOS 11.0+ to prevent recurrence.