Search Unity

iOS Build is failing, seems like a fastlane problem? Not sure how to proceed

Discussion in 'Unity Cloud Build' started by fealtydev, May 21, 2019.

  1. fealtydev

    fealtydev

    Joined:
    Dec 25, 2018
    Posts:
    13
    Hey y'all,

    My iOS failed and I cannot determine cause.

    The only errors I can find in the full log build are:
    I tried a clean build, and the Unity export itself is working.

    The full log is attached.

    (I do not have a mac unfortunately.)

    Thank you for your insight
     

    Attached Files:

  2. raypatrick

    raypatrick

    Joined:
    Oct 23, 2018
    Posts:
    3
    Same thing for me as well:

    15447: ▸ Running script 'Run Script'
    15448: ▸ Running script 'Process symbols'
    15449: ▸ ** ARCHIVE FAILED **
    15450: ▸ The following build commands failed:
    15451: ▸ PhaseScriptExecution Process\ symbols /BUILD_PATH/Library/Developer/Xcode/DerivedData/Unity-iPhone-fhncfgsfzjqpskbfucfmhmkmsvnv/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Script-FC894680ABC3B786C304894D.sh
     
  3. fealtydev

    fealtydev

    Joined:
    Dec 25, 2018
    Posts:
    13
    What version of unity are you using
    This was on 2019.x

    I exported and imported the project into a new 2018.4 project. Everything built fine now.
     
  4. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    At this stage I believe this is likely caused by 2019.1.3f1, if you are using the target "latest 2019.1 version" then you will have been automatically moved on to this newer Unity version recently which has caused these unexpected build failures.

    If you just want the builds to start working immediately, switching your build targets to specifically run against 2019.1.2f1 should prevent this issue. You can also try running against the 2019.2 beta since I have not seen this issue happen there but that comes with all the normal risks you would expect from a beta release.

    If you want to help us resolve this, try updating your local Unity version to 2019.1.3f1. Commit any changes which happen as a result of opening the project in this updated version then see if your project builds successfully in UCB with the updated assets - and post here if this fixed it! I'll be doing this myself along with a few other experiments but as always the more data points I have access to the quicker this can be fixed.

    Please also be sure to post here or submit a support ticket if you are experiencing this issue when running in UCB on versions OTHER than 2019.1.3f1 since it would be useful to identify if there are any other cases of this occurring.
     
    fealtydev likes this.
  5. mashc

    mashc

    Joined:
    May 15, 2013
    Posts:
    12
    Hey victorw, I am getting the same error here. I'm only given the 'Always Use Latest 2019.1' option in the drop down. How can I select a more specific 2019 version?
     
  6. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    Other more specific Unity versions are available to select when configuring a Build Target (Cloud Build -> Config -> Basic Info in developer dashboard). You will have to scroll down the list though since the "Always Use Latest" targets are all at the top.

    (We're hoping to add an additional option in future which would ensure that UCB always attempts to use exactly the same version as you are running locally, but this is a lot more complex than it sounds...)
     
    fealtydev likes this.
  7. fealtydev

    fealtydev

    Joined:
    Dec 25, 2018
    Posts:
    13
    Victor, thank you very much for updating us on this.

    Just to add, I think your theory is correct because the build started failing after May 22.
     
    LurchUSA likes this.
  8. raypatrick

    raypatrick

    Joined:
    Oct 23, 2018
    Posts:
    3
    I can confirm switching the build target to an earlier version of unity (in my case 2019.1.0f2) resolved this IOS cloud build issue.
     
  9. steego

    steego

    Joined:
    Jul 15, 2010
    Posts:
    897
    @victorw Actually there seems to be a bug on the webpage, the "Unity version" dropdown is not scrollable for me. I can briefly see the scrollbar when opening the popup, but it immediately disappears, and scrolling only results in scrolling the page behind.

    This is with Chrome Version 74.0.3729.169 (Official Build) (64-bit) on macOS High Sierra 10.13.6.

    Edit: Works fine in Safari
     
  10. mashc

    mashc

    Joined:
    May 15, 2013
    Posts:
    12
    @steego Yes, this is the behaviour I am seeing also. Opening the cloud build dashboard from safari rather than chrome (v74.0.3729.169) let me scroll and select 2019.1.2f.

    My iOS build is now working again, hoorar!
     
  11. LurchUSA

    LurchUSA

    Joined:
    Sep 20, 2017
    Posts:
    20
    I concur, upgraded my Unity IDE to 2019.1.3f1 just before May 22 and every build AFTER May 22 causes this issue.

    After setting the "Unity version" explicitly to 2019.1.3f1 within the UCB basic info config page, I am reattempting the build now, to see if anything changes.
     
  12. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    Most likely nothing will change there - the always use latest target is already set to 2019.1.3f1. I was hoping that updating locally before committing might resolve this issue but that doesn't sound likely if you had already updated locally. Hopefully you can still work around this issue by targeting 2019.1.2f1 in UCB though.
     
  13. LurchUSA

    LurchUSA

    Joined:
    Sep 20, 2017
    Posts:
    20
    You were right, the build just finished and surprise... surprise, it failed.

    I'll give this a shot now and report back on that build. Thanks for the tip.
     
  14. alexg-unity

    alexg-unity

    Unity Technologies

    Joined:
    Oct 29, 2016
    Posts:
    3
    Just as a longshot and not sure it will work, but have you tried the iOS CloudKit instructions on this post from Phil, your errors seem consistent with what CloudKit users sometimes see under Xcode 10.x runs. It just involves making 2 tiny text files and 1 directory in your asset folder as per that post.
    https://forum.unity.com/threads/uni...ease-and-build-infrastructure-changes.567382/
     
    Last edited: May 23, 2019
  15. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    I think I might have found a fix for this issue but I'm currently not able to replicate this issue for myself so I can't tell whether or not my change would fix anything. Can someone please post or message me their
    Packages/manifest.json
    ? Also as Alex said it would be good to confirm that the issue is not resolved by following the Xcode 10 fastlane config steps outlined here.
     
  16. LurchUSA

    LurchUSA

    Joined:
    Sep 20, 2017
    Posts:
    20
    Attempted to set my UCB version to 2019.1.2f1 and attempted a clean rebuild, but as expected it failed.

    This time however I saw some additional error messages popup:

    1437: ❌;  Undefined symbols for architecture armv7
    1438: ❌; ld: symbol(s) not found for architecture armv7
    1439: ❌; clang: error: linker command failed with exit code 1 (use -v to see invocation)
    1440: publishing finished successfully.
    1441: Finished: FAILURE


    Not sure if this means anything, but something different I noticed.
     
  17. alexg-unity

    alexg-unity

    Unity Technologies

    Joined:
    Oct 29, 2016
    Posts:
    3
    Yup if anyone can try adding these 2 tiny text files and ucb dir to your repo Asset's folder to see if that helps with your iOS builds, and let me know:

    Filename: "Assets/ucb_xcode_fastlane.json"
    Content:
    {
    "gymfile": "Assets/ucb/Gymfile"
    }

    Dir+Filename: "Assets/ucb/Gymfile"
    Content:
    xcargs '-UseModernBuildSystem=NO'
     
  18. LurchUSA

    LurchUSA

    Joined:
    Sep 20, 2017
    Posts:
    20
    Did what you said, but the build is STILL failing. Attached is the text file for the full build log.
     

    Attached Files:

  19. alexg-unity

    alexg-unity

    Unity Technologies

    Joined:
    Oct 29, 2016
    Posts:
    3
    thanks for doing that, sometimes it is worth a shot putting Xcode in Legacy Build mode when dealing FastLane iOS issues, but not this time, looking over your log now. It may be the issue that Victor mentioned instead. I Will check in with him on that.
     
  20. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    110
    Wish I had found this thread 3 days ago. One of the most frustrating build fails I have come across seeing as though the full log was useless in highlighting the problem.
     
  21. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    thorikawa and technicat like this.
  22. alan_motionlab

    alan_motionlab

    Joined:
    Nov 27, 2014
    Posts:
    89
    I'm not 100% sure this is the same error that this is related to, but I'm still getting failures:

    Its being built with 2019.1.4

    Code (csharp):
    1.  
    2. 14544: ** ARCHIVE FAILED **
    3. 14545: The following build commands failed:
    4. 14546: PhaseScriptExecution Process\ symbols /BUILD_PATH/Library/Developer/Xcode/DerivedData/Unity-iPhone-fdezubhkkpcsbafidssammllupvj/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Script-A2F7444285CE459A8F14BB5E.sh
    5. 14547: (1 failure)
    6. 14548: Exit status: 65
    7. 14549: Maybe the error shown is caused by using the wrong version of Xcode
    8. 14550: Found multiple versions of Xcode in '/APPLICATION_PATH/'
    9. 14551: Make sure you selected the right version for your project
    10. 14552: This build process was executed using '/APPLICATION_PATH/Xcode10_2_0.app'
    11. 14553: If you want to update your Xcode path, either
    12. 14554: - Specify the Xcode version in your Fastfile
    13. 14555: ▸ xcversion(version: "8.1") # Selects Xcode 8.1.0
    14. 14556: - Specify an absolute path to your Xcode installation in your Fastfile
    15. 14557: ▸ xcode_select "/APPLICATION_PATH/Xcode8.app"
    16. 14558: - Manually update the path using
    17. 14559: ▸ sudo xcode-select -s /APPLICATION_PATH/Xcode.app
    18. 14560: +-------------+-------------------------------+
    19. 14561: |              Build environment              |
    20. 14562: +-------------+-------------------------------+
    21. 14563: | xcode_path  | /APPLICATION_PATH/Xcode10_2_0.app |
    22. 14564: | gym_version | 2.102.0                       |
    23. 14565: | sdk         | iPhoneOS12.2.sdk              |
    24. 14566: +-------------+-------------------------------+
    25. 14567: ▸     export arch=undefined_arch
    26. 14568: ▸     export variant=normal
    27. 14569: ▸     /bin/sh -c /BUILD_PATH/Library/Developer/Xcode/DerivedData/Unity-iPhone-fdezubhkkpcsbafidssammllupvj/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Script-A2F7444285CE459A8F14BB5E.sh
    28. 14570: ▸ time="2019-05-30T18:29:10Z" level=fatal msg="Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment variable"
    29. 14571: ▸ Command PhaseScriptExecution failed with a nonzero exit code
    30. 14572: ⬆️  Check out the few lines of raw `xcodebuild` output above for potential hints on how to solve this error
    31. 14573:   For the complete and more detailed error log, check the full log at:
    32. 14574:   /BUILD_PATH/Library/Logs/gym/unnamedproject-Unity-iPhone.log
    33. 14575: Looks like fastlane ran into a build/archive error with your project
    34. 14576: It's hard to tell what's causing the error, so we wrote some guides on how
    35. 14577: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
    36. 14578: Before submitting an issue on GitHub, please follow the guide above and make
    37. 14579: sure your project is set up correctly.
    38. 14580: fastlane uses `xcodebuild` commands to generate your binary, you can see the
    39. 14581: the full commands printed out in yellow in the above log.
    40. 14582: Make sure to inspect the output above, as usually you'll find more error information there
    41. 14583: +------------------+-----------+
    42. 14584: |         Lane Context         |
    43. 14585: +------------------+-----------+
    44. 14586: | DEFAULT_PLATFORM | ios       |
    45. 14587: | PLATFORM_NAME    | ios       |
    46. 14588: | LANE_NAME        | ios build |
    47. 14589: +------------------+-----------+
    48. 14590: Error building the application - see the log above
    49. 14591: +------+---------------------------------------------------------------+-------------+
    50. 14592: |                                  fastlane summary                                  |
    51. 14593: +------+---------------------------------------------------------------+-------------+
    52. 14594: | Step | Action                                                        | Time (in s) |
    53. 14595: +------+---------------------------------------------------------------+-------------+
    54. 14596: | 1    | Verifying fastlane version                                    | 0           |
    55. 14597: | 2    | default_platform                                              | 0           |
    56. 14598: | 3    | set_info_plist_value                                          | 0           |
    57. 14599: | 4    | update_project_provisioning                                   | 0           |
    58. 14600: | 5    | sed -i '' '/PROVISIONING_PROFILE_SPECIFIER/d;/DEVELOPMENT_TEA | 0           |
    59. 14601: |    | gym                                                           | 429         |
    60. 14602: +------+---------------------------------------------------------------+-------------+
    61. 14603: fastlane finished with errors
    62. 14604: [!] Error building the application - see the log above
    63. 14605: ! build of 'default-ios' failed. ! xcode build failed.
    64. 14606: Publishing build 41 of motionlabinteractive/mazegame1 for target 'default-ios'...
    65. 14607: Uploading extra_data/build_report/files.json  ...done
    66. 14608: Uploading extra_data/build_report/files.reflected.json
    67. 14609:   ...done
    68. 14610: Uploading extra_data/build_report/steps.reflected.json
    69. 14611:   ...done
    70. 14612: Uploading extra_data/build_report/strippingInfo.json
    71. 14613:   ...done
    72. 14614: Uploading extra_data/build_report/summary.json
    73. 14615:   ...done
    74. 14616: Uploading extra_data/build_report/summary.reflected.json
    75. 14617:   ...done
    76. 14618: Uploading extra_data/build_report/v2.steps.json
    77. 14619:   ...done
    78. 14620: Uploading /BUILD_PATH/Library/Logs/Unity/symbol_upload.log  ...done
    79. 14621: Uploading /BUILD_PATH/Library/Logs/gym/unnamedproject-Unity-iPhone.log  ...done
    80. 14622: publishing finished successfully.
     
  23. softone

    softone

    Joined:
    Oct 25, 2013
    Posts:
    7
    I can also confirm that the building for iOS is NOT working with 2019.1.4f1.

    2019.1.2 works, but builds take a very long time (like 30min to over 1hour). Other platforms build in 7-15 minutes.
     
  24. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    Yeah it looks like I was too quick to post there, we had a configuration issue in production which interfered with my fix. I've released a hotfix now and things are looking promising.
     
  25. mashc

    mashc

    Joined:
    May 15, 2013
    Posts:
    12
    My iOS build is failing again but this time on a different project. I've tried setting the unity version in UCB to Latest 2019.1, and also fixing it to version 2019.1.2f1, but receive the same error:

    146: ▸ ❌; Undefined symbols for architecture armv7
    147: ▸ ❌; ld: symbol(s) not found for architecture armv7
    148: ▸ ❌; clang: error: linker command failed with exit code 1 (use -v to see invocation)[/code]
     
  26. mashc

    mashc

    Joined:
    May 15, 2013
    Posts:
    12
    Updating my previous message with a little more info, heres the full error:

    10829: ❌; Undefined symbols for architecture armv7
    10830: > Symbol: _ui
    10831: > Referenced from: _CanvasJSWrapper_ui_mC9F8864F3C4DD0204850A94FC01A62DED05075CB in Facebook.Unity.Canvas.o
    10832: ❌; ld: symbol(s) not found for architecture armv7
    10833: ❌; clang: error: linker command failed with exit code 1 (use -v to see invocation)

    It looks like something wrong with the Facebook SDK and a combination of Unity 2019.1 (Set to build against latest).

    I've tried a clean build but no luck, and upgrading to 2019.1.6f.

    Any ideas what else I could try?
     
  27. ArturSu1

    ArturSu1

    Joined:
    Oct 2, 2017
    Posts:
    7
    This issue still occurs after migration from Unity 2019.1.0f2 to 2019.1.7f1
    Build works on Unity 2019.1.2.f1. Fail occurs from Unity 2019.1.3.f1.
     
    Last edited: Jun 20, 2019
  28. Tritina

    Tritina

    Joined:
    Jan 22, 2018
    Posts:
    1
    We have the same issue here with our custom iOS build:

    /bin/sh -c /Users/plbuilduser/Library/Developer/Xcode/DerivedData/Unity-iPhone-bqoxylkeapysmzafxukobqayqlps/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Script-0AA74D5B96787ECEAF59D75F.sh
    time="2019-06-19T15:38:29+02:00" level=fatal msg="Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment variable"
    Command PhaseScriptExecution failed with a nonzero exit code

    ** ARCHIVE FAILED **


    I have tried Versions 2019.1.0, 2019.1.2, 2019.1.5, 2019.1.6, 2019.1.7 and 2019.1.8.
    All Versions except 2019.1.2 failed to build. 2019.1.2 works.

    @victorw could you please elaborate on the fix you did for 2019.1.2. And can we expect to get it back in a later version?

    We are currently evaluating switching our released product from 2017.LTS to 2019, so being able to reliably build for iOS is crucial.
     
    ArturSu1 likes this.
  29. jabadia

    jabadia

    Joined:
    Feb 2, 2017
    Posts:
    1
    Hi,
    We found the same problem after upgrading to 2019.1.8f (2019.1.2f didn't had this error).
    We bypassed the problem by adding some fake values to the defined var USYM_UPLOAD_AUTH_TOKEN in the generated xcode project, specifically in the Unity-iPhone.xcodeproj/project.pbxproj, looking for the lines
    USYM_UPLOAD_AUTH_TOKEN =
    and changing them to
    USYM_UPLOAD_AUTH_TOKEN = blahblah
    This can be done from xcode directly of course, I didn't try to update it from within Unity build process.
    It just solved out build process until a real solution comes.

    ,
     
  30. ArturSu1

    ArturSu1

    Joined:
    Oct 2, 2017
    Posts:
    7
    This postprocess does the same.
    @Tritina check it like temp solution
    Code (CSharp):
    1. #if UNITY_IOS
    2. using UnityEditor;
    3. using UnityEditor.Build;
    4. using UnityEditor.Build.Reporting;
    5. using UnityEditor.iOS.Xcode;
    6. using UnityEngine;
    7.  
    8. public class AddFakeUploadTokenPostprocessor : IPostprocessBuildWithReport
    9. {
    10.     public int callbackOrder => 100;
    11.  
    12.     public void OnPostprocessBuild(BuildReport report)
    13.     {
    14.         var pathToBuiltProject = report.summary.outputPath;
    15.         var target = report.summary.platform;
    16.         Debug.LogFormat("Postprocessing build at \"{0}\" for target {1}", pathToBuiltProject, target);
    17.         if (target != BuildTarget.iOS)
    18.             return;
    19.  
    20.  
    21.         PBXProject proj = new PBXProject();
    22.         string pbxFilename = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
    23.         proj.ReadFromFile(pbxFilename);
    24.  
    25.         string targetName = PBXProject.GetUnityTargetName();
    26.         string guid = proj.TargetGuidByName(targetName);
    27.  
    28.         proj.SetBuildProperty(guid, "USYM_UPLOAD_AUTH_TOKEN", "FakeToken");
    29.      
    30.         proj.WriteToFile(pbxFilename);
    31.     }
    32. }
    33. #endif
     
    tonemcbride, DarekRusin and Duobix like this.
  31. Duobix

    Duobix

    Joined:
    Dec 6, 2014
    Posts:
    31
    @ArturSu1 Thx man! I had the "Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment variable" problem on Unity 2018.4.2f1, and it seems that just adding the mentioned USYM build property to my own post-build script solved the issue.
     
  32. Caerson

    Caerson

    Joined:
    Mar 22, 2018
    Posts:
    1
    Has anyone tried 2019.1.9 already? Does the issue still occur?
     
  33. victorw

    victorw

    Unity Technologies

    Joined:
    Sep 14, 2016
    Posts:
    110
    Hi, sorry for missing the replies to this thread until now - as mentioned earlier this is resolved in UCB and the linked thread for the fix (https://forum.unity.com/threads/ios...ed-and-unity-2019-1-4f1-now-available.687163/) also contains details on fixing this issue if you are encountering it in your local batch mode setup - the short version is that you need to start using
    -username
    and
    -password
    in your CLI script.

    As far as I know, the underlying issue has not been resolved yet, here's the issue tracker link for it: https://issuetracker.unity3d.com/is...e-with-runtests-and-cloud-diagnostics-enabled