1

I have a project with large amount of obj-c and swift code inside it.

I have an obj-c class which imports ProjectName-Swift.h to let that class access swift code.

Now I need to expose that obj-c class to the swift so I can access it from swift code.

The problem is that after import in bridging header name of obj-c class project stops building with error that it cannot find ProjectName-Swift.h which import is stated in obj-c class.

I cannot remove import of ProjectName-Swift.h from obj-c class because after that class breaks.

What can I do ?

Alexey K
  • 6,537
  • 18
  • 60
  • 118

1 Answers1

1

OK, had one answer and then re-read the question. Make absolutely certain that your import of the swift header is the Module Name of the project (not necessarily the project name):

Apple Documentation: Swift and Objective-C in the Same Project

More specifically, go to the section marked "Importing Swift into Objective-C" and read it. And even more specifically:

  1. Under Build Settings, in Packaging, make sure the Defines Module setting for that framework target is set to “Yes”.

  2. Import the Swift code from that framework target into any Objective-C .m file within that framework target using this syntax and substituting the appropriate names:

    #import <ProductName/ProductModuleName-Swift.h>

cbiggin
  • 1,942
  • 1
  • 17
  • 18