使用 fastlane 为 iOS 构建 Unity 游戏失败,并缺少 USYM_UPLOAD_AUTH_TOKEN

Sea*_*leh 6 unity-game-engine fastlane

我正在使用fastlane为 iOS 构建 Unity 游戏,但自从我启用Unity 的云诊断后,我的 iOS 构建一直失败并显示以下消息Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment variable

此错误消息导致 fastlane 在ARCHIVE FAILED构建应用商店时失败。

Sea*_*leh 6

请尝试以下操作以使您的构建通过:

  • 如果您使用命令行从命令行构建 Unity 项目-batchmode,请务必将-username和传递-password到 Unity。[来源]
  • 确保您用于登录 Unity 的用户有权访问Unity 开发人员仪表板中的项目
  • 如果您使用的是旧版本的 Unity,请务必升级,有一个与此相关的已知错误
  • 如果这些都不起作用,请尝试将环境变量设置USYM_UPLOAD_AUTH_TOKEN为任意值。这将使将符号文件上传到 Unity 服务器失败,但应该会导致您的构建通过。[来源]
  • 您还可以再次禁用 Unity Cloud Diagnostics 以使其立即运行。

出现此问题的原因是,启用 Unity 的云诊断会告诉 Xcode 项目将符号文件上传到 Unity 的服务器,作为构建游戏的一部分。这样你就有了符号文件来帮助你处理游戏崩溃。

这一切的工作原理如下:您必须登录 Unity,以便它可以获得用于上传游戏符号文件的令牌。然后,UnityUSYM_UPLOAD_URL_SOURCEUSYM_UPLOAD_AUTH_TOKEN生成的Unity-iPhone.xcodeproj/project.pbxproj. 在 xcode 构建期间有两个工具,usymtool它们process_symbols.sh使用这些值将符号发送到 Unity。您可以在以下位置找到usymtool日志~/Library/Logs/Unity/symbol_upload.log