我在使用 fastlane 和从 BitBucket 克隆 git repo 时遇到了一些问题。我收到以下错误:
fatal: could not read Username for 'https://bitbucket.org': terminal prompts disabled
[17:21:34]: Exit status: 128
[17:21:34]: Error cloning certificates repo, please make sure you have read access to the repository you want to use
[17:21:34]: Run the following command manually to make sure you're properly authenticated:
Run Code Online (Sandbox Code Playgroud)
我可以git clone毫无问题地手动repo,但是当我使用 fastlane 运行它时,我遇到了问题。
bitbucket command-line-interface git-clone fastlane fastlane-match
如何从 fastlane 通过 XCTest 仅运行一个 ui-test?
我知道 fastlane: only_testing 的参数,但不明白如何使用它。能给我举个例子吗
我将所有 ui 测试运行为:
fastlane ios RunningUITests
但希望fastlane ios RunningUITests only_testing:GTUITests/GT00FirstClass/testFunc
这对我不起作用
你能举一个确切的例子吗?
我有一个执行uploadToTestFlight操作的 Fastfile :
uploadToTestflight(
username: "foo@example.com",
skipWaitingForBuildProcessing: false,
distributeExternal: true)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,这成功了。但是,它实际上并没有将构建分发给任何人。当我查看 App Store Connect > My Apps > Foo App > TestFlight > iOS 上的构建时,它在构建名称附近显示“已批准”,这意味着它已经通过了审核过程。
但是,当我单击构建时,我注意到它被发布到的唯一组或用户是App Store Connect Users,这意味着它实际上并未从外部发布。
我有一个名为的组Foo Group,每当我运行 fastlane 时,我都想将其发布到该组。我怎么做?
在您对我的问题感到生气之前,我知道没有一种设置 Fastlane 的最佳方法,但我想更好地了解您在开始使用它时可以采用的不同方法。
我正在为一个项目设置 Fastlane。现在我只在我的本地机器上有它,但我想在 CI 环境中设置它(在我的例子中是 GitLab-CI,但我想它并不那么重要)。
披露,我不仅是设置 Fastlane 的新手,而且是我自己设置 CI 的新手(不过我已经使用了它们,)
阅读代码签名文档(https://docs.fastlane.tools/codesigning/getting-started/)后,我可以看到不同的替代方案,但我不确定它们在 CI 环境中的限制是什么。总之,在以下情况下签署构建的好做法是什么:提交到 Testflight、运行单元测试、提交到 AppStore 等等。
选项是:
matchcert 和 sigh 到目前为止我的论文:
match:
match拥有有效的开发配置文件中受益。不确定发布到 Testflight/Appstore 的好处。cert和sigh:
要使用它只需要在 build_app 之前几行:
get_certificates # cert
get_provisioning_profile # sigh
build_app
Run Code Online (Sandbox Code Playgroud)它下载项目根目录中的证书和配置文件。
在 macOS Big Sur 12.3.0、Xcode 12.5.0 上通过 cli/fastlane 运行 ui 测试时
xcodebuild -showBuildSettings -workspace ./MyWorkspace.xcworkspace -scheme MyScheme-UITests
Run Code Online (Sandbox Code Playgroud)
xcodebuild[88311:3500544] DVTErrorPresenter:无法加载模拟器设备。
域:DVTCoreSimulatorAdditionsErrorDomain
代码:3
失败原因:此 Mac 上安装的 CoreSimulator 框架版本已过时,此版本的 Xcode 不支持。
恢复建议:请确保您已安装 Mac 软件的所有可用更新,并且您运行的是 macOS 支持的最新版本的 Xcode。
——
CoreSimulator 已过时。当前版本 (732.18.6) 比构建版本 (757.5.0) 旧。
域:DVTCoreSimulatorAdditionsErrorDomain
代码:3
——
xcodebuild[88311:3500544] iOSSimulator: [SimServiceContext sharedServiceContextForDeveloperDir:error:] 返回 nil (Error Domain=DVTCoreSimulatorAdditionsErrorDomain Code=3“CoreSimulator 已过时。
当前版本 (732.18.6) 比构建版本 (757.5.0) 旧。”
UserInfo={NSLocalizedDescription=CoreSimulator 已过时。当前版本 (732.18.6) 比构建版本 (757.5.0) 旧。})。模拟器设备支持已禁用。
需要更新什么?
它是通过点击“安装组件”修复的,但是我需要弄清楚究竟将安装什么以及是否可以通过 cli 完成
为了获取证书和配置文件,我在连接到私人存储库时遇到了一些麻烦。以下是在 circle-ci 作业/工作流中的 fastlane 通道中运行的一些代码。我想这是可能的,因为这里
username = ENV['USERNAME']
personal_github_access_token = ENV["PERSONAL_GITHUB_ACCESS_TOKEN"]
authorization_token_str = "#{username}:#{personal_github_access_token}"
basic_authorization_token = Base64.encode64(authorization_token_str)
match(
git_basic_authorization:basic_authorization_token,
type: "development",
app_identifier: app_identifiers(),
readonly: true
)
Run Code Online (Sandbox Code Playgroud)
错误
[12:08:10]: 克隆远程 git repo... [12:08:10]: 如果克隆 repo 时间太长,您可以使用
clone_branch_directlymatch 中的选项。克隆到“/var/folders/1b/gl7yt7ds26vcyr1pkgld6l040000gn/T/d20191030-1122-178s7ae”......错误:未找到存储库。致命:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。[12:08:10]:退出状态:128 [12:08:10]:克隆证书存储库时出错,请确保您对要使用的存储库具有读取权限[12:08:10]:运行以下命令手动命令以确保您已正确验证:
感谢您的评论和回答。:)
我是 Fastlane 的新手,安装它会抛出官方文档。现在我想使用 Fastlane 创建一个应用程序并尝试运行基本命令“ bundle exec fastlane create_app ”,其中“ create_app ”是在我的项目目录中的 Fastfile 中创建的通道。之后,它给了我错误:“未经授权的访问”
我不明白为什么会这样?我在下面给出输出日志。
***@iOS-MAC-15 TryFastlane % bundle exec fastlane create_app
[?]
[10:27:24]: ------------------------------
[10:27:24]: --- Step: default_platform ---
[10:27:24]: ------------------------------
[10:27:24]: Driving the lane 'ios create_app'
[10:27:24]: ---------------------
[10:27:24]: --- Step: produce ---
[10:27:24]: ---------------------
+----------------+--------------------------------+
| Summary for produce 2.137.0 |
+----------------+--------------------------------+
| username | *** |
| app_identifier | com.***.*** |
| sku | 1576643244 |
| platform | ios |
| language | …Run Code Online (Sandbox Code Playgroud) 我正在研究 CircleCI,并且我正在尝试使用 Firebase 测试实验室为 Android 库执行仪器化测试(因为 CircleCI 不支持 Android 虚拟设备)。
我的 Instrumented 测试在 Android Studio 下工作起来就像一个魅力,但在 Firebase 测试实验室下执行时,它很挣扎!
事实上,主要问题是当我编译我的库时,输出中没有 APK 文件,而是一个 AAR 文件!
$ ./gradlew assembleDebug
$ ./gradlew assembleDebugAndroidTest
Run Code Online (Sandbox Code Playgroud)
那么您对使用 Firebase 测试实验室为 Android 库运行 Instrumented Test 有什么建议吗?
这里我的命令不起作用(由 fastlane 生成):
$ ./gradlew assembleDebug
$ ./gradlew assembleDebugAndroidTest
Run Code Online (Sandbox Code Playgroud)
$ gcloud firebase test android run \
--type instrumentation \
--app lib/build/outputs/apk/androidTest/debug/lib-debug-androidTest.apk \
--test lib/build/outputs/apk/androidTest/debug/lib-debug-androidTest.apk \
--device model=walleye,version=28,locale=en_US,orientation=portrait \
--timeout 30m
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用我在 Fastfile 中使用的一些帮助函数来制作一个 ruby 模块。它看起来如下:
lane :a do |options|
Utils.foo
end
module Utils
def self.foo
get_info_plist_value(...)
end
end
Run Code Online (Sandbox Code Playgroud)
当我尝试运行车道时,我收到此错误:undefined method 'get_info_plist_value' for Utils:Module。
我尝试了以下方法来解决这个问题:
extend Utils在模块定义之后添加Fastlane或Fastlane::Actions进入模块这些对我没有帮助。
还有其他方法可以解决问题吗?
我正在为 Android 和 iOS 开发 React-Native 项目。
我使用 Fastlane 将 Android 应用程序分发到 Firebase App Distribution。我按照firebase 指令和fastlane 指令来设置这些工具。
在快车道部分,这是我的Fastfile:
desc "Submit a new Beta Build to firebase app distribute"
lane :beta do
gradle(task: "clean assembleRelease")
firebase_app_distribution(
app: "1:4823523451:android:fb106cd9iu76gr3ededc0",
firebase_cli_token: "1//0cDO6RQESnRMvCgYIACAAgAwSNwF-L9IrPk97hOEsuXxXNHXUfpKQRsiAsqu_mmGhGmOPoIfdfThgjHoKlJS4X4auLr_d2QoLSXg",
groups: "qa-team, trusted-testers",
release_notes: "my 1st release",
testers: "n1cer4@gmail.com",
debug: true)
end
Run Code Online (Sandbox Code Playgroud)
以上firebase_cli_token是我通过运行命令获取的刷新令牌bundle exec fastlane run firebase_app_distribution_login
应用程序 ID 也是正确的。
当我运行时fastlane beta,我最终出现以下错误App Distribution could not find your app. Make …