我有一个 React Native 项目。我能够像这样构建 iOS 和 Android 版本:
fastlane android build
fastlane ios build
Run Code Online (Sandbox Code Playgroud)
然而,这就是我想做的,所以 iOS 和 Android 都构建了。
fastlane all build
Run Code Online (Sandbox Code Playgroud)
这是我的 Fastfile 的简化版本:
default_platform(:android)
platform :android do
desc "Simply build a release apk"
lane :build do |options|
gradle(
project_dir: "android",
task: "clean assemble",
build_type: "Release",
)
end
end
platform :ios do
desc "Simply build a release ipa"
lane :build do |options|
build_app(workspace: "ios/myproject.xcworkspace")
end
end
Run Code Online (Sandbox Code Playgroud)
有人告诉我这都是 Ruby 代码,我应该能够做任何我想做的事情。所以,我希望“all”同时调用 Android 和 iOS。但是,我不懂 Ruby,所以非常感谢您的帮助。
我发现实现这一目标的唯一方法是完全摆脱平台并创建 3 个独立的通道:
desc 'Build iOS and Android'
lane :build do
build_android
build_ios
end
desc 'Compiles the Android project'
lane :build_android do
....
end
desc 'Compiles the iOS project'
lane :build_ios do
....
end
Run Code Online (Sandbox Code Playgroud)
我知道这违背了拥有平台的目的,但我还没有找到一种更简洁的方法来做到这一点,因为似乎不可能从该区块外部调用平台区块中的车道。
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |