Issue with IOS Shipping on 4.6.0

HI!
I get some issue on 4.6.0 IOS Shipping.

When i pack development version of game everything works fine on iPhone.
But when i pack shipping version of game i got only black screen after game start (it’s looks like engine use default “Entry” map and not my map. I check configuration and i have correct GameDefaultMap option).
On 4.5.0 i do not have this issue.

Can someone help?

Howdy NToss,

Thank you for reporting this issue. I have attempted a quick repro of this issue and have been unsuccessful. Here are the steps that I tried when trying to reproduce this error:

  • Opened a new template project
  • When the level loaded, I right clicked in the content browser and created a new level.
  • I saved all from the file dropdown.
  • I double clicked on the new level to open it.
  • In the level i added a directional light and a static mesh plane (So my character would not just continue falling)
  • I made sure to rebuild lighting. then saved all levels again
  • I went into the project settings, under the Edit tab, and selected the Maps and Modes subsection
  • I changed the Game Default Map and the Editor Startup Map to the new level that was created
  • I closed out of project settings and saved once again.
  • I then packaged a Development and a Shipping build of my project
  • I then deployed to a iPhone 5s OS 7.1.1

After completing all of these steps, i was unable to see any difference between packaged projects. Please let me know if there are any additional steps that you may have used when you saw your error.

Thanks and have a great day!

Thx for your support!

This issue happens only on one of my projects. If i try build template project in 4.6.0 and shipping deploy it then all works fine.

I tried to connect session frontend to shipping build on iPhone to get some helpful logs, but session fronted dnt see game running.
How can i investigate issue?

Hey NToss,

Would you be able attach your Build failed log to this post? Also, if you would like, you could send me your project via a private message on the forums. Here is a link to my profile: https://forums.unrealengine.com/member.php?4890-Sean-Gribbin

Thanks!

Hey NToss,

Just wanted to let you know that a new version of UE4 has been released. Would you be able to double check this issue on that release? Please let me know if this helps any with the issue.

Thanks!

Hi!
Sorry for delay.
I haven’t had a chance to check this issue, but i got some new info:
My app is net based aka small MMO, so “black screen” happen when my game can’t connect to dedicated server.

If i install development version of app manually to iPhone then my game CAN connect to dedicated server.
But if i build shipping version (sign code) and upload it to TestFlight and then install game via TestFlight then my game CAN’T connect to dedicated server.
(also, i use IgnorePackageMismatch flag, i read that in current version there is false mismatch error when connect from iPhone to windows dedicated server)

So, mb i just don’t understand Apple secure police, i haven’t checked it yet.

Howdy NToss,

Just wanted to check in with you and see if this issue is still occurring for you. Please be sure to let me know so that I can investigate further if you are still seeing this error.

Thanks and have a great day!

Hey NToss,

Thanks for clearing that up for me. I have just tested out a couple of builds that i use for iOS and have run into no errors when testing out this issue on UE4. You may correct that something may be going on with either TestFlight or Apple’s secure policy. At this time, our iOS Dev team is out on vacation, so a may be a little while before i can get an exact answer.

Have you tested this issue on the 4.7 preview to see if that would help to clear up this error at all?

Hi!
I have found issue reason:

When i build shipping version with only armv7 architecture then the game works fine. But when i build armv7 and arm64 architectures then the game dont work.

I get some iPhone logs via XCode:

assertion failed: 12B440: libxpc.dylib + 71820 [A4F17798-F3DE-3FBC-85E3-F569762F0EB9]: 0x7d

How can i fix this? I would like use both architectures in shipping build.

How are you building the game? Are you building using Xcode on a Mac? Or are you using a PC to make the final IPA? There was a bug fix for the code signing aspect on PC when more than one architecture is used that is in the 4.7 preview, but not in 4.6.1, so that could be the problem. Although, I would expect the game to not install if that was the case.

Have you tried just making an arm64 architecture only build and seeing if that works? It could just be an issue with our network code for arm64. I’ll talk with the network engineers and see if they have any ideas.

-Pete

Hey NToss,

Just wanted to check in with you and see if you have been able to provide any additional information that has been asked for in the previous post.

Please be sure to let me know.

Thanks and have a great day!

Hi NToss,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.

Hey, Sean

We have been having a similar problem in out studio recently. Ever since we have added arm64 support for IOS, our 64 bit devices have been unable to connect to a server, whether it is a dedicated server or listen server.

From what we have been able to gain from logs, the client fails in UIpNetDriver::InitBase in the call to SocketSubsystem->BindNextPort.

Windows clients are able to connect to the server and 32 bit IOS devices are able to connect to the server, it just seems to be a problem when including arm64.

On a related note, this week I am attempting to update a previous UE3 project to also have arm64 support and doing so also causes the client not to be able to connect to the server for that project.

Hey Jeremiah,

Thank you for posting on this issue. I am going to need a bit of additional information before i begin digging into this issue. What version of UE4 would you be using and would that version be a binary build or a source build of the engine? Would you be able to attach the log where you are seeing the error occur?

Any additional information would be greatly appreciated.

Thanks and have a great day!

this seems to indicate that bind() failed with ENETDOWN (50), I’m not really sure what that means in terms of iOS though

Also, for this particular log from the iPad, I had changed the code to attempt to connect to port 7777, however just calling open with no port produces the same bug.

And I just realized I did not answer your question about version of UE4. We are currently experiencing this on our source built engine version 4.6.1, though we have merged in the Iphone Packager from 4.7 to allow us to package with arm64 support from our Windows machines.

Howdy Jeremiah,

Just wanted to update you that I have reached out to another developer for a bit of insight into this issue. I will be sure to update you as soon as I get a response.

Thanks for your patience.

Howdy Jeremiah,

Sorry about the lack of a response on this issue. Even though you have merged over the iPhone Packager from 4.7, the bug that has been reported in 4.6.1 will still be occurring. Psauer’s comment above has stated that a fix has been implemented and that was back in 4.7 release. If you open a copy of your project in a later build, would you still see the error occur? I want to be sure that this has been addressed.

Thanks!

I have the same issue too, and thisiOS arm64 can’t connect to dedicated server has a sample project and log file in it.