Build and Package for IOS from the commandline on Mac?

So, I’m looking for confirmation on whether or not the steps I’m currently taking are correct. I’m trying to package for iOS shipping using the Terminal on MacOS El Capitan.

First, I run the IphonePackager (IPP) to check for the validity of the cert and provision:

/bin/sh /Users/imac/UE4-4.12.0-Source/Engine/Build/BatchFiles/Mac/ /Users/imac/UE4-4.12.0-Source/Engine/Binaries/DotNET/IOS/IPhonePackager.exe Validate Engine -project /Users/imac/Desktop/ProjectXYZ/ProjectXYZ.uproject -bundlename

Then I run the actual build and package command:

/Users/imac/UE4-4.12.0-Source/Engine/Build/BatchFiles/ BuildCookRun -nocompileeditor -nop4 -project=/Users/imac/Desktop/ProjectXYZ/ProjectXYZ.uproject -cook -stage -archive -archivedirectory=/Users/imac/Desktop/Build -package -clientconfig=Shipping -ue4exe=UE4Editor -clean -compressed -pak -prereqs -distribution -nodebuginfo -targetplatform=IOS -build -CrashReporter -utf8output

However, I seem to be getting both an .IPA file and a .xcarchive file. Previously packaging directly through the editor in 4.10.4, I would get just an .IPA. Am I missing a step or is this how things work now? The editor version is 4.12.0 source. Using the source of 4.10.4 seems to produce the same output. Uploading the .IPA from this process seems to yield a broken game when running on the device. It will simply crash after the Unreal splash screen. The file size of the IPA is also half of what it’s expected to be.

Is this output correct? What should I do with the .xcarchive and how do I move forward?

1 Like

I have the same question.
I am getting this .xcarchive when i package directly from editor on 4.12.5.

4.12 produces both a packaged IPA and an xcode archive. Try loading a development IPA to yr device directly. If yr using a shipping version, you’ll have to use TestFlight to load it onto devices that have been specified in the provision.