Can not deploy to iOS (4.13 preview 2)

In 4.13 preview 2 launcher version, you can not launch to iOS (worked OK on preview 1).

To reproduce:

  1. Download 4.13 preview 2 from the
    launcher (fresh install, not an
    upgrade from preview 1)
  2. Create a new
    blank project, selecting the
    mobile/scalable options, no starter
    content
  3. When the editor is open,
    save the default template map as
    e.g. TestMap, then set that map as
    the startup map in Project Settings
  4. Set a bundle identifier /
    certificate / provision
  5. Open Project
    Launcher from the launch menu,
    select Advanced > select “Shipping”
    & “By the book” > launch.

Project will cook successfully and package to ipa fine, but fails at the deployment stage:

Unhandled Exception: System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

Full log attached.

Spoondog,

What kind of computer are you building on? If it’s a Windows machine, you need to set up rsync (remote build) under Project Settings > Platforms - iOS > Build > Remote Build.

I followed your steps exactly and was able to package a project without any trouble.

Thanks!

Sam,

There is no building happening. It’s just the launcher version with a clean install and a new blank project (as I mentioned, works fine on preview 1, and on 4.11 etc, done 100’s of times before).

If you are able to do it on what you are absolutely sure is a clean new install… then somehow there must be some bad data lurking in my system, that isn’t remedied by completely removing an engine version and installing it new (+ removing it’s DDC and the Common DDC).

I’ll break out the laptop and try to do the steps there.

I can’t test on a separate machine at the moment, but I did just try this on 4.12.5 - works fine there. The only build where it doesn’t work is 4.13p2.

OK - the repro steps worked fine on another machine. So I asked myself why a clean install of 4.13 on my regular machine is different to a clean install on another machine…

I copied the command it was failing on from the log [attached to the first post] and ran the command separately, and narrowed it down to the files in 4.13\Engine\Binaries\DotNET\IOS - if I copy the dlls from my 4.12 engine install, it can deploy fine.

I suspect it has something to do with previously trying a 4.13 code project. But the question remains - why should it be affecting a clean install of the engine? Here’s what I did:

  • Removed 4.13 via the launcher
  • Made sure the folder (where 4.13 was installed) is gone
  • Deleted the “4.13” and “Common” folders in %USERPROFILE%\AppData\Local\UnrealEngine
  • Re-downloaded and installed 4.13 again

Are there any other places where cached engine data might reside? or bad registry values that tell Unreal that the machine is capable of compiling when it shouldn’t? So even a new install is getting it’s dll’s modified somehow?

So I uninstalled 4.13 preview 2 and made sure that the folders were deleted that referenced 4.13. I redownloaded and installed 4.13 preview 2 again and set remote building back up. Once I did that, I packaged for iOS and it built successfully.

I also asked another Technician here to test on their computer with a fresh version of 4.13 preview 2 and they didn’t run into any troubles either.

Both blueprint and code projects were tested.

We’re on Windows 7, what Windows is your computer on currently?

Let me know if it doesn’t, and we’ll try to dig deeper into this issue. :slight_smile:

By the way, we tested this on our Windows 10 Professional and we didn’t have any issue.

Thanks for the testing, but yeah I’m pretty sure it’s a problem with my installation (I’m on Windows 10 Pro, but it works on my laptop which is Windows 10 Home). Even when I install 4.13 fresh on my main machine, the dlls mentioned in my previous post appear to get modified during startup or cook or something (so something somewhere is saying “hey this engine version is for code projects, let’s build stuff”, even though it’s completely clean).

Anyway I was hoping for a programmer to weigh in on that aspect of it, but I think what I’m going to do is back up all my projects (they’re in perforce anyway), blitz everything remotely UE4-related (including launcher) from my machine and install it all fresh. I’m betting that will fix it.