标签: fastlane

fastlane - 克隆证书存储库时出错

我在使用 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

7
推荐指数
1
解决办法
7154
查看次数

如何从 fastlane 只运行一个 ui-test?

如何从 fastlane 通过 XCTest 仅运行一个 ui-test?

我知道 fastlane: only_testing 的参数,但不明白如何使用它。能给我举个例子吗

我将所有 ui 测试运行为:

fastlane ios RunningUITests 但希望fastlane ios RunningUITests only_testing:GTUITests/GT00FirstClass/testFunc 这对我不起作用

你能举一个确切的例子吗?

xcode jenkins xctest fastlane

7
推荐指数
1
解决办法
2987
查看次数

如何通过 Fastlane 将构建分发给外部测试人员?

我有一个执行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 时,我都想将其发布到该组。我怎么做?

我尝试通过Pilot文档解决但它没有外部分发的示例。

fastlane fastlane-pilot app-store-connect

7
推荐指数
2
解决办法
2413
查看次数

在 CI 上使用 Fastlane 进行代码签名的最佳方式

在您对我的问题感到生气之前,我知道没有一种设置 Fastlane 的最佳方法,但我想更好地了解您在开始使用它时可以采用的不同方法。

我正在为一个项目设置 Fastlane。现在我只在我的本地机器上有它,但我想在 CI 环境中设置它(在我的例子中是 GitLab-CI,但我想它并不那么重要)。

披露,我不仅是设置 Fastlane 的新手,而且是我自己设置 CI 的新手(不过我已经使用了它们,)

阅读代码签名文档(https://docs.fastlane.tools/codesigning/getting-started/)后,我可以看到不同的替代方案,但我不确定它们在 CI 环境中的限制是什么。总之,在以下情况下签署构建的好做法是什么:提交到 Testflight、运行单元测试、提交到 AppStore 等等。

选项是:

  • match
  • certsigh
  • Xcode 的代码签名功能
  • 手动

到目前为止我的论文:

  • match

    • 设置和使用比其他选项更难,但有一个指南:https : //codesigning.guide/
    • 在我看来,它是最“专业”的选择。
    • 我知道对于现有项目,它会撤销当前的证书。
      1. 是不是只有第一次?
      2. 如果 Fastlane 已经使用新证书,当前证书被撤销的陷阱是什么?我看到很多人试图阻止这种情况(例如this)。但是,现在只有我作为开发人员,我们没有任何 CI,所以我猜它不会对我产生太大影响。但是,这对于其他项目设置来说很方便。
    • 对于此设置,您需要一个私有存储库来存储加密证书。
      1. 当我与我的 Android 同事讨论这个问题时,他对使用版本控制系统来存储证书感到非常惊讶。
      2. 那究竟是什么原因呢?我的理解(也许我错了)是,通过这种方式,团队中的所有开发人员都可以从match拥有有效的开发配置文件中受益。不确定发布到 Testflight/Appstore 的好处。
  • certsigh

    • 要使用它只需要在 build_app 之前几行:

      get_certificates         # cert
      get_provisioning_profile # sigh
      build_app
      
      Run Code Online (Sandbox Code Playgroud)
    • 它下载项目根目录中的证书和配置文件。

      1. 我想应该有一种方法可以指定将它们放在哪里而不是在那里,也许吧?
      2. 我们应该忽略这些文件或在此之后清理存储库。我认为他们不应该提交到存储库。
      3. 它需要这个带有 app_identifier、apple_id 等的 Appfile,或者至少是我第一次设置 Fastlane …

continuous-integration match ios fastlane fastfile

7
推荐指数
1
解决办法
710
查看次数

此 Mac 上安装的 CoreSimulator 框架版本已过时,此版本的 Xcode 不支持

在 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 完成

simulator ios xcode-ui-testing fastlane xcode12.5

7
推荐指数
1
解决办法
294
查看次数

Fastlane Match 使用个人访问令牌和用户名连接失败

为了获取证书和配置文件,我在连接到私人存储库时遇到了一些麻烦。以下是在 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-match circleci-2.0

6
推荐指数
3
解决办法
2794
查看次数

Fastlane 完成时出现错误“无法完成请求,因为:未经授权的访问”在 iOS 中

我是 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)

continuous-integration ios fastlane

6
推荐指数
1
解决办法
2564
查看次数

使用 Firebase 测试实验室为 Android 库执行仪器测试?

我正在研究 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)

android firebase circleci fastlane firebase-test-lab

6
推荐指数
1
解决办法
611
查看次数

从 ruby​​ 模块调用 Fastlane 操作

我正在尝试使用我在 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在模块定义之后添加
  • 包括FastlaneFastlane::Actions进入模块

这些对我没有帮助。

还有其他方法可以解决问题吗?

ruby fastlane

6
推荐指数
1
解决办法
320
查看次数

Fastlane 分发失败,出现错误“App Distribution 找不到您的应用程序”

我正在为 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 …

android firebase react-native fastlane

6
推荐指数
2
解决办法
8147
查看次数