getsentry/sentry-cocoa

8.24.0 compile error missing swift classes miss public keyword

RayFor24 opened this issue · 8 comments

Platform

iOS

Environment

Develop

Installed

CocoaPods

Version

8.24.0

Did it work on previous versions?

No response

Steps to Reproduce

const char *viewClassName = [[SwiftDescriptor getObjectClassName:view] UTF8String];
error:
No known class method for selector 'getObjectClassName:'

After introducing 8.24.0, compile the error that the project report method cannot find. The project previously referenced version 8.22.0 without this error. After comparison, it was found that some swift classes were missing the public keyword, such as SwiftDescriptor, HTTPHeaderSanitizer, and so on.

Expected Result

const char *viewClassName = [[SwiftDescriptor getObjectClassName:view] UTF8String];
error:
No known class method for selector 'getObjectClassName:'

Actual Result

const char *viewClassName = [[SwiftDescriptor getObjectClassName:view] UTF8String];
error:
No known class method for selector 'getObjectClassName:'

Are you willing to submit a PR?

No response

Hello @RayFor24, thanks for reaching out.
Are you trying to use SwiftDescriptor into your project, or are these errors happening inside Sentry codebase?

Hello @RayFor24, thanks for reaching out. Are you trying to use SwiftDescriptor into your project, or are these errors happening inside Sentry codebase?

I don't want to use SwiftDescriptor in my project, happening inside Sentry codebase.

Hey @RayFor24 thanks for confirming, we'll investigate and follow up here

@RayFor24 would you be able to provide a minimal repro? we're not able to reproduce this with our samples

Related issue via RN SDK: getsentry/sentry-react-native#3765

Hello @RayFor24 do you have any configuration on your pods file that disable "APPLICATION_EXTENSION_API_ONLY" for the pods you're using?

Can you share your pod file with us in case it does not contains any private information?

@brustolin A users responded in getsentry/sentry-react-native#3765 it was caused by the APPLICATION_EXTENSION_API_ONLY flag set to NO.