# Building for iOS results in error: clang: error: linker command failed

**URL:** <https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932>\
**Category:** Mobile\
**Tags:** unreal-engine, iOS\
**Created:** [January 12, 2018, 9:26am UTC](https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932 "2018-01-12T09:26:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Artsis](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Artsis](https://forums.unrealengine.com/u/Artsis)\
**Post date:** [January 12, 2018, 9:26am UTC](https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932/1 "2018-01-12T09:26:01Z")

</div>

I try to build for iOS it used to work but now i get this error:

clang: error: linker command failed with exit code 1 (use -v to see invocation)

> [@](#):
>
> UATHelper: Packaging (iOS): Upload took 00:00:00.6001394  
> UATHelper: Packaging (iOS): Execute took 00:00:00.3815883  
> UATHelper: Packaging (iOS): ld: framework not found iAD  
> UATHelper: Packaging (iOS):  
> UATHelper: Packaging (iOS): clang: error: linker command failed with exit code 1 (use -v to see invocation)  
> UATHelper: Packaging (iOS): Doing bash -c ‘if -e “/Users/kor/UE4/Builds/DESKTOP-4GHT5N8/D/Unreal projects/ARtest/Plugins/ARToolkitPlugin/Binaries/IOS/UE4-ARToolkitPlugin.a” ]; then eval $(stat -s “/Users/kor/UE4/Builds/DESKTOP-4GHT5N8/D/Unreal projects/ARtest/Plugins/ARToolkitPlugin/Binaries/IOS/UE4-ARToolkitPlugin.a”) && echo $st\_mtime,$st\_size; fi’  
> UATHelper: Packaging (iOS): Execute took 00:00:00.3665398  
> UATHelper: Packaging (iOS): Doing bash -c ‘if -e “/Users/kor/UE4/Builds/DESKTOP-4GHT5N8/D/Unreal projects/ARtest/Binaries/IOS/ARtest” ]; then eval $(stat -s “/Users/kor/UE4/Builds/DESKTOP-4GHT5N8/D/Unreal projects/ARtest/Binaries/IOS/ARtest”) && echo $st\_mtime,$st\_size; fi’  
> UATHelper: Packaging (iOS): Execute took 00:00:00.3594824  
> UATHelper: Packaging (iOS): ERROR: UBT ERROR: Failed to produce item: /Users/kor/UE4/Builds/DESKTOP-4GHT5N8/D/Unreal projects/ARtest/Binaries/IOS/ARtest  
> UATHelper: Packaging (iOS): Total build time: 54,12 seconds (Remote executor: 0,00 seconds)  
> UATHelper: Packaging (iOS): Took 54,3125238s to run UnrealBuildTool.exe, ExitCode=5  
> UATHelper: Packaging (iOS): ERROR: Command failed (Result:5): C:\Program Files\Epic Games\UE\_4.18\Engine\Binaries\DotNET\UnrealBuildTool.exe ARtest IOS Development -Project=“D:\Unreal projects\ARtest\ARtest.uproject” “D:\Unreal projects\ARtest\ARtest.uproject” -NoUBTMakefiles -remoteini=“D:\Unreal projects\ARtest” -skipdeploy -noxge -NoHotReload -ignorejun  
> k. See logfile for details: ‘UnrealBuildTool-2018.01.12-10.16.28.txt’  
> UATHelper: Packaging (iOS): (see C:\Users\unreal\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Program+Files+Epic+Games+UE\_4.18\UAT\_Log.txt for full exception trace)  
> UATHelper: Packaging (iOS): AutomationTool exiting with ExitCode=5 (5)  
> UATHelper: Packaging (iOS): BUILD FAILED  
> PackagingResults: Error: Unknown Error

I am using a remote macMini as builder

I will attach my UATLog maybe someone know the issue.

---

<div class="post-metadata">

**Author:** ![RiskNerd](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@RiskNerd](https://forums.unrealengine.com/u/RiskNerd)\
**Post date:** [August 13, 2025, 3:57pm UTC](https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932/2 "2025-08-13T15:57:41Z")

</div>

Same with UE 5.6.1 on MacOS 15.6:

```auto
LogPlayLevel: UAT: ------ Building 28 action(s) started ------
LogEOSSDK: LogEOS: Updating Product SDK Config, Time: 29837.404297
LogEOSSDK: LogEOS: SDK Config Product Update Request Completed - No Change
LogEOSSDK: LogEOS: ScheduleNextSDKConfigDataUpdate - Time: 29837.601562, Update Interval: 335.537689
LogPlayLevel: UAT: [1/28] Compile [arm64] SharedPCH.Core.Project.ValApi.ValExpApi.Cpp20.h
LogPlayLevel: UAT: [2/28] Compile [arm64] SharedPCH.CoreUObject.Project.ValApi.ValExpApi.Cpp20.h
LogPlayLevel: UAT: [3/28] Compile [arm64] SharedPCH.Slate.Project.ValApi.ValExpApi.Cpp20.h
LogPlayLevel: UAT: [4/28] Compile [arm64] SharedPCH.Engine.Project.ValApi.ValExpApi.Cpp20.h
LogPlayLevel: UAT: [5/28] Compile [arm64] MyVehicleOffroadCar.cpp
LogPlayLevel: UAT: [6/28] Compile [arm64] MyVehicleGameMode.cpp
LogPlayLevel: UAT: [7/28] Compile [arm64] MyVehicle.cpp
LogPlayLevel: UAT: [8/28] Compile [arm64] Module.MyVehicle.cpp
LogPlayLevel: UAT: [9/28] Compile [arm64] MyVehicleOffroadWheelRear.cpp
LogPlayLevel: UAT: [10/28] Compile [arm64] MyVehicleOffroadWheelFront.cpp
LogPlayLevel: UAT: [11/28] Compile [arm64] MyVehiclePawn.cpp
LogPlayLevel: UAT: [12/28] Compile [arm64] MyVehiclePlayerController.cpp
LogPlayLevel: UAT: [13/28] Compile [arm64] MyVehicleSportsWheelFront.cpp
LogPlayLevel: UAT: [14/28] Compile [arm64] MyVehicleSportsCar.cpp
LogPlayLevel: UAT: [15/28] Compile [arm64] MyVehicleSportsWheelRear.cpp
LogPlayLevel: UAT: [16/28] Compile [arm64] MyVehicleUI.cpp
LogPlayLevel: UAT: [17/28] Compile [arm64] MyVehicleWheelFront.cpp
LogPlayLevel: UAT: [18/28] Compile [arm64] MyVehicleWheelRear.cpp
LogPlayLevel: UAT: [19/28] Compile [arm64] OffroadGameMode.cpp
LogPlayLevel: UAT: [20/28] Compile [arm64] TimeTrialGameMode.cpp
LogPlayLevel: UAT: [21/28] Compile [arm64] TimeTrialStartUI.cpp
LogPlayLevel: UAT: [22/28] Compile [arm64] TimeTrialTrackGate.cpp
LogPlayLevel: UAT: [23/28] Compile [arm64] TimeTrialPlayerController.cpp
LogPlayLevel: UAT: [24/28] Compile [arm64] TimeTrialUI.cpp
LogPlayLevel: UAT: [25/28] sh /Volumes/Unreal Engine/Unreal Projects/MyVehicle/Binaries/IOS/MyVehicle (UBA disabled)
LogPlayLevel: Warning: UAT: ld: warning: ignoring duplicate libraries: '/Volumes/Unreal Engine/UE_5.6/Engine/Source/ThirdParty/Vorbis/libvorbis-1.3.2/lib/IOS/libvorbis.a', '/Volumes/Unreal Engine/UE_5.6/Engine/Source/ThirdParty/Vorbis/libvorbis-1.3.2/lib/IOS/libvorbisenc.a', '/Volumes/Unreal Engine/UE_5.6/Engine/Source/ThirdParty/Vorbis/libvorbis-1.3.2/lib/IOS/libvorbisfile.a'
LogPlayLevel: UAT: ld: framework 'iAD' not found
LogPlayLevel: Error: UAT: clang++: error: linker command failed with exit code 1 (use -v to see invocation)
LogPlayLevel: UAT: Trace written to file /Users/jason/Library/Logs/Unreal Engine/LocalBuildLogs/UBA-MyVehicle-IOS-Development.uba with size 16.3kb
LogPlayLevel: UAT: Total time in Unreal Build Accelerator local executor: 189.97 seconds
LogPlayLevel: UAT: Result: Failed (OtherCompilationError)
LogPlayLevel: UAT: Total execution time: 211.46 seconds
LogPlayLevel: UAT: Took 211.75s to run dotnet, ExitCode=6
LogPlayLevel: UAT: UnrealBuildTool failed. See log for more details. (/Users/jason/Library/Logs/Unreal Engine/LocalBuildLogs/UBA-MyVehicle-IOS-Development.txt)
LogPlayLevel: UAT: AutomationTool executed for 0h 3m 37s
LogPlayLevel: UAT: AutomationTool exiting with ExitCode=6 (6)
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 211.261781
LogPlayLevel: Error: UAT: RunUAT ERROR: AutomationTool was unable to run successfully. Exited with code: 6
PackagingResults: Error: Launch failed! Unknown Error

```

---

<div class="post-metadata">

**Author:** ![RiskNerd](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@RiskNerd](https://forums.unrealengine.com/u/RiskNerd)\
**Post date:** [August 14, 2025, 4:14pm UTC](https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932/3 "2025-08-14T16:14:06Z")

</div>

iAD Framework has been deprecated (2016) and removed from the iOS SDK (2025)

[https://github.com/EpicGames/UnrealEngine/pull/13685](https://github.com/EpicGames/UnrealEngine/pull/13685)

---

<div class="post-metadata">

**Author:** ![RiskNerd](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@RiskNerd](https://forums.unrealengine.com/u/RiskNerd)\
**Post date:** [August 14, 2025, 7:42pm UTC](https://forums.unrealengine.com/t/building-for-ios-results-in-error-clang-error-linker-command-failed/104932/4 "2025-08-14T19:42:36Z")

</div>

The problem here turns out to be that MacOS was installed on a case-sensitive filesystem.

The iAd Framework (note the camelCase with uppercase A and lowercase d) still exists in the iOS SDK at this location:

```auto
% ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/iAd.framework 
Headers	iAd.tbd	Modules

```

However, UE 5.6.1 and all previous releases contain build instructions to link with the iAD framework.

The same problem prevents linking with the CloudKit framework, because UE tries to link with a different framework named “Cloudkit” (lowercase k) which, on a case-insensitive filesystem like APFS isn’t viewed as a different path.

NOTE: my installation of UE 5.6.1 uses an APFS case-insensitive Volume, which I suspect will work fine now that I know where to look for dependencies during the build process that might be case sensitive. Providing the required frameworks or library files in a subdirectory created under my APFS Volume and adding -F/Volumes/UEBuild to my linker settings lets me continue the build process to find out if some other case-sensitive build step is going to fail next. I don’t have the iOS App building completely yet, now I need to pay Apple for a developer account so I can use code signing.
