1

I am following this migration guide (https://salesforce-marketingcloud.github.io/MarketingCloudSDK-iOS/get-started/get-started-migration.html)

I removed the old SDK, added MobilePush and SFMCSDK via the SPM.

I made sure both frameworks are listed under Project Settings -> General -> My Target -> Frameworks, Libraries, and Embedded Content. Afterwards I added the MarketingCloudSDK.bundle to the Copy Bundle Resources Build Phase.

Now, when i build the project I get the following Compiler Errors. Is there something i did wrong?

Umbrella header for module 'SFMCSDK' does not include header 'SFKeyStoreManager.h'
Umbrella header for module 'SFMCSDK' does not include header 'SFEncryptionKey.h'
Could not build module 'SFMCSDK'
Could not build Objective-C module 'MarketingCloudSDK'

Compile errors

2 Answers 2

1

Sorry to revive an old thread, but this might be helpful for future references!

We had the same problem with our project, and after some back and forth, we have been able to identify the problem : in our Build Settings, we had set the flags Treat Warnings as Errors to Yes, which caused the "Umbrella Header" warning to be treated as an error and failed to compile.

To "fix" this, we disabled this flag only for the "Umbrella Header" by adding -Wno-incomplete-umbrella to the OTHER_SWIFT_FLAGS in Build Settings. This way, we can still use Treat Warnings as Errors while ignoring the "Umbrella Header" warning.

The correct fix, however, would be on SalesForce's side to fix the problematic header import in SFMCSdk.h.

Hope it helps!

1

Not sure if the dependencies have been cleared properly. If cocoapods is being used, please do

pod deintegrate 

and then add 8.0.6 version of MarketingCloudSDK and 1.0.4 version of SFMCSDK. If the SDK is added locally, the references should be cleared out from the framework search path and the header search path if any added for the framework.

Can you please provide the version of Xcode?

Thanks, Prakashini

1
  • Xcode: Version 13.2.1 (13C100). Unfortunately Cocoapods is still used for other dependencies. I added the specific version 1.0.4 for the SFMCSDK but still the same error. There are also no references in the framework or header search pathes
    – mschropp
    May 20, 2022 at 12:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .