在使用 Mapbox 的 AppCenter 中构建 Flutter iOS 移动应用程序

Building an Flutter iOS mobile application in AppCenter that uses Mapbox

我已经按照 mapbox 的说明 here 进行操作,并且可以在本地成功构建包。我以前能够使用旧版本的 mapbox 构建我的应用程序,但这个新版本打破了它。

我有下面的 post-clone 脚本,用于将 .netrc 文件添加到构建计算机,然后 运行 flutter build 命令。它到达 flutter build 行,然后在 pod install 行失败。错误信息没有说明什么 URL returns 403。这是 运行 --verbose.

的代码输出

我已经将 mapbox_key 输入到构建的 App Center 环境变量中,并使用 echo 命令验证了它的设置是否正确。

有没有人以前遇到过这个问题并且知道如何解决?

错误信息

                   Cloning into '/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/d20220201-5726-105j6ub'...
                    Cloning into '/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/d20220201-5726-cc9t4i'...
                    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                                   Dload  Upload   Total   Spent    Left  Speed
                  
     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
     0    66    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
                  curl: (22) The requested URL returned error: 403

[  +14 ms] "flutter ios" took 426,650ms.
[   +7 ms] Error running pod install
[        ] 
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      CocoaPods._runPodInstall (package:flutter_tools/src/macos/cocoapods.dart:340:7)
           <asynchronous suspension>
           #2      CocoaPods.processPods (package:flutter_tools/src/macos/cocoapods.dart:168:7)
           <asynchronous suspension>
           #3      processPodsIfNeeded (package:flutter_tools/src/macos/cocoapod_utils.dart:44:30)
           <asynchronous suspension>
           #4      buildXcodeProject (package:flutter_tools/src/ios/mac.dart:203:3)
           <asynchronous suspension>
           #5      _BuildIOSSubCommand.runCommand (package:flutter_tools/src/commands/build_ios.dart:264:37)
           <asynchronous suspension>
           #6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1125:27)
           <asynchronous suspension>
           #7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #8      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #9      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
           <asynchronous suspension>
           #10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #11     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
           <asynchronous suspension>
           #12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #14     main (package:flutter_tools/executable.dart:92:3)
           <asynchronous suspension>


[   +3 ms] ensureAnalyticsSent: 1ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1
##[error]The process '/bin/bash' failed with exit code 1
##[error]Bash failed with error: The process '/bin/bash' failed with exit code 1
##[section]Finishing: Post Clone Script
##[section]Starting: Xcode build (signed)

post-克隆脚本

#!/usr/bin/env bash

set -e
set -x

cd ~
echo "machine api.mapbox.com
login mapbox
password $mapbox_key" > .netrc

chmod 0600 .netrc
cat .netrc

cd ./work/1/s/rider_app

git clone https://github.com/flutter/flutter.git -b 2.5.3 --depth 1
export PATH="$PATH:`pwd`/flutter/bin"

flutter doctor

flutter clean

echo "Installed flutter in `pwd`/flutter"

flutter build ios --verbose --release --no-codesign --no-sound-null-safety --dart-define=TRC_API_URL=$TRC_API_URL --dart-define=TRC_RIDER_GRPC_API_URL=$TRC_RIDER_GRPC_API_URL


我需要 select 至少所有这些令牌范围才能解决此问题。我不确定哪个附加范围解决了这个问题。我最初只有 DOWNLOADS:READ selected。