Skip to content

Reorganize iOS public headers under a single include/ directory #6171

@alwx

Description

@alwx

packages/core/RNSentry.podspec currently declares 10 public headers scattered across ios/ and ios/Replay/:

s.public_header_files = 'ios/RNSentry.h', 'ios/RNSentrySDK.h', 'ios/RNSentryStart.h',
                        'ios/RNSentryVersion.h', 'ios/RNSentryBreadcrumb.h',
                        'ios/RNSentryReplay.h', 'ios/RNSentryReplayBreadcrumbConverter.h',
                        'ios/Replay/RNSentryReplayMask.h', 'ios/Replay/RNSentryReplayUnmask.h',
                        'ios/RNSentryTimeToDisplay.h'

This pattern has two issues:

  1. CocoaPods today: The generated module map and umbrella header are needlessly complex; non-modular include warnings are easier to trigger.
  2. Future SPM: Swift Package Manager requires public headers to live under a single publicHeadersPath. Today's layout cannot be expressed in Package.swift without symlinks or restructuring.

Goal

All public headers live under packages/core/ios/include/. The podspec resolves them via a single s.public_header_files = 'ios/include/*.h' line. The eventual Package.swift uses publicHeadersPath: "include".

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions