Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The archive did not include a dSYM for the hermes.framework with the UUIDs [some uuid] in react native

i am facing issue when uploading archive file from xcode to apple app store in react native project

The archive did not include a dSYM for the hermes.framework with the UUIDs [B7ABE37E-553E-3465-82BA-50EFAA0CB16C]. Ensure that the archive's dSYM folder includes a DWARF file for hermes.framework with the expected UUIDs.

i check on internet but no solution found

below is my podfile

# Transform this into a `node_require` generic function:
def node_require(script)
  # Resolve script with node to allow for hoisting
  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve(
      '#{script}',
      {paths: [process.argv[1]]},
    )", __dir__]).strip
end

# Use it to require both react-native's and this package's scripts:
node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, '13.4'
prepare_react_native_project!

flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

target 'UNFApp' do
  config = use_native_modules!

  flags = get_default_flags()
  flags[:hermes_enabled] = true

  use_react_native!(
    :path => config[:reactNativePath],
    :fabric_enabled => flags[:fabric_enabled],
    :flipper_configuration => flipper_config,
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  # ⬇️ Add the permissions you need
  setup_permissions([
    'LocationWhenInUse', # Location access when the app is in use
    'LocationAlways',
  ])

  pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'
  pod 'RNReanimated', :path => '../node_modules/react-native-reanimated'
  pod 'GoogleUtilities', :modular_headers => true
  pod 'react-native-maps', :path => '../node_modules/react-native-maps'
  pod 'react-native-google-maps', :path => '../node_modules/react-native-maps'

  target 'UNFAppTests' do
    inherit! :complete
  end

  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

  hermes_framework_path = "#{Pod::Config.instance.installation_root}/Pods/hermes-engine/destroot/Library/Frameworks"
framework_paths = [
  "#{hermes_framework_path}/universal/hermes.xcframework/ios-arm64/hermes.framework/hermes",
  "#{hermes_framework_path}/universal/hermes.xcframework/ios-arm64_x86_64-maccatalyst/hermes.framework/hermes"
]

bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
framework_paths.each do |framework_relative_path|
  strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
end
  # framework_paths.each do |framework_relative_path|
  #   strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
  # end

  post_install do |installer|
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false
    )
    installer.pods_project.targets.each do |target|
      if target.name == 'hermes-engine'
        target.build_configurations.each do |config|
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
        end
      end
    end
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
  end
end

below are my react native version

"react": "18.2.0",
    "react-native": "0.72.0",
like image 481
Muhammd Abdullah Avatar asked Nov 21 '25 22:11

Muhammd Abdullah


1 Answers

I think you see this appears after upgrade to XCode 16.1+ (that really matters)

tldr: no need to panic, this is just a warning

detailed explanation:

XCode 16 changed the way on missing dSYM (thing like JS source map but for the native obj-C/C++ code, which is auto-generated by XCode during build process regardless of profile type) when you submit your app to Apple (TestFlight/App Store) - a scary "WARNING" with cryptic error message so you know you are expecting this or not (as closed source library may not included that) (reference)

In most cases this is harmless and will NOT get your app rejected. RN team fixing that for many times, however there are some bugs stopping hermes to generate dSYM during build process. If you really want to fix that you may check how Firebase handle that (link), or the related github issues like this

hope it helps.

like image 165
vincicat Avatar answered Nov 24 '25 14:11

vincicat



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!