我正在寻找一种使用 fastlate 自动化 xcode clean 过程的方法。
我希望实现的目标:
到目前为止,我自动化了派生数据文件夹
lane :clean do
clear_derived_data
end
Run Code Online (Sandbox Code Playgroud) 在 Play 控制台中,当您创建版本时,可以提供版本名称。但是,当在 fastlane 中使用upload_to_play_store命令时,我在推送 apk 时看不到提供自定义版本名称的参数,而是将版本名称作为版本名称。怎么可能实现呢?
lane :beta do
gradle(
task: 'assemble',
build_type: 'Release'
)
upload_to_play_store(track:'beta')
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 fastlane 增加项目的 build_number
new_build_number = Time.now.strftime("%Y%m%d%H%M")
increment_build_number(
build_number: new_build_number
)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
ld:格式错误的 64 位 abcde 版本号:201901091627 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)
这是因为 fastlane 正在增加我的动态框架的当前库版本
(正如这里所说,如果我将 $(DYLIB_CURRENT_VERSION) 设置为当前库,它可以工作,但每次我执行 fastlane 时,它都会被修改并再次失败)。
如何使 Fastlane 不修改当前库版本,或者如何增加内部版本号并使其与动态框架一起使用?
非常感谢。
我正在尝试使用 fastlane 增加我的 React Native (0.60) 应用程序的构建和版本号。
increase_build_number工作正常,但是 increase_version_number会产生此错误:
Can't increment version
我遵循了错误中推荐的指南,但没有运气 - https://developer.apple.com/library/content/qa/qa1827/_index.html
可以increase_version_number与 一起使用吗.xcworkspace?
我正在deliver使用 fastlane 提交申请进行审核...
我收到下一个错误:
多个命令生成 '/Users/admin/Library/Developer/Xcode/DerivedData/fastlane-integration-ios-fhihcydqlflwnvfrgoyqgikqaugq/Build/Products/Debug-iphonesimulator/fastlane-integration-ios.app/phone_number.txt': 1) Target ' fastlane-integration-ios'(项目'fastlane-integration-ios')已将命令从'/Users/admin/Projects/fastlane-integration-ios/fastlane/metadata/review_information/phone_number.txt'复制到'/Users/admin /Library/Developer/Xcode/DerivedData/fastlane-integration-ios-fhihcydqlflwnvfrgoyqgikqaugq/Build/Products/Debug-iphonesimulator/fastlane-integration-ios.app/phone_number.txt' 2)目标'fastlane-integration-ios'(项目' fastlane-integration-ios')已将命令从 '/Users/admin/Projects/fastlane-integration-ios/fastlane/metadata/trade_representative_contact_information/phone_number.txt' 复制到 '/Users/admin/Library/Developer/Xcode/DerivedData/ fastlane-integration-ios-fhihcydqlflwnvfrgoyqgikqaugq/Build/Products/Debug-iphonesimulator/fastlane-integration-ios.app/phone_number.txt'
这是因为某些文件具有相同的名称,并且它们全部添加到编译包资源部分的构建阶段。
你怎么解决这个问题?我的意思是文件夹结构,一切都取决于deliver init命令,我想不可能只重命名那些冲突的文件。
有什么解决办法吗?
我正在为一个应用程序实现 CICD,该应用程序是在 React Native 中完成的,但现在我遇到的情况是 Firebase 不允许我上传 ipa 和 apk“服务器以状态 400 响应”。我首先使用我的帐户进行上传,现在它运行良好,现在我正在使用另一个帐户。现在不让我上传了。
\n这就是我在终端窗口中得到的内容。
\n[13:28:30]: Authenticated successfully.\n[13:28:33]: \xe2\x8c\x9b Uploading the APK.\n[13:28:47]: \xe2\x9c\x85 Uploaded the APK.\n[13:28:48]: the server responded with status 400\n+------+---------------------------+-------------+\n| fastlane summary |\n+------+---------------------------+-------------+\n| Step | Action | Time (in s) |\n+------+---------------------------+-------------+\n| 1 | clean assembleRelease | 315 |\n| | firebase_app_distribution | 18 |\n+------+---------------------------+-------------+\nRun Code Online (Sandbox Code Playgroud)\n 我正在尝试将 Fastlane 实现到包含 30 多个应用程序的 Xcode 项目中。
此时此刻,我陷入了为“AppStore”构建应用程序的困境,因为它必须更改特定目标的版本和内部版本号。我的车道的代码是:
desc "Archives and creates the app for the AppStore"
lane :build_appstore do |options|
scheme = options[:scheme]
output_directory = options[:output_directory]
configuration = options[:configuration]
export_method = options[:export_method]
bundle_id = options[:bundle_id]
version = options[:version]
build = options[:build]
# Used for increment_version_number. Does it work?
ENV["APP_IDENTIFIER"] = options[:bundle_id]
increment_version_number(
version_number: version
)
increment_build_number(
build_number: build
)
gym(
scheme: scheme,
output_directory: output_directory,
configuration: configuration,
export_method: export_method
)
end
Run Code Online (Sandbox Code Playgroud)
这些通道可以工作,但是当我查看该项目时,我发现所有目标的版本和内部版本号都发生了变化,这有点不方便。
有任何想法吗??
这是我的剧本
echo "===================="
echo "MAKE ENTERPRISE IPA"
echo "===================="
pwd
cd "${XCS_PRIMARY_REPO_DIR}/"
pwd
fastlane enterprise
Run Code Online (Sandbox Code Playgroud)
这是日志中的内容
====================
MAKE ENTERPRISE IPA
====================
/Users/XcodeServer/Library/Caches/XCSBuilder/Bots/1fc5d5c4b44f01807859f14cc303b56c/Source
/Users/XcodeServer/Library/Caches/XCSBuilder/Bots/1fc5d5c4b44f01807859f14cc303b56c/Source/ProjectName
/var/folders/rc/28t61gwn3c1bcsn1b360d0h40000gp/T/F389538F-77F0-481A-A413-456C809755D1-22343-000364DDDB596983: line 10: fastlane: command not found
Run Code Online (Sandbox Code Playgroud)
如果我直接进入构建服务器上的目录并转到XCS_PRIMARY_REPO_DIR并输入fastlane enterprise,一切正常。我不知道为什么要在var / folders中寻找fastlane。
任何帮助将不胜感激,谢谢。
我有一个使用 Ionic.io 推送消息的 Ionic 项目。它使用 Fastlane 构建并通过 HockeyApp 部署。
由于升级到 Xcode 8 推送通知不再适用于 iOS 10。
我有一个包含推送授权的授权文件,它使用 ruby 脚本添加到 xcode 项目文件中,请参阅https://github.com/fastlane/fastlane/issues/6544
当我使用 Fastlane push 构建项目时,仍然无法正常工作。当我在 Xcode 中打开项目文件并查看功能部分时,它在“将推送通知权利添加到您的权利文件”中显示了一个复选标记,但在“将推送通知功能添加到您的应用程序 ID”中显示了一个错误。
如果我按“修复”并重建, push确实有效。
所以我的问题是:
我希望能够正确启用推送功能,只使用 Fastlane、xcodebuild、ruby 或其他任何东西,只要它仅在命令行中并允许我的 ionic 项目干净地构建。
我想组装/编译一个带有cocoapods的工作空间,但没有:
就像是:
xcodebuild assemble
我想知道代码是否可以编译,但不能生成存档或已部署的工件。
我尝试了fastlane / gym,但是它尝试创建一个存档。
fastlane ×10
xcode ×6
fastlane-gym ×2
ios ×2
swift ×2
android ×1
cocoapods ×1
fastfile ×1
firebase ×1
ios10 ×1
react-native ×1
triggers ×1
xcode-bots ×1
xcode8 ×1
xcodebuild ×1