Search Unity

[Solved] 'metal' added to 'Required Device Capabilities' in info.plist

Discussion in 'iOS and tvOS' started by mylastggColto, Apr 17, 2020.

  1. mylastggColto

    mylastggColto

    Joined:
    Feb 28, 2017
    Posts:
    28
    Hello!

    After updating to Unity 2019.3.5f1, the latest XCode builds have the flag "metal" in the "Required Device Capabilities" dictionary in info.plist together with armv7, which causes the ipa to be rejected by Apple.

    How can I control which flags are added from Unity? Is there a flag / option that forces Unity to add the flag in the info.plist?

    Thank you for your help
     
  2. mylastggColto

    mylastggColto

    Joined:
    Feb 28, 2017
    Posts:
    28
    Removing "Auto Graphic API" and setting BOTH
    • Metal
    • OpenGL 2 (Deprecated)
    solved the issue apparently
     
    Last edited: Apr 18, 2020
    Petr777, p0w1nd and mklasson like this.
  3. AstroMalte

    AstroMalte

    Joined:
    Mar 5, 2014
    Posts:
    7
    It works for me as well and I hope there aren't any side-effects.
    I have spent the last hours trying to solve this and there are no information to be found. So vague.
    It's like fumbling in the dark trying to grab a needle with boxing gloves.
    Thank you!
     
  4. Neonlyte

    Neonlyte

    Joined:
    Oct 17, 2013
    Posts:
    516
  5. mylastggColto

    mylastggColto

    Joined:
    Feb 28, 2017
    Posts:
    28
    @Neonlyte

    I'm attaching a screenshot of the warning, Xcode won't let me copy and paste.

    Btw this happens ONLY if you already have live builds. Apple does not want you to change the required device capabilities of existing apps, they claim you should pick them at first and be able to support them for the rest of the app's life (https://developer.apple.com/library/archive/qa/qa1623/_index.html).

    Important: Because you can't add UIRequiredDeviceCapabilities restrictions after an app is in the store, be sure to plan ahead by choosing requirements you will be comfortable supporting indefinitely going forward.

    Our previous build only had armv7 as a requirement and Apple is not happy that now I am also adding metal on top of that.

    This is usually no problem, but when Unity changes the output of the info.plist from one version to another under the hood, this can happen.
     

    Attached Files:

  6. Neonlyte

    Neonlyte

    Joined:
    Oct 17, 2013
    Posts:
    516
    Oh that just made me sick, Apple themselves does not have a good track record on app support cycle (but I don't have evidence that they violated this rule themselves).

    Thank you for sharing this, I am just planning rewriting my project with new technologies and dropping support for all the non-metal devices. I guess the way to go is to just bump the min-iOS version to iOS 11.
     
    Last edited: Apr 27, 2020
  7. Neonlyte

    Neonlyte

    Joined:
    Oct 17, 2013
    Posts:
    516
    https://developer.apple.com/library/archive/qa/qa1623/_index.html

    Just to extend on this topic. It seems that Apple are happy with developer bumping the min iOS version, but does not allow requirements to be changed to match the devices that can run that minimum version of iOS. Sounds to me like a legacy issue of how they process the apps
     
  8. p0w1nd

    p0w1nd

    Joined:
    Oct 28, 2015
    Posts:
    140
    This works for me. Thanks!!