Skip to content
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

[Crashlytics] Fix missing Swift header error #12659

Merged
merged 7 commits into from Mar 29, 2024
Merged

[Crashlytics] Fix missing Swift header error #12659

merged 7 commits into from Mar 29, 2024

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Mar 28, 2024

One reason that I think we did not see this issue with Sessions and CoreInternal is because we never tried to import generated Swift header within the module is belonged to:

git grep '\-Swift.h' ':!**/*Test*/**' ':!Crashlytics/*'  ':**/*.[hm]'
CoreOnly/Sources/Firebase.h:    #import <FirebaseFunctions/FirebaseFunctions-Swift.h>
CoreOnly/Sources/Firebase.h:    #import <FirebaseStorage/FirebaseStorage-Swift.h>

When use_frameworks! isn't used, <*/*-Swift.h> can't be resolved since the <...> syntax looks for a framework. But, the -Swift.h is still generated in the build directory. The header is findable by a header search path (potentially set by CocoaPods) in the build products directory so we can just import the header directory (e.g. "*-Swift.h").

To test, I created a Podfile that depended on FirebaseCrashlytics, 10.23.0 and had use_modular_headers!. This reproduced the problem. Then I verified that importing the header without the framework notation worked.

Copy link
Member

@paulb777 paulb777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Can you add --use-modular-headers to the pod lib lint matrix in CI?

Copy link
Contributor

@themiswang themiswang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for helping on this!

@haozhutw
Copy link

I tried again with 10.23.0 and changed<FirebaseCrashlytics/FirebaseCrashlytics-Swift.h> to <FirebaseCrashlytics-Swift.h>, it did work. My podfile also contains use_modular_headers! . I'll wait for a new release, thank you all!

@ncooke3 ncooke3 added this to the 10.24.0 - M146 milestone Mar 29, 2024
@ncooke3 ncooke3 merged commit 3bb9a4c into main Mar 29, 2024
74 checks passed
@ncooke3 ncooke3 deleted the nc/fix-csh-hdr branch March 29, 2024 13:44
cgrindel-self-hosted-renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Apr 9, 2024
….24.0" (#1007)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[firebase/firebase-ios-sdk](https://togithub.com/firebase/firebase-ios-sdk)
| minor | `from: "10.23.1"` -> `from: "10.24.0"` |

---

### Release Notes

<details>
<summary>firebase/firebase-ios-sdk (firebase/firebase-ios-sdk)</summary>

###
[`v10.24.0`](https://togithub.com/firebase/firebase-ios-sdk/releases/tag/10.24.0):
Firebase Apple 10.24.0

[Compare
Source](https://togithub.com/firebase/firebase-ios-sdk/compare/10.23.1...10.24.0)

The Firebase Apple SDK (10.24.0) is now available. For more details, see
the [Firebase Apple SDK release
notes.](https://firebase.google.com/support/release-notes/ios#10.24.0)

To install this SDK, see [Add Firebase to your
project.](https://firebase.google.com/docs/ios/setup)

#### What's Changed

- Remove calls to fstat in crashlytics by
[@&#8203;volantwish](https://togithub.com/volantwish) in
[firebase/firebase-ios-sdk#12531
- fix unit tests by
[@&#8203;themiswang](https://togithub.com/themiswang) in
[firebase/firebase-ios-sdk#12553
- \[Release] Add release note for signed artifact changes by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12558
- Fix typo by [@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12565
- \[Firestore] Add a check to ensure FirestoreInternal has same public
headers as Firestore by [@&#8203;ncooke3](https://togithub.com/ncooke3)
in
[firebase/firebase-ios-sdk#12575
- Carthage 10.23.0 by [@&#8203;paulb777](https://togithub.com/paulb777)
in
[firebase/firebase-ios-sdk#12588
- Initial CI for visionOS by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12578
- Upgrade cmake build to grpc 162 by
[@&#8203;wu-hui](https://togithub.com/wu-hui) in
[firebase/firebase-ios-sdk#12417
- More visionOS CI by [@&#8203;paulb777](https://togithub.com/paulb777)
in
[firebase/firebase-ios-sdk#12608
- Update versions for Release 10.24.0 by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12594
- \[Release Tooling] Update XCFramework structure by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12595
- \[Docs] Update `FirebaseCore/CHANGELOG.md` with correct issue # by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12639
- Adds putFileHandle and putFileHandleAsync by
[@&#8203;mattcomi](https://togithub.com/mattcomi) in
[firebase/firebase-ios-sdk#12580
- \[CocoaPods] Lock FirestoreInternal version to Firestore by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12654
- Merge 10.23.1 by [@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12655
- \[Crashlytics] Fix missing Swift header error by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12659
- Move MIEQ to composite index tests by
[@&#8203;milaGGL](https://togithub.com/milaGGL) in
[firebase/firebase-ios-sdk#12416
- feat: add basic support to build frameworks and zip them for the Apple
Watch by [@&#8203;jasesuperhero](https://togithub.com/jasesuperhero) in
[firebase/firebase-ios-sdk#12624
- Release note for watchOS zip/Carthage by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12670
- \[Crashlytics] Remove mach_absolute_time usages by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12664
- Update to SwiftFormat 0.53.5 by
[@&#8203;paulb777](https://togithub.com/paulb777) in
[firebase/firebase-ios-sdk#12665
- Fix typo: Timout -> Timeout by
[@&#8203;Jager-yoo](https://togithub.com/Jager-yoo) in
[firebase/firebase-ios-sdk#12672
- \[Crashlytics] Regenerate privacy manifest by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12675
- \[Release] Version changelog entries for 10.24.0 by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12677
- \[Release Tooling] Fix METADATA.md regression introduced in
[#&#8203;12595](https://togithub.com/firebase/firebase-ios-sdk/issues/12595)
by [@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12661
- Analytics 10.24.0 by
[@&#8203;tsunghung](https://togithub.com/tsunghung) in
[firebase/firebase-ios-sdk#12693
- \[Release] Update binary SPM Firestore distro for 10.24.0 by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12708
- \[Release] Update Firestore's binary deps in Package.swift by
[@&#8203;ncooke3](https://togithub.com/ncooke3) in
[firebase/firebase-ios-sdk#12709

#### New Contributors

- [@&#8203;volantwish](https://togithub.com/volantwish) made their first
contribution in
[firebase/firebase-ios-sdk#12531
- [@&#8203;mattcomi](https://togithub.com/mattcomi) made their first
contribution in
[firebase/firebase-ios-sdk#12580
- [@&#8203;jasesuperhero](https://togithub.com/jasesuperhero) made their
first contribution in
[firebase/firebase-ios-sdk#12624
- [@&#8203;Jager-yoo](https://togithub.com/Jager-yoo) made their first
contribution in
[firebase/firebase-ios-sdk#12672

**Full Changelog**:
firebase/firebase-ios-sdk@10.23.1...10.24.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDkuNCIsInVwZGF0ZWRJblZlciI6IjM2LjEwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
@firebase firebase locked and limited conversation to collaborators Apr 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Updating to 10.23.0 results in 'FirebaseCrashlytics/FirebaseCrashlytics-Swift.h' file not found
5 participants