我正在使用fastlane
生成一个构建。
这是我的环境细节,
1.扑动3.7.6
- X代码14.2
1.快车道
这是我的快车道脚本的一部分,
//1. Using match to generate certificate and profile.[Code not shown here]
//2. Disabled automatic code singing
disable_automatic_code_signing(path: "Runner.xcodeproj")
//3. Setting code sign to manual
update_code_signing_settings(
build_configurations: configuration,
use_automatic_signing: false,
profile_name: profileName,
team_id: ENV['IOS_TEAM_ID'],
code_sign_identity: "iPhone Distribution"
)
//4. Running Flutter build iPa command without code signing.
sh_on_root(command: "export LANG=en_US.UTF-8 && export PATH=$PATH:/usr/local/bin && flutter build ipa #{params} --no-codesign")
//5. Generating iPA
build_app(
output_directory: "#{root_path}/build/ios",
build_path: "#{root_path}/build/ios",
archive_path: "#{root_path}/build/ios/archive/Runner.xcarchive",
export_method: method,
scheme: env,
configuration: configuration,
skip_build_archive: true,
workspace: "Runner.xcworkspace",
export_options: {
signingStyle: "manual",
provisioningProfiles: profileMap,
teamID: ENV['IOS_TEAM_ID'],
signingCertificate: "Apple Distribution",
compileBitcode: false
}
)
在第5步中,我收到错误Error Domain=IDEDistributionPipelineErrorDomain Code=0 "Code signing "App.framework" failed." UserInfo={NSLocalizedDescription=Code signing "App.framework" failed., NSLocalizedRecoverySuggestion=View distribution logs for more information.}
我已经试过了,
- 打开Xcode项目并检查所有与代码签名相关的配置看起来都很好。使用相同的设置,Archieve在Xcode中运行良好。
- 从终端手动启动
flutter build ipa
运行良好。我只需要添加ExportOptions.plist文件。 - 尝试调整Podfile以不占用任何代码签名设置。Reference answer
任何建议都将是有益的。
更新CD机终端的击发通道执行命令工作正常,但当Jenkin击发相同命令时,会导致代码签名问题。
1条答案
按热度按时间nkoocmlb1#
在我的例子中,
build_app
无法访问keychain,这就是为什么它显示代码签名错误。我使用unlock_keychain
和适当的参数,它开始工作。