iOS 12, Xcode 10 & iPhone XS/XR Support Status

Xcode:

All officially supported Unity versions are tested with Xcode 10 and should fully work. Currently this includes the latest builds of:

  • 2018.3 Beta
  • 2018.2
  • 2017.4 LTS

All previous versions should work fine if they were compatible with Xcode 9.0 (pretty much everything 5.5.x and above) but we will not be shipping patch releases for them if any new issues arise.

New Devices:

Support for iPhone XS, XS Max & XR device (iOS.Device.generation) and DPI detection will land in 2018.2.12f1 & 2017.4.13f1 patch releases in the following weeks.

iOS 12 Known Issues:

  • [Partially Resolved in in iOS 12.1] Increased Memory Consumption on iOS 12 : https://issuetracker.unity3d.com/product/unity/issues/guid/1051687/. See Reducing the Memory Footprint of Metal Apps | Apple Developer Documentation for more details on changes in memory usage accounting in iOS 12.

  • [Fixed in 2018.2.12f1] Warning when submitting an app to the App Store that it must include NSLocationWhenInUseUsageDescription even if it’s not using location APIs. Apple recently started requiring that privacy usage descriptions be defined by checking if CoreLocation framework is included in the app (even if it never requests for authorisation). We have a fix for this on 2018.3 and it will soon be availabe in 2018.2 and 2017.4 patch releases.

  • Currently we’re not aware of any other Unity issues with iOS 12 or the new devices. But I’ll add them and their status here if anything comes up.

Cloud build does not work since it only supports xcode 9. And I think you meant Xcode 10, not 12.

There is something wrong with the safe area calculation in Unity on Xs and Xs+. Header+notch is working fine, footer does not work anymore. Builds that are showing the footer area on the X based on the Unity SafeArea is cutting off the footer on the Xs and Xs+.

Thanks. So from what I know the cloud build team ran into some issues with integrating Xcode 10, but they are resolved now and it should be available in a week or two.

Did you test the safe area on an device or the simulator? It seems to work fine for me in the simulator, but my actual device won’t arrive until Friday, so we won’t be able to test it/get fix until then.

Thanks

I am on 2018.2.10f1. UnityEngine.iOS.Device.generation still returns iPhoneUnknown. Any idea when will this be updated?

He does say “in the following weeks” in the first post.

I have to say though, it does seem weird that additions to the enums take so long. The beta for 12 was around for quite a while, I don’t really know why these things are not done before the new iOS versions actually release.

2 Likes

FYI, to help on the above issue. It plagued me for a week (iOS11 was fine, iOS 12 was not). Not Unity’s problem, but an issue with the trust level of certain certs in your Keychain on OS X. https://stackoverflow.com/a/52506186

Most people won’t run into this. I recall re-installing the Apple Worldwide certs a year or so back and for some reason iOS12/Xcode didn’t like the trust settings. Very obscure fix.

It’s disappointing… Apple releases Beta versions of iOS & XCode weeks/months before the launch date. I can’t understand why a big company providing tools is not fully ready on time, especially since CloudBuild is now a paid service.

@F_J this crash is caused by the analytics package (ticket Unity Issue Tracker - [iOS] Empty project build crashes with in PlatformInfoDispatcher.ReportAnalyticsData on iOS devices) it seems to happen on all iPhones without a sim card. It should be fixed in 3.1.2 version of the package or you can just disable it in general (switch to Built-in packages in the package manager window) which should also solve it.

1 Like

Just installed 2018.2.11f1 and UnityEngine.iOS.Device.generation still returns iPhoneUnknown. Guys we have users to support. When will this be available?

@pstpetrov I’m sorry for delay, it takes quite a bit of time to backport changes into releases branches these days and I did not take that fully into account. They new device enums will be available in 2018.2.12f1 which should be out next week.

(I believe you mean 12f1, 11 is already out :slight_smile: )

1 Like

Got it, thank you very much!

@_Paulius We’ve had issues getting our deployment targets set correctly when we build, in a few different versions of 2018. We’re currently on 2018.2.1f1. If we set the Target minimum iOS Version to 12, the Deployment Target actually set to 11.3 in the generated Xcode project.

I don’t see a patch where this has been addressed, although I may have missed it. Any tips/ideas on how to fix this?

@Finer_Games I can’t reproduce this myself with Xcode 10.0 (10A255) and 2018.2.10f1 or 2019.3 beta. We don’t really do any modification of the minimum iOS version string unless it’s lower than the oldest one we support. Maybe you’re using an older Xcode build?

It’d be best if you could submit a bug-report (listing the exact Xcode version you’re using).

Hi I have Unity 2018.2.9f1 and xcode 10. The xcode project is made without any issues but when I build it I have this error: Command PhaseScriptExecution failed with a nonzero exit code

This error is related to the Appodeal SDK. If anyone else has this please report it.

1 Like

Is there any temporary workaround to the memory issue?

@_Paulius We’ve tested using Unity 2018.2.1f1 and 2018.2.11f1, all of the XCode 10 betas, and the current Xcode release 10.0 (10A255). We’ve tried it in a new project, as well as an upgraded project, and each time we do a clean build, we have to manually change the Deployment Target to 12.0 in XCode. I’ve gone ahead and submitted a report, thanks!

For future Googlers… our particular issue was being caused by line 355 in the UnityARBuildPostprocessor, part of the ARKit plugin. Mystery solved!

1 Like

Hello,we need DPI detection… when 2017.4.13f1 will be released?
We use the 2017.2 version there will be an update for that?
Thank you