ObjC projects using SPM fail when we expose our models into another module

Originator:taquitos
Number:rdar://82827693 Date Originated:9/7/2021
Status:Open Resolved:
Product: Product Version:
Classification: Reproducible:
 
Setup:
We create an ObjC App that uses our SPM package "RevenueCat".
In our app, we create an object that uses an object from the "RevenueCat" package as part of its api.

We expose this object's header (which exposes the method containing the RevenueCat object as a parameter) as a public header.

We create a Swift test target that depends on the ObjC App and has a bridging header for that object we created.

We attempt to use the API in a test. API that doesn't include RevenueCat objects is fine, but any API that uses RevenueCat objects in the parameter is not found.

 

Environment:
Xcode 12.5.1 (Build version 12E507) & Xcode 13 Beta 5

M1 Mac as well as Intel mac.

Swift Package Manager - Swift 5.4.0

Swift Package Manager - Swift 5.5.0

Component: Package Manager

 

Reproduction project: https://github.com/taquitos/SPMBug

Attempt to build the test target. 

You'll get 
`Value of type 'TaquitosAreTheBest' has no member 'purchaserInfo'`

Comments

Filed through Swift project

https://bugs.swift.org/browse/SR-15154


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!