Has Unreal 4.22-4.23 Broke iOS Completely?

Hello Everyone.

I am currently working on a 4-year project for iOS. I USED to have a working version pushed to my devices for some reason UE4 will not accept any of my profiles. I have gone through the iOS setup guide for importing the certs, mobile provision, App ID, etc. no matter what it will never import and show as valid. I have been stuck on this for months.

Searching around the forums I found that If you open a basic Xcode Project ( I am on macOS), Name the project the same as the UE4 name, ( bundle ID) then push the blank project to the iPhone (iOS 13 on iPhone 11), then enable Automatic Signing in UE4 it works to finally validate the code!! hooray, right?!! NO…

No matter WHAT it sits on a black screen and never loads, despite the compiler tool saying that all content has loaded successfully.

I have tried on different iPhones, iPads and even bought an iPod Touch, it will sign the code and cook to the device but it never leaves the black screen.

so as the title of my post says, is UE4 really just not playing well with iOS 12 and 13? I used to deploy so easily to iOS and now i can barely get the signed code approved.

All the Guides from UE are old, for engine 4.20 some even load 4.8 if you click on iOS support.

I am can provide logs and screenshots as well.

Any help would be really really appreciated.

if you are using xcode, are you checking the log to see any error o warning from the device?

So first you write signing won’t work, but then you write “it will sign the code” and you are able to deploy to your devices. So what is it?
If signing with correct certificate and provisioning profiles, it will successfully package. Failed signing would not even package, so this cannot be the reason for a black screen.
Sharing you logs would help.

Signing Troubleshooting Tips:

  • Profiles alone are not enough. What about your certificates? You can easily create those in the XCode preferences and it will download profiles.

  • In the packaging settings check if your build settings are development or shipping and if “for distribution” is checked. Set it correctly depending on your certificate and profile (development or distribution)

  • If you don’t use a wildcard profile, enter the bundle-id in the project settings under ios. e.g. com.yourcomanyname.appname as shown in the Apple Development site. Because only then the matching profiles are displayed.

  • many people cannot recognize their correct profiles in the project settings, because they are displayed in long cryptic numbers, not by file name. So with Finder look in the folder /yourusername/Library/MobileDevice/Provisioning Profiles and delete all profiles for a fresh start and to avoid confusion.

  • Has it been a long while since you logged in to your Apple Dev account? Certificates are valid for a certain time. Years ago a free account was enough, nowadays it has to be a paid account.

Black Screen Troubleshooting Tips:

  • A 4-year project, so what UE4 version are you using? If you started the project 4 years ago with 4.9 you cannot just open in a current version and expect it to run the same. The engine is constantly developed on and even some big studios stay with one version after release.

  • choose File > Validate Data and let it run through.

  • Did you package a new File > Package > iOS and export a full ipa file? The play button in the editor is not enough. Try “full rebuild” in the packaging settings.

  • When an app starts with black screen, often people either missed setting gameinstance, start maps or gamemode in the project settings or the packaging settings leave out important assets to be cooked. For example cooking only certain maps, excluding editor content etc… Disable those, choose Cook everything in content browser and package again.

  • Make sure you have the latest XCode version installed. There was a very recent update a few days ago with support for iOS13.

  • Keep calm, “the engine is broken” is so unlikely, as it would affect many other devs aswell, don’t you think?

Oh man, there’s so many problems with the iOS build system in 4.22. I don’t know if they fixed them in 4.23 though. I hope they did, but I’ve been working off the source code for 4.22.

My advice:

  1. Make sure you don’t change the default location of your unreal documents folder, that can cause issues in the final version. I think some paths must be hard coded, or close to that.
  2. Make sure your level names are all lower case, there are a few issues that have been resolved by doing that.
  3. The packager is just plain wrong about how it packs up apps for adhoc deployment. See this video for more: Fixing a bug in Unreal Engine 4 with CodeWalker - YouTube
  4. I noticed the UE4.22 source does not build with the latest version of Xcode. I’ve had to downgrade Xcode with an older version until I’m done with the current product launch.
  5. The error messages in Unreal are super unhelpful. They’re right up there with ‘some error occurred’. Don’t trust the error messages. Use the Console and read the other messages that show up, for your device.
  6. Shoot me an email if you’d like to me to walk through some of the debugging steps I use for iOS deployment.

-Chilton
[EMAIL=“chiltonwebb@gmail.com”]chiltonwebb@gmail.com

On a positive note - I’m doing okay right now with UE4.22 packaging for iOS. I’m using Windows, Launcher UE4.22, Blueprint project, remote build on mac with Xcode 10.3 (10G8) installing on iOS 12.4.x. via IPP tool.

Not always smooth sailing, but I’m building and submitting to Apple testflight successfully.

From my personal notes - I find this to be a good thing to do when projects start wigging out:
Clear folders

  1. delete Saved, Intermediate, Build and Binaries folders
  2. Check for invalid lines in Config/defaultengine.ini (under ios runtime settings). BundleDisplayName and BundleIdentifier had been set. Or remote build settings can be cleared here.

NOTE: One (or more) of these folders contains the configured splash screens and icons for the project. After deleting you will need to add them again manually (errg). Check which folders when you attempt this. I have taken to leaving these image resources/folders in place and deleting the other files.

*\Binaries\IOS\Payload*
*\Build\IOS\Resources\Graphics*

I believe this has solved black screens for me at least once, and also resolved build target error messages a number of times. I think it has a lot to do with the stub file methods used to build an .ipa. Just guessing though.

Good luck. It can be done!

If you’re getting as far as a black screen on iOS then you’ve got another option: get the console output.

Create a development build and use XCode to put it on the device:

  1. Go to XCode -> Windows -> Devices and simulators
  2. Plug your device in and select it (don’t do wifi sync for this)
  3. Install your IPA using that screen
  4. Before you load the app, click the Open Console button, select your device on the left, and enter part of your app name as a process filter.
  5. Run the app and get ready to scroll through a lot of output.

For some reason this window will purge log lines while you’re reading it, so shift-click to select everything and then go Edit -> Copy. Exactly like that, because this window has some of the worst UI in the entire OS and doesn’t support select-all or keyboard shortcuts for copying. Toss it in a text editor and have fun reading.

Hi everyone,

Is there and actual fix for this? I have tried tried most of your suggestions here, but I still get a black screen on iOS 13.

anyone who stuck with this problem like me…?

Apples provisions/certificates system is one of the most frustrating things I’ve dealt with in my life. I have gone from successful code signing to some random error or another halting all development over 10 times in the past 6 months or so. Absolute pointless time drain.

Hi, everyone! I have strange problem: when I compile ARKit project on Windows (I use Mac OS on VMWare) I get this problem:
https://forums.unrealengine.com/deve…os?view=thread
Can someone help me, please?

[SOLVED]: I updated Mac OS and XCode - if you use VMWare, you can easily update your Mac OS, but if you use VirtualBox, uninstall it and use VMWare because VirtualBox can’t update your Mac OS (for today I have 11 XCode and 10.15.2 Mac OS Catalina)

It doesn’t help that Unreal’s error reporting is incorrect. So it will say stuff like ‘no provision found’ when really you’re using a perfectly valid AdHoc provision and Unreal just doesn’t know what to do with that.

It’s not a “black screen” it’s that previous xcode’s dummy “blank project” runs… Tested with 4.24 when using launch button in editor and bug still there:(, but using File-Package Project-IOS you can build .ipa and then install it on device. I’ve tested this method just now and it’s works for me with free ios developer account:)