Description
The 5.5.1 release of OneSignal-XCFramework ships without OneSignalOutcomes.xcframework, yet the OneSignalFramework umbrella header (and several other subspecs) still #import <OneSignalOutcomes/OneSignalOutcomes.h>. This makes any project using 5.5.1 fail to compile.
Reproduction
Any Flutter app pulling onesignal_flutter 5.5.1+ (which transitively requires OneSignalXCFramework = 5.5.1) on iOS via CocoaPods:
target 'Runner' do
use_frameworks!
pod 'onesignal_flutter', '5.5.1' # transitively pulls OneSignalXCFramework 5.5.1
end
pod install succeeds, but flutter build ios fails with:
Lexical or Preprocessor Issue (Xcode): 'OneSignalOutcomes/OneSignalOutcomes.h' file not found
.../OneSignalXCFramework/OneSignal/OneSignalFramework.framework/Headers/OneSignalFramework.h:46:8
Parse Issue (Xcode): Could not build module 'OneSignalFramework'
What I observed
After pod install of 5.5.1, Pods/OneSignalXCFramework/iOS_SDK/OneSignalSDK/ contains 9 subframework directories:
OneSignal_Core/
OneSignal_Extension/
OneSignal_InAppMessages/
OneSignal_LiveActivities/
OneSignal_Location/
OneSignal_Notifications/
OneSignal_OSCore/
OneSignal_User/
OneSignal_XCFramework/ (umbrella)
OneSignal_Outcomes/ is missing, but the podspec for 5.5.1 still declares the OneSignalOutcomes subspec and other subspecs (OneSignalUser, OneSignalInAppMessages, OneSignalNotifications, OneSignalExtension) depend on it transitively. Downgrading to 5.5.0 restores OneSignal_Outcomes/ and the build succeeds.
The 5.5.1 release notes mention "update unattributed outcomes to match attributed outcomes" — possibly the packaging step that bundles the binary slices into the release archive missed OneSignal_Outcomes/OneSignalOutcomes.xcframework.
Workaround
Pin to 5.5.0:
pod 'OneSignalXCFramework', '5.5.0'
Expected
5.5.1 distribution includes OneSignal_Outcomes/OneSignalOutcomes.xcframework so that OneSignalFramework.h can resolve its #import <OneSignalOutcomes/OneSignalOutcomes.h>.
Environment
- OneSignal-XCFramework: 5.5.1 (broken) / 5.5.0 (works)
- onesignal_flutter: 5.5.1–5.5.4 (all transitively affected)
- CocoaPods: 1.16.2
- Xcode: 16+
- Flutter: 3.44.0
- Target: iOS Release-iphoneos
Description
The 5.5.1 release of OneSignal-XCFramework ships without
OneSignalOutcomes.xcframework, yet theOneSignalFrameworkumbrella header (and several other subspecs) still#import <OneSignalOutcomes/OneSignalOutcomes.h>. This makes any project using 5.5.1 fail to compile.Reproduction
Any Flutter app pulling
onesignal_flutter 5.5.1+(which transitively requiresOneSignalXCFramework = 5.5.1) on iOS via CocoaPods:pod installsucceeds, butflutter build iosfails with:What I observed
After
pod installof 5.5.1,Pods/OneSignalXCFramework/iOS_SDK/OneSignalSDK/contains 9 subframework directories:OneSignal_Outcomes/is missing, but the podspec for 5.5.1 still declares theOneSignalOutcomessubspec and other subspecs (OneSignalUser,OneSignalInAppMessages,OneSignalNotifications,OneSignalExtension) depend on it transitively. Downgrading to 5.5.0 restoresOneSignal_Outcomes/and the build succeeds.The 5.5.1 release notes mention "update unattributed outcomes to match attributed outcomes" — possibly the packaging step that bundles the binary slices into the release archive missed
OneSignal_Outcomes/OneSignalOutcomes.xcframework.Workaround
Pin to 5.5.0:
Expected
5.5.1 distribution includes
OneSignal_Outcomes/OneSignalOutcomes.xcframeworkso thatOneSignalFramework.hcan resolve its#import <OneSignalOutcomes/OneSignalOutcomes.h>.Environment