Unity editor not able to build to iDevice after iOS update

Before updating my iOS to version 8.3 I was building from Unity fine, but after the update it is failing at the “Deploying Player” stage with the following exception:

UnityException: Launching iOS project via Xcode failed. Check editor log for details.
UnityEditor.iOS.PostProcessiPhonePlayer.LaunchInXcode (BuildTarget target, System.String path)
UnityEditor.iOS.PostProcessiPhonePlayer.Launch (BuildTarget target, System.String path)
UnityEditor.iOS.iOSBuildPostprocessor.LaunchPlayer (BuildLaunchPlayerArgs args)
UnityEditor.PostprocessBuildPlayer.Launch (BuildTarget target, System.String path, System.String productName, BuildOptions options) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:282)
UnityEditor.HostView:OnGUI()

If I open Xcode there are a couple of red flags that I see:

  • My iPhone is listed as an ineligible device (despite having an up to date provisioning profile)
  • In the General settings the Deployment Target is set to 8.1 instead of 8.3 (in the Unity editor Player Settings under the Optimization header I can only set the Target iOS Version to 8.1).

If in Xcode I select my device via Product > Destination > Ineligible Devices: My Phone AND I change the deployment target to 8.3 I can create a successful build, but I would like to be able to build straight from Unity again. Does anyone know why this would be happening?

Can it be that you haven’t updated your XCode to 6.3? The 8.3 iOS sdk is coming with 6.3 version.

The fix for selecting your ineligible phone is to do it from the Product → Destination menu item instead of the little widget in the upper left corner.

The problem MAY be related to this: I have my Unity3D iOS player settings set to SDK 5.1 minimum. However, the IL2CPP-generated XCode project at SDK 8.3 selected, so that was what made my 8.2 iPad ineligible.

I manually changed the target to 5.1 (in XCode) and then my iPad was no longer ineligible.

1 Like

Thanks for the replies. Looks like this may be a known bug.

As Kurt said, you can select an ineligible device in the mean time from the Product > Destination menu even if the widget will not allow you to.

Thanks Kurt, that sorted me out.