-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Podspec to the new project structure #465
Conversation
# Conflicts: # KSCrash.podspec
# Conflicts: # KSCrash.podspec
This is a subspecs approach that mimics the SPM structure. The main problem with this is that only individual podspecs can be modules, so we don't get the modular separation of SPM. With subspecs, everything ends up being a KSCrash.framework module with all the headers flattened together. A custom module map might be the solution, or podspecs for each module like Firebase does. |
The issue with the module KSCrashCore {
header "KSSystemCapabilities.h"
header "NSError+SimpleConstructor.h"
export *
}
module KSCrashFilters {
header "KSCrashReportFilterAlert.h"
header "KSCrashReportFilterAppleFmt.h"
header "KSCrashReportFilterBasic.h"
header "KSCrashReportFilterGZip.h"
header "KSCrashReportFilterJSON.h"
header "KSCrashReportFilterSets.h"
header "KSCrashReportFilterStringify.h"
export *
} This setup works fine for
Even if you specify modules with a So, we're left with these options:
|
@@ -16,123 +16,54 @@ Pod::Spec.new do |s| | |||
s.xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES' } | |||
s.default_subspecs = 'Installations' | |||
|
|||
s.subspec 'Recording' do |recording| | |||
recording.compiler_flags = '-fno-optimize-sibling-calls' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this -fno-optimize-sibling-calls
flag removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we can set it in CocoaPods, but in SPM it can only be set with .unsafeFlags
, which is not allowed in "release" (specified by version), but is allowed in development (local package or specified by commit or branch).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's also unclear which functions this flag is for, so we can't know if it's needed in Recording
or in RecordingCore
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, you've added it here #379 :)
Looks like it's actually needed. But maybe we can take a solution from rollbar/rollbar-apple#335 (if I understand that fix correctly).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All looks great! Let's just make sure that TCO is addressed later.
No description provided.