You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
StripeTerminal.h doesn't import SCPOfflineDetails.h, and as a result, any targets which import StripeTerminal receive a warning Umbrella header for module 'StripeTerminal' does not include header 'SCPOfflineDetails.h'
If that target has "treat warnings as errors" enabled, then the warning is promoted to an error and the build fails.
It appears that when SCPOfflineDetails.h was added as a public header in 2.11.0, it was accidentally not added to StripeTerminal.h as well?
Steps to reproduce
It's not surprising that this issue wasn't caught because Xcode seems to be very aggressive with module caching and generally hides the warning as a result.
Nonetheless, I found a simple way to reproduce the issue:
Open the Example project in this repo
Edit the build settings for the Example target to set SWIFT_TREAT_WARNINGS_AS_ERRORS to Yes
In ~/Library/Developer/Xcode/DerivedData, delete both ModuleCache.noindex and the folder for this Example project. Running "Clean Build Folder" in Xcode is not enough clear a previously-successful state, you must delete these folders.
Build the Example app
The build will fail:
Installation method
CocoaPods
SDK version
2.13.0
Based on the git history, I believe this problem is also present in 2.12.0 and 2.11.0
Other information
Xcode 14.1 RC 2
The text was updated successfully, but these errors were encountered:
Summary
StripeTerminal.h doesn't import SCPOfflineDetails.h, and as a result, any targets which import StripeTerminal receive a warning
Umbrella header for module 'StripeTerminal' does not include header 'SCPOfflineDetails.h'
If that target has "treat warnings as errors" enabled, then the warning is promoted to an error and the build fails.
It appears that when SCPOfflineDetails.h was added as a public header in 2.11.0, it was accidentally not added to StripeTerminal.h as well?
Steps to reproduce
It's not surprising that this issue wasn't caught because Xcode seems to be very aggressive with module caching and generally hides the warning as a result.
Nonetheless, I found a simple way to reproduce the issue:
SWIFT_TREAT_WARNINGS_AS_ERRORS
toYes
~/Library/Developer/Xcode/DerivedData
, delete bothModuleCache.noindex
and the folder for this Example project. Running "Clean Build Folder" in Xcode is not enough clear a previously-successful state, you must delete these folders.The build will fail:
Installation method
CocoaPods
SDK version
2.13.0
Based on the git history, I believe this problem is also present in 2.12.0 and 2.11.0
Other information
Xcode 14.1 RC 2
The text was updated successfully, but these errors were encountered: