Unreal 4.3 Windows iOS Publishing -- iPhonePackager crashes

We are trying to follow the steps in Getting Started and Setup Guides for iOS and tvOS in Unreal Engine | Unreal Engine 5.2 Documentation to publish to iOS from Windows 8, using Unreal 4.3.

The iPhonePackager.exe program is crashing in step 3 of the process, (i.e. the “Edit Info.plist overrides…” button under the “Already a registered iOS developer” tab). When I pres the “Save Changes” button, it crashes and says:

 **Could not find a part of the path "C:\Program Files\Unreal Engine\4.3\Engine\Binaries\DotNET\IOS\Resources\IOS\Overrides.plist**

Sometimes it also throws the same error, but is looking for the Overrides.plist file in the:

 **C:\Windows\System32\Resources\IOS** directory, which does not even exist.

Am I missing files? I can’t find an Overrides.plist file anywhere in Unreal, in the project, or in the build directory.

Is anyone else having this problem with the iPhonePackager not working on Windows 8?

P.S. Another suspicious symptom is that the check marks never appear in the “Finished Steps” column next to steps 1 or 2.

Hi, sorry that you’re having an issue with this! You actually do not need that step 3 - we tried to highlight that in the docs, but I’ll make a note to clarify those steps in an updated version of the page. If you just do the first two steps, are you then able to test launching a game to the iOS device?

Hi Lauren, thank you for that tip about not needing the 3rd step in iPhonePackager.

After completing steps 1 & 2, the “Ready to Package” button at the bottom of iPhonePackager is disabled, so I can’t go any farther.

Please tell me if that is not necessary. If I have completed those 2, can I just go back into Unreal and publish to iOS?

You are almost ready to go at that point - there are just a few steps to do inside the editor.

If you open Edit > Project Settings, and then open the iOS section, you will see a message about the project not being configured and a button to configure it. Click on that, and then on “Open PList Folder”. There is a .plist file in that folder, and you’ll have to change the CFBundleIdentifier string in that file to the one you entered when you set up steps 1 and 2.

After that, you should be set to launch or package your game for iOS!

Thanks, and again, we’re currently working on adding to our iOS documentation, so we’ll work on putting those steps in more clearly. :slight_smile:

Being able to test content on iOS is huge. Thanks Unreal Devs.

For those having trouble finding what info to edit here is a convenient picture.
32eded0e5818fa0075ca6e119106fcd08aee2e45.jpeg

It would be great if we could just set game name and bundle identifier directly from the Project Settings -> Platforms -> iOS section, so there is no need to manually open the plist file at all.

Where and how? I’ve imported provisioning and certificate but I weren’t changing CFBundleIdentifier. What do you mean here?

btw. In the docs I can’t see any steps It’s really hard to read what you need to do if you have the provisioning and certificate generated from Apple Dev Site.

I’m currently having the same problem, I never entered a CFBundleIdentifier and it is crashing whenever I try to do anything in that window. It also does not allow me to ready the package without finishing that.

I also followed the instructions and have a .plist in my project’s directory, generated by configuring my project for IOS.

Is there any solution for this?

EDIT:

Here is the exact error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\Program Files\Unreal Engine\4.3\Engine\Binaries\DotNET\IOS\Resources\IOS\Overrides.plist’.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)
at iPhonePackager.ConfigureMobileGame.SaveChanges()
at iPhonePackager.ConfigureMobileGame.GenerateResignFileButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

IPhonePackager
Assembly Version: 4.0.0.0
Win32 Version: 4.0.0.0
CodeBase: file:///C:/Program%20Files/Unreal%20Engine/4.3/Engine/Binaries/DotNET/IOS/iPhonePackager.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

DeploymentInterface
Assembly Version: 4.0.0.0
Win32 Version: 4.0.0.0
CodeBase: file:///C:/Program%20Files/Unreal%20Engine/4.3/Engine/Binaries/DotNET/IOS/DeploymentInterface.DLL

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34108 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll

Ionic.Zip.Reduced
Assembly Version: 1.9.1.8
Win32 Version: 1.9.1.8
CodeBase: file:///C:/Program%20Files/Unreal%20Engine/4.3/Engine/Binaries/DotNET/Ionic.Zip.Reduced.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging=“true” />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.