flutter 导出存档:代码签名“应用程序框架”失败

jtjikinw  于 2023-03-13  发布在  Flutter
关注(0)|答案(1)|浏览(186)

我正在使用fastlane生成一个构建。
这是我的环境细节,
1.扑动3.7.6

  1. 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击发相同命令时,会导致代码签名问题。

nkoocmlb

nkoocmlb1#

在我的例子中,build_app无法访问keychain,这就是为什么它显示代码签名错误。我使用unlock_keychain和适当的参数,它开始工作。

相关问题