fermoya / cocoapods-catalyst-support

Ruby extensions to help you configure your pods project so that pods not compiled for Catalyst can still be used for iOS devices
MIT License
111 stars 18 forks source link

DSYM Generation #5

Closed Brett-Best closed 4 years ago

Brett-Best commented 4 years ago

Just wondering if you’ve faced any issues with dSYMS not generating for the macCatalyst target?

fermoya commented 4 years ago

@Brett-Best, what do you mean? The excluded pods shouldn’t generate dSYM for macCatalyst, should they? When I archive for Mac I see the symbols for all non-excluded frameworks. Technically the script just unlinks and skips compilation of the selected frameworks if I’m not missing anything. What have you noticed? Any issue with the store?

Brett-Best commented 4 years ago

@fermoya I did some more digging, it turns out that the iOS Default for DEBUG_INFORMATION_FORMAT is dwarf-with-dsym. When compiling for macCatalyst, it is actually dwarf (which isn’t displayed in the project configuration). So it’s necessary to override the DEBUG_INFORMATION_FORMAT and make sure that it’s bolded in the project configuration.

fermoya commented 4 years ago

Just for future readers, if you're having trouble with the dSYM generation in macCatalyst, you should override DEBUG_INFORMATION_FORMAT like this:

post_install do |installer|
  ##### Configure Catalyst Pod support #####
  installer.configure_support_catalyst

  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config| # use `.filter do |config| config.name == 'MY_RELEASE_CONFIG_NAME' end` if you want to override this setting just for your Release configuration
        # Override `DEBUG_INFORMATION_FORMAT` so that macCatalyst generates dSYMs 
        config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf-with-dsym'
      end
    end
  end
end