[UE4]IOS Packaging error Undefined symbols for architecture arm64:

edited February 2019 in Native
Hello, I'm attempting to package my game for iOS. It uses Photon Real-time c++ SDK, While packaging I get the following errors :
Undefined symbols for architecture arm64:ProcessResult.StdErr: "ExitGames::LoadBalancing::RoomOptions::RoomOptions(bool, bool, unsigned char, ExitGames::Common::Hashtable const&, ExitGames::Common::JVector<ExitGames::Common::JString> const&, ExitGames::Common::JString const&, unsigned char, int, int, bool, ExitGames::Common::JVector<ExitGames::Common::JString> const*, bool, unsigned char)", referenced from:

ProcessResult.StdErr: LoadBalancingListener::createRoom(FString) in LoadBalancingListener.cpp.o

ProcessResult.StdErr: "ExitGames::LoadBalancing::Client::Client(ExitGames::LoadBalancing::Listener&, ExitGames::Common::JString const&, ExitGames::Common::JString const&, unsigned char, bool, unsigned char, bool)", referenced from:

ProcessResult.StdErr: UPhotonTest::BeginPlay() in PhotonTest.cpp.o

ProcessResult.StdErr: ld: symbol(s) not found for architecture arm64

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

ProcessResult.StdErr: ERROR: UBT ERROR: Failed to produce item: /Users/game/Desktop/gameone/Binaries/IOS/gameone

ProcessResult.StdErr: Total build time: 1736.19 seconds (Local executor: 0.00 seconds)

CommandUtils.Run: Took 1736.975178s to run mono, ExitCode=5

The code compiles correctly in xcode and the editor opens up. But when packaging for iOS, the above errors are returned. Game packages for android in the windows system.

Unreal engine veriosn : 4.18.1
Photon SDK version: 4-1-12-0
Xcode version : Xcode 9.2


  • Hi @Manjunath.

    I have just tried to reproduce your issue, but I could successfully package for iOS with UE 4.18, Photon SDK and Xcode 9.1 on OS X 10.14.1.

    Please verify that the libs in your iOS lib folder are up to date.
    When you can successfully build in Xcode and the editor opens up, then that means, that the build for OS X is successful, so your OS X libs are matching your headers. However your iOS libs might not be up to date.