标签: fastlane

Fastlane:签名无效 - 放弃 .ipa 文件后出现 Invalid Info.plist 错误

我必须放弃最初使用企业配置文件签名的 .ipa 文件。\n由于安全原因,我无法访问该项目的存储库。此外,我必须修改 \n.plist 文件中的内部版本号。

\n\n

首先,我使用 fastlane 使用我的分发证书和应用程序商店配置文件对 .ipa 文件进行签名:

\n\n
fastlane sigh resign /Users/myUserName/Desktop/FolderContainsMyIPA/MyIPAName.ipa --signing_identity "iPhone Distribution: MyDistributionCertName" -p /Users/myUserName/Desktop/FolderContainsMyIPA/myAppStoreProfile.mobileprovision\n
Run Code Online (Sandbox Code Playgroud)\n\n

终端输出显示辞职成功。

\n\n

然后我压缩并解压缩该文件夹,以修改二进制有效负载内的 info.plist 文件。压缩 .ipa 并将其上传到 iTunes Connect 后,我​​总是收到以下错误:

\n\n
\n

亲爱的开发者,

\n\n

我们发现您最近交付的\n \xe2\x80\x9e“我的应用程序名称”存在一个或多个问题。要处理您的交付,必须\n 更正以下问题:

\n\n

签名无效 - Info.plist 无效(plist 或签名已被修改)。路径 [Template.app/Template] 处的文件未正确\n 签名。确保您已使用分发\n 证书而不是临时证书或开发证书对应用程序进行签名。\n 验证 Xcode 中的代码签名设置在目标级别\n 是否正确(这会覆盖项目中的任何值) \n 此外,请确保您上传的包是使用 Xcode 中的\n Release 目标而不是 Simulator 目标构建的。如果您确定您的代码签名设置正确,请在 Xcode 中选择“全部清除”,删除 Finder 中的“build”目录,然后重建您的发布目标。如需了解更多信息,请参阅\n https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html

\n\n

更正这些问题后,您就可以重新交付\n更正后的二进制文件。

\n\n

问候,

\n\n

应用商店团队

\n
\n\n

能否\xe2\x80\x99找出我的方法有什么问题

\n

xcode ios fastlane fastlane-deliver

3
推荐指数
1
解决办法
1596
查看次数

Fastlane 将参数传递给插件

我正在使用 Fastlane 插件automatic_test_emulator_run

automated_test_emulator_run(
    AVD_setup_path: "~/<path to your avd setup>/AVD_setup.json",
//some more tasks
  )
Run Code Online (Sandbox Code Playgroud)

现在尝试通过命令行运行相同的内容

fastlane automated_test_emulator_run AVD_setup_path:avd.json
Run Code Online (Sandbox Code Playgroud)

但出现错误

[!] 找不到“automated_test_emulator_run”。可用车道:测试

有任何提示使用任何插件并为此传递设置参数吗?

android android-emulator fastlane fastlane-deliver

3
推荐指数
1
解决办法
7889
查看次数

使用 fastlane 管理 alpha/beta/release 通道的捆绑 ID 的正确方法

我已经设置了我的应用程序有 2 种风格developmentproduction. 差异在于他们使用的数据库。

我想部署development到 alpha 通道和productionbeta/发布通道。

到目前为止,通过快车道实现这一点没有任何问题,但我有一个问题。在我的口味中,我为每种口味指定了不同的包 ID,com.example.myApp例如com.example.myApp-development

Fastlane 只允许我指定一个,Google Play 控制台也是如此。因此问题是:

这里正确的做法是什么?我是否只对所有风格使用 1 个捆绑包 ID 并将它们部署到各自的测试通道?

或者我最好在我的游戏控制台中创建 2 个应用程序(我现在有点反对)。我没有仔细研究过 android 版本,所以不确定常见的方法是什么。

testing deployment android fastlane google-play-console

3
推荐指数
1
解决办法
829
查看次数

允许 CI 访问私有 BitBucket 存储库

我在 AppCenter 上运行 CI 机器,需要允许对私有 BitBucket 存储库进行读/写访问,但我不知道如何执行此操作。

ssh-agent我的方法是创建一个 ssh 密钥,并在 CI 构建期间使用ssh-add -K(mac 计算机)将私钥添加到计算机。

我已ssh使用 BitBucket 在本地计算机 (mac) 上创建了一个密钥ssh-keygen并将其上传.pub到 BitBucket。然后,当我的 CI 运行时,我尝试获取私钥并将其添加到,ssh-agent但系统提示我输入密码,并且无法弄清楚如何在非交互式 shell 模式下注入它。

这是在 CI 中授予对 BitBucket 访问权限的正确方法吗?如果是这样,如何添加 ssh 密钥而不提示输入密码?

  • 脚本采用 Ruby 或 Bash 语言。
  • 该存储库包含用于Fastlane Match

ssh continuous-integration bitbucket fastlane visual-studio-app-center

3
推荐指数
1
解决办法
946
查看次数

Fastlane 匹配构建 adhoc 和应用商店

我正在使用 Fastlane matchgym来构建我的应用程序并将其从 CI (Bitrise) 分发到 Fabric。我的 Xcode 设置设置为手动,并使用 AdHoc 配置文件进行发布配置,如Fastlane 文档中所述

\n\n

现在我想从 CI 分发到 Appstore,但它失败了,因为 XcodeRelease配置设置为使用 AdHoc 配置文件,并且 Match 安装了 AppStore 配置文件。

\n\n
+---------------------------------------------------------------+-----------------------------------------------------------------------------+\n|                                                           Summary for gym 2.112.0                                                           |\n+---------------------------------------------------------------+-----------------------------------------------------------------------------+\n| scheme                                                        | AeroNavMap                                                                  |\n| export_method                                                 | app-store                                                                   |\n| export_xcargs                                                 | -allowProvisioningUpdates                                                   |\n| export_options.provisioningProfiles.net.tequilaapps.airnavmap | match AppStore net.tequilaapps.airnavmap                                    |\n| workspace                                                     | ./PEMap.xcworkspace                                                         |\n| destination                                                   | generic/platform=iOS                                                        |\n| output_name                                                   | AeroNavMap                                                                  |\n| build_path                                                    | /Users/vagrant/Library/Developer/Xcode/Archives/2019-01-06                  |\n| clean                                                         | false                                                                       |\n| output_directory                                              | .                                                                           |\n| silent …
Run Code Online (Sandbox Code Playgroud)

xcode ios fastlane fastlane-match fastlane-gym

3
推荐指数
1
解决办法
4497
查看次数

如何在fastlane文件中写入注释

我试图在我的 fastline 中注释某些行,但我不确定如何在 fastlane 文件中编写注释。我也不想删除这些行。

我是这样认为的:

build(variant: 'Release')
appcenter_upload(
  api_token: ENV['APPCENTER_API_TOKEN'],
  owner_name: "Ralali.com",
  app_name: "Ralali-Android",
  apk: "android/app/build/outputs/apk/release/app-release.apk",
  destinations: "Production",
  # destination_type: "group",   IS THIS LINE COMMENTED? (WON'T EXECUTED?)
  # notify_testers: true         AND ALSO THIS ONE
)
Run Code Online (Sandbox Code Playgroud)

我在生产中使用 Circleci 运行 fastlane,但我不想在生产中尝试,因为我害怕。

ruby android fastlane

3
推荐指数
1
解决办法
2277
查看次数

升级到 Xcode 12.5 后 xcodebuild 问题

升级到 Xcode 12.5(从 App Store 升级)后,一些 CLI 工具(例如xcodebuild和 )codesign_allocate立即失败,并显示:

Executable requires at least macOS 11.0, but is being run on macOS 10.16, and so is exiting.

即使这些都失败了, xcode-select 仍然可以工作,并且位置已设置 - 运行xcode-select -poutputs /Applications/Xcode.app/Contents/Developer。一切似乎都已安装,这xcode-select --install表明。我尝试从源安装 CLI ,并将 bin 目录放入PATH似乎可以正常工作,但这不包括xcodebuild. 但是,如果我不手动安装这些 cli 工具,我仍然会收到安装 cli 工具的提示,并且在“安装”它们后,我会继续收到提示。

Xcode IDE 中的一切工作正常,并且我已多次尝试重新安装 Xcode。我使用的是最新版本的 Big Sur(版本 11.3),而这台计算机甚至从未有过低于该版本的 macOS 版本。在这次升级之前一切都工作正常。

xcode command-line-interface ios fastlane

3
推荐指数
1
解决办法
2279
查看次数

Fastlane:如何根据 --env 从父目录加载 .env 文件

  1. 我知道 Fastlane 自动从.env.env.default和加载变量.env.{environment},其中由命令中的environment标志提供。--envfastlane
  2. 在我的 中,我需要 fastlane 来加载位于父目录中的Fastfile环境文件。
  3. 当根据我在标志中传递的内容进行更改.env.{environment}时,我想保留加载文件的行为。{environment}--env

ios fastlane

3
推荐指数
1
解决办法
3368
查看次数

使用 fastlane 构建 Kotlin Multiplatform Mobile 在 iOS 上失败

我遇到一个问题,为什么要尝试使用 Jenkins 管道和 fastlane 为 iOS 部分构建 KMM 项目。

Kotlin 版本:1.5.31
XCode 版本:13.1
Fastlane 版本:2.198.1
Ruby 版本:2.6.3p62

当在本地执行这些步骤时,它也会中断。fastlane 抛出的错误是import shared: no such module 'shared'

我发现如果您运行pod install && fastlane xcode_build构建刹车,但如果您第二次重复它,它就会成功并在 XCode 的 DerivedData 文件夹中创建 project.app 文件。

Jenkinsfile 在另一个非 KMM 项目的 iOS 项目上正常工作。

这是詹金斯文件

pipeline {
    options {
        buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
    }
    environment{
        FIREBASE_APP = 'some-app'
        FIREBASE_TOKEN = 'some-token'
        YOUR_CRED = credentials('KeychainPassword')
        PROJECT_NAME = 'project'
    }
    agent any
    stages {
        stage("Build and Deploy") {
            parallel {
                stage("iOS") { …
Run Code Online (Sandbox Code Playgroud)

ios kotlin fastlane jenkins-pipeline kotlin-multiplatform-mobile

3
推荐指数
1
解决办法
1534
查看次数

为快速通道安全存储 App Store Connect API 密钥?

我有一个 GitHub 操作,用于fastlane在 CI 管道中构建版本并将其部署到 TestFlight。我使用 App Store Connect API 密钥进行非交互式身份验证。

苹果的文档明确指出:

重要的

确保您的 API 密钥安全且私密。您永远不应该共享密钥、将密钥存储在代码存储库中或在客户端代码中包含密钥。

但我看到的每个示例都只是将文件作为纯文本文件签入源代码管理(通过参数)传递.p8给命令:app_store_connect_api_key()key_filepath

lane :release do
  app_store_connect_api_key(
    key_id: "D383SF739",
    issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
    key_filepath: "./AuthKey_D383SF739.p8"
  )

  pilot
end
Run Code Online (Sandbox Code Playgroud)

或作为明文密钥本身(通过key参数):

lane :release do
  app_store_connect_api_key(
    key_id: "D383SF739",
    issuer_id: "6053b7fe-68a8-4acb-89be-165aa6465141",
    "key": "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHknlhdlYdLu\n-----END PRIVATE KEY-----"
  )

  pilot
end
Run Code Online (Sandbox Code Playgroud)

有没有更安全的方法来存储它并仍然在 CI 管道中使用它?

ios fastlane app-store-connect

3
推荐指数
1
解决办法
4329
查看次数