应用分发过程中出现错误:声网框架Bitcode导致资产验证失败

问题描述 投票:0回答:1

enter image description here

我在将 Flutter 应用程序分发到使用 Agora SDK 的 App Store 时遇到问题。分发过程失败,并出现以下资产验证错误,表明多个 Agora 框架文件中存在 bitcode:

Asset validation failed
Invalid Executable. The executable 'Runner.app/Frameworks/AgoraReplayKitExtension.framework/AgoraReplayKitExtension' contains bitcode. (ID: 10f7ca5e-1101-4206-b6c1-d1668fc290a4)
* Asset validation failed
Invalid Executable. The executable 'Runner.app/Frameworks/AgoraRtcKit.framework/AgoraRtcKit' contains bitcode. (ID: 449470b6-da31-4f54-808d-6bcc360f898e)

我尝试使用 Podfile 中的脚本从 Agora 框架中删除位码,但错误仍然存在。这是我尝试剥离位码的 Podfile 的相关部分:

bitcode_strip_path = `xcrun --find bitcode_strip`.chop!

def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
  framework_path = File.join(Dir.pwd, framework_relative_path)
  command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
  puts "Stripping bitcode: #{command}"
  system(command)
end

framework_paths = [
  "Pods/AgoraRtcEngine_iOS/ReplayKit/Frameworks/AgoraReplayKitExtension.framework/AgoraReplayKitExtension",
  "Pods/AgoraRtcEngine_iOS/RtcBasic/Frameworks/AgoraRtcKit.framework/AgoraRtcKit",
  
]

framework_paths.each do |framework_relative_path|
  strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
end

尽管如此,我仍然收到位码错误。我可能缺少什么,如何解决此问题以成功分发我的应用程序?

enter image description here

附加信息:

  • Flutter SDK版本:3.24.0
  • Xcode版本:16.0
  • Agora SDK 版本:agora_rtc_engine:^5.3.1 我正在使用 AgoraRtcEngine_iOS pod 在我的应用程序中集成 Agora。

Podfile.lock:

  • agora_rtc_engine(5.3.1):
  • AgoraIrisRTC_iOS (= 3.7.0.3)
  • AgoraRtcEngine_iOS (= 3.7.0.3)

任何帮助将不胜感激!

ios flutter xcode podfile agora
1个回答
0
投票

您遇到的与位码相关的资产验证失败的问题是因为您的应用程序由于某些框架(AgoraReplayKitExtension.framework 和 AgoraRtcKit.framework)中包含位码而被拒绝。

Apple 自 Xcode 14 起已弃用位码支持,包含位码的应用程序可能会在提交过程中失败。要解决此问题,您需要确保在项目设置中禁用位码。

以下是解决该问题的步骤:

第 1 步:在 Xcode 中禁用 Bitcode

1.在 Xcode 中打开您的项目。

2.在项目导航器中,选择您的项目(左侧边栏中的根项目)。

3.选择你的目标(通常命名为Runner)。

4.转到“构建设置”选项卡。

5.在搜索栏中,输入启用位码。

确保调试和发布配置的启用位码均设置为否。

第2步:验证Agora SDK兼容性

确保您使用的是最新版本的 Agora SDK,因为旧版本可能不符合位码弃用。检查 Agora 官方文档以获取更新并确保与 Xcode 14+ 兼容。

第 3 步:确保在 Podspec 中禁用 Bitcode(如果使用 CocoaPods)

  1. 如果您使用的是 CocoaPods,请打开您的 Podfile。
  2. 确保 post_install 脚本包含以下行以禁用所有框架的位代码:
  3. 修改Podfile后再次运行pod install。

第 4 步:第 4 步:清洁和构建

  1. 通过进入菜单“产品”->“清理构建文件夹”来清理构建。
  2. 然后,再次构建您的应用程序并尝试将其提交到 App Store。
© www.soinside.com 2019 - 2024. All rights reserved.