提交App Store遇Razorpay.framework SYM缺失,尝试Bitcode剥离仍未解决
App Store提交报错:Razorpay.framework缺少对应UUID的SYM文件
归档文件未包含带有UUID的Razorpay.framework对应的SYM文件,请确保归档的SYM文件夹中包含Razorpay.framework的DWARF文件。

已尝试的操作
我在Podfile中加入了剥离Bitcode的脚本,但提交后还是触发了这个错误:
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/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/hermes", "Pods/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/Versions/Current/hermes", "Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64/hermes.framework/hermes", "Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64_x86_64-maccatalyst/hermes.framework/hermes", "Pods/razorpay-pod/Pod/Razorpay.xcframework/ios-arm64/Razorpay.framework/Razorpay" # 已添加Razorpay路径 ] framework_paths.each do |framework_relative_path| strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) end
可行解决方案
1. 补全Razorpay.xcframework的所有架构路径
你现在只处理了ios-arm64架构的文件,如果App支持模拟器架构(比如ios-arm64_x86_64-simulator),需要把对应路径也加到framework_paths里:
"Pods/razorpay-pod/Pod/Razorpay.xcframework/ios-arm64_x86_64-simulator/Razorpay.framework/Razorpay"
2. 确保Xcode正确生成并归档dSYM
- 打开项目
Build Settings,搜索Debug Information Format,确认Release配置设为DWARF with dSYM File。 - 检查
Build Phases,如果没有Copy Files阶段就新建一个,把Razorpay.framework的dSYM文件指定复制到归档的SYM目录中。
3. 直接禁用Bitcode(如果不需要)
如果你的App不需要Bitcode功能,直接在项目Build Settings里把Enable Bitcode改成No,同时在Podfile里加全局配置:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' end end end
这样就不用手动执行bitcode_strip,避免路径遗漏的问题。
4. 更新Razorpay Pod到最新版
旧版本的razorpay-pod可能存在dSYM生成不完整的问题,执行pod update razorpay-pod更新后再重新归档试试。
5. 手动检查归档内容
归档完成后,右键归档文件选Show in Finder,进入Products/Applications/你的App.app/Contents/Frameworks,找到Razorpay.framework右键Show Package Contents,看看里面有没有dSYM文件或DWARF数据。如果没有,说明Pod本身没生成,要么联系Razorpay支持,要么换其他安装方式。
内容的提问来源于stack exchange,提问作者Chetan
相关产品推荐
相关产品推荐

