Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Testflight external build says app is using "beta version of Xcode"

Discussion in 'macOS' started by tonemcbride, Dec 20, 2021.

  1. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,077
    Hi,

    I've codesigned and built my Unity app for OSX and uploaded it to TestFlight. This works fine without any errors but when I try to submit it for external testing I get this error:

    "This build is using a beta version of Xcode and can’t be submitted. Make sure you’re using the latest version of Xcode or the latest seed release found on the releases tab in a href="https://developer.apple.com/news/releases/" target="_blank">News and Updates"

    I'm using Unity 2020.3.21f1 to build the project (which has no native plugins) and I have the release build of xCode 13.1 installed on my Mac. As far as I'm aware Unity doesn't even need this to build the project though. The Info.plist looks fine too, it has the correct xCode keys:

    Code (CSharp):
    1. <key>DTXcode</key>
    2. <string>1310</string>
    3. <key>DTXcodeBuild</key>
    4. <string>13A1030d</string>
    Does anyone know if the Unity libraries themselves were built using a beta version of xCode? That seems unlikely but I can't figure out how Apple is testing for this.

    Thanks!
     
  2. Nakagawa_Takashi

    Nakagawa_Takashi

    Joined:
    Apr 12, 2019
    Posts:
    3
    same problem

    I use Unity 2020.3.26f1
    My mac has xcode 13.2 installed which I downloaded from the App store.
     
  3. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    Indeed it turns out we are using beta xcode (we needed to make a jump for apple silicon support) and we updated to a proper release for 2021. I'll make sure we use proper xcode for 2020.3 too (in some future release)
    Please create a bug about it (no need for repro etc) and drop case number here. This way you will be able to track when it is released
     
    Last edited: Jan 24, 2022
  4. fcloss

    fcloss

    Joined:
    Dec 1, 2011
    Posts:
    191
    In my case, using 2018.4LTS, there won't be a solution, am i right?

    We will soon go to 2019.4LTS, will it be fixed for it (or already is)?
     
    Last edited: Jan 28, 2022
  5. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    this is a problem exclusive to 2020.3 (we F***ed up exactly this)
     
  6. fcloss

    fcloss

    Joined:
    Dec 1, 2011
    Posts:
    191
    =(

    It also happened to me with Unity 2018.4.33 which is the one I am currently using. Maybe caused by XCode and OSX 12.2 just released. I hope it is just a Test Flight error and not for the real submission.
     
  7. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    omg, i cannot comment on 2018.4 honestly (i cannot even build it anymore)
    2019.4 should be fine
     
  8. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,077
    If you need a temporary workaround I managed to get it working by creating a different Info.plist that had keys from a non-beta xCode. It seems to pass Apple's check and allows it to be uploaded to TestFlight.

    Here are the keys I used, I'm not sure if there is a specific one that they check so I just used all of them. Most of them just specify the xCode version used:

    Code (CSharp):
    1. <key>BuildMachineOSBuild</key>
    2. <string>20G95</string>
    3.  
    4. <key>DTCompiler</key>
    5. <string>com.apple.compilers.llvm.clang.1_0</string>
    6.  
    7. <key>DTPlatformBuild</key>
    8. <string>12E507</string>
    9.  
    10. <key>DTPlatformName</key>
    11. <string>macosx</string>
    12.  
    13. <key>DTPlatformVersion</key>
    14. <string>11.3</string>
    15.  
    16. <key>DTSDKBuild</key>
    17. <string>20E214</string>
    18.  
    19. <key>DTSDKName</key>
    20. <string>macosx11.3</string>
    21.  
    22. <key>DTXcode</key>
    23. <string>1251</string>
    24.  
    25. <key>DTXcodeBuild</key>
    26. <string>12E507</string>
     
    smallbit likes this.
  9. smallbit

    smallbit

    Joined:
    Oct 3, 2013
    Posts:
    60
    Thanks a lot, I can confirm this works, and builds can be submitted for external TestFlight review.
     
    tonemcbride likes this.
  10. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    just in case
    https://unity3d.com/unity/whats-new/2020.3.28

    macOS: Fixed an issue that MacOS player is now built with released xcode, also fixed a TestFlight warning about using beta Xcode.

    (i am sorry for a wording - "Fixed an issue that" seems to be added automatically or by somebody not me 8))
     
    tonemcbride likes this.
  11. gunther_unity

    gunther_unity

    Joined:
    Feb 11, 2020
    Posts:
    3
    We've upgrade to Unity 2020.3.28f1 and it fixed some networking issues we had that were exclusive to builds downloaded via TestFlight but we're still getting the "beta version" error on App Store Connect when we try to distribute to any groups other than the default group. This is what we see:

    View attachment 1006852
     

    Attached Files:

  12. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    >>but we're still getting the "beta version" error on App Store Connect
    hm, thats weird. Are using .app generated or build with xcode?
     
  13. smallbit

    smallbit

    Joined:
    Oct 3, 2013
    Posts:
    60
    I tried with 3.28 error is still there.
     
  14. gunther_unity

    gunther_unity

    Joined:
    Feb 11, 2020
    Posts:
    3
    If we build a .app, we get the error. If we build an .xcodeproj we do not get the error; this does, however, introduce a tremendous amount of complexity to our build process and breaks our CI/CD methods.
     
  15. gunther_unity

    gunther_unity

    Joined:
    Feb 11, 2020
    Posts:
    3
    I'll also note that this workaround is what we're currently going with. It's far easier than automating the handling of an .xcodeproj. We're using different values for the fields but those are easy to figure out by making a blank MacOS project in Xcode, building it, then stealing the values from the .app/Content/Info.plist it creates.
     
    Nakagawa_Takashi likes this.
  16. Nakagawa_Takashi

    Nakagawa_Takashi

    Joined:
    Apr 12, 2019
    Posts:
    3
    I tried with 3.30 error is still there.
    Occurs when APP is created directly from Unity.
    Creating an xcode Workspace from Unity resolves the error.
     
  17. Alexey

    Alexey

    Unity Technologies

    Joined:
    May 10, 2010
    Posts:
    1,602
    >>Creating an xcode Workspace from Unity resolves the error.

    yeah, that should be a preferred way

    >>Occurs when APP is created directly from Unity.

    yeah our info.plist misses some entries that testflight expects
     
  18. Petras-Unity

    Petras-Unity

    Unity Technologies

    Joined:
    Oct 7, 2020
    Posts:
    24
    Distributing apps to Test Flight and App Store is supported by exporting Xcode project and uploading trough Xcode as per Apple's guidelines.

    For distribution where Apple validation is not needed, .app generated straight from Unity can be used. If some extra info.plist values are needed, PlistDocument API can be used.
     
  19. smallbit

    smallbit

    Joined:
    Oct 3, 2013
    Posts:
    60
    Glad there is a workaround, as its tons of work to change the whole deployment pipeline mid production. It's funny how in half a year it went from "we F***ed up" to "it's by design" while the documentation still states the build app and codesign manually is preferred way.
     
  20. dirty-rectangle

    dirty-rectangle

    Joined:
    Apr 23, 2015
    Posts:
    78
    Are there any plans to update the Xcode version on UCB which is being used for Mac .app format builds? When I log which version is being used it is 13.2.1.

    Using UCB to generate the Xcode project only diminishes the use of UCB for Mac builds.