当我在 Fastfile 中添加一个新的 fastlane 时:
\ndefault_platform(:ios)\n\nplatform :ios do\n desc "Push a new beta build to pgy"\n before_all do\n ENV["CACHE_GIT_URL"] = ENV["GIT_URL"]\n end\n\n lane :debug do\n xcode_select "/Applications/Xcode.app"\n\n match(\n type: "adhoc"\n )\n\n build_app(\n workspace: "Runner.xcworkspace",\n scheme: "Runner",\n export_method: "ad-hoc",\n skip_archive: true\n )\n\n pgyer(\n api_key: ENV['PGY_API_KEY'],\n user_key: ENV['PGY_USER_KEY']\n )\n end\n\n lane :beta do\n xcode_select "/Applications/Xcode_12.4.app"\n if is_ci\n create_keychain(\n name: ENV['MATCH_KEYCHAIN_NAME'],\n password: ENV["MATCH_KEYCHAIN_PASSWORD"],\n default_keychain: true,\n unlock: true,\n timeout: 3600,\n lock_when_sleeps: false\n )\n end\n\n match(\n app_identifier: ENV["APP_IDENTIFIER"],\n git_url: ENV["GIT_URL"],\n type: "adhoc",\n readonly: is_ci,\n …Run Code Online (Sandbox Code Playgroud) 我们有
在本地计算机上一切正常 - Xcode 只需要求填写 Gitlab 的身份验证信息(登录/访问令牌),然后依赖关系图就会解析,我们可以构建我们的项目。
但是 Bitrise 在健身房舞台上失败了,错误如下 =(
xcodebuild:错误:无法解析包依赖项:身份验证失败,因为未提供凭据。
如何验证 Bitrise 的 Gitlab 帐户以处理gym stage?
我们正在使用react-native 开发一个iOS 应用程序。每次开发人员有更新时,开发人员都需要在 QA 手机上构建并安装以进行测试。
现在,我正在尝试使用 fastlane 和 firebase 应用程序分发来分发新的应用程序以进行质量检查。
当我创建新版本时,QA 收到了有关该问题的电子邮件通知,他们可以在 firebase 应用程序分发上检查它。但是没有下载和安装的按钮,只有这样的消息。
Device registered!
The developer now needs to update their app to run on your device. You'll get an email when the app is ready to test.
Run Code Online (Sandbox Code Playgroud)
如何使其可供下载?
我对 iOS 应用程序的 github Actions CI 有问题(反应本机),除了在本地和 Travis 上运行良好的应用程序构建之外,我的所有通道都运行良好,但在 Github Actions 上它仍然被阻止
Running script '[CP] Copy Pods Resources'
Running script 'Run Script'
Run Code Online (Sandbox Code Playgroud)
我把它取下来Running script 'Run Script',它就卡在了之前的台阶上!
尝试了很多构建方法还是不行!
这是我尝试的车道
build_app(workspace: "myapp.xcworkspace", scheme: "myapp")
Run Code Online (Sandbox Code Playgroud)
和/或
gym(
workspace: "myapp.xcworkspace",
configuration: "Release",
scheme: "myapp",
clean: true,
export_method: "ad-hoc"
)
Run Code Online (Sandbox Code Playgroud)
是否可以将 Fastlane 与 Bazel 集成(反之亦然)?我们组织的非移动部分使用 Bazel 进行构建,我希望在移动设备上保持一致。然而 Fastlane 提供了很多针对移动设备的东西,而 Bazellane 则没有。Bazel用于构建+测试,而Fastlane还提供发布/部署的解决方案。
是否可以(或建议)从 Fastlane 中调用 Bazel 构建?或者也许从 Bazel 内部调用 Fastlane 进行部署?
我正在开始开发 2 个应用程序扩展,我想按如下方式设置我的构建:
目前,我对每个项目都有不同的构建配置,以显示和隐藏应用程序的其他方面(在某些情况下也包括编译器标志)。我使用 fastlane 来进行构建。
据我所知,添加或删除应用程序扩展的唯一方法是:
有人能想出更好的解决方案来有条件地包含应用程序扩展吗?
xcode conditional-compilation xcodebuild ios-app-extension fastlane
我正在尝试向 Google Play 内部测试提交构建,但失败并出现以下错误:
Google Api Error: Invalid request - APKs are not allowed for this application
我正在运行以下命令:
eas build --profile development --platform android # works successfully
eas submit -p android
Run Code Online (Sandbox Code Playgroud)
运行时,提交Select a build from EAS不起作用(返回Couldn't find any Android builds for this project on EAS servers. It looks like you haven't run 'eas build' yet.),因此我从构建命令提供构建 ID。我已经设置buildType了app-bundle,但它仍然会返回错误。在提交日志中,我注意到:
skip_upload_apk | false
我可以将其更改为吗true?这会有帮助吗?我在运行 eas commit 之前手动更新了构建。可能相关的问题:在手动上传期间,它也不接受 APK 文件,因此我必须上传 AAB。
eas.json
{
"cli": { …Run Code Online (Sandbox Code Playgroud) 我有一个 xcode 项目,我正在使用 Fastlane 将其引入 CI。现在一切正常,我添加了一个单独的 Lane 来调用 SwiftLint。
现在我已经在 xcode 项目中有一个 Runscript 来调用 SwiftLint。所以现在基本上,该应用程序已被 Linted 两次。
那么,有没有办法在Fastlane构建项目时禁用xcode项目中的Run脚本?
现在你可能想说‘那你为什么要在 Fastlane 中设置一个单独的 SwiftLint 通道呢?无论如何,它都会被处决!” 嗯......你是对的,但我想在 Lint 失败时在管道中得到一个单独的失败,所以我认为我需要为此创建一个单独的通道。
我看到一个解决方案:在 xcode 中创建一个仅包含 SwiftLint 内容的单独目标。“问题”是解决方案是当开发人员构建时,SwiftLint 不会自动安装在开发人员计算机上。
目前,我直接在 Xcode 和 Fastlane 中使用相同的构建过程。但是,虽然它在 Xcode 中工作得很好(构建和归档都工作得很好),但在 Fastlane 中它会抛出一个错误并告诉我ARCHIVE FAILED。看起来 Fastlane 正在尝试查找 iOS 应用程序开发配置文件,而我认为它只找到应用程序分发配置文件。有没有办法解决这个问题,比如我可以使用命令行(没有 Fastlane)构建应用程序并使用 Fastlane 部署.ipa我创建的文件?
Fastlane 日志中显示的错误:
\n+--------------------------------------+-----------------------------------------------------------+\n| Summary for gym 2.208.0 |\n+--------------------------------------+-----------------------------------------------------------+\n| workspace | ./platforms/ios/myproject.xcworkspace |\n| configuration | Release |\n| scheme | myproject |\n| output_directory | . |\n| output_name | output |\n| clean | true |\n| export_method | app-store |\n| skip_profile_detection | false |\n| destination | generic/platform=iOS |\n| silent | false |\n| skip_package_ipa | false |\n| skip_package_pkg | false |\n| build_path …Run Code Online (Sandbox Code Playgroud) 我正在尝试编译我的expo开发(不是expo go)应用程序,它在测试中适用于IOS和Android,但是当我尝试将其编译用于生产时,只有Android编译成功,IOS构建在“Run Fastlane”处失败。
我已经搜索并尝试了不同的在线建议,但似乎没有任何效果,还有其他人遇到过这个问题吗?我已经被困了好几天了
我的错误
Build failed: Fastlane build failed with unknown error. See logs for the "Run fastlane" and "Xcode Logs" phases for more information.
Fastlane errors in most cases are not printed at the end of the output, so you may not find any useful information in the last lines of output when looking for an error message.
Run Code Online (Sandbox Code Playgroud)
这是我的 app.json
{
"expo": {
"name": "myapp",
"scheme": "myapp",
"version": "2.0.0",
"orientation": "portrait",
"icon": "iconIOS.png",
"updates": {
"fallbackToCacheTimeout": 0
}, …Run Code Online (Sandbox Code Playgroud) fastlane ×10
xcode ×5
ios ×4
expo ×2
react-native ×2
android ×1
bazel ×1
bitrise ×1
eas ×1
firebase ×1
gitlab ×1
google-api ×1
swift ×1
xcodebuild ×1