Xcode 9, Swift Static Library, SWIFT_OBJC_INTERFACE_HEADER_NAME

Hello, when I create an empty static library and add some Swift files with @objc keywords, how can I make it generate PRODUCTNAME-Swift.h file for me so I can include my swift code from Objective-C code in main target?

What I did:

  • I’ve set PRODUCTNAME setting
  • I’ve set Defines Module to YES
  • I’ve set SWIFT_OBJC_INTERFACE_HEADER_NAME (It was preset for me)
  • SWIFT_INSTALL_OBJC_HEADER is YES (Descrption warns me a bit: For frameworks, install the Objective-C compatibility header describing bridged Swift classes into the PUBLIC_HEADERS_FOLDER_PATH so they may be accessed from Objective-C code using the framework. Defaults to YES. Does it work ONLY for FRAMEWORKS? Not for static library?)
  • PUBLIC_HEADERS_FOLDER_PATH points to a correct location

Whenever I build static library scheme, I can’t see the generated PRODUCTNAME-Swift.h file at PUBLIC_HEADERS_FOLDER_PATH location. Thus, I cannot import it via #import “MyTarget-Swift.h”. Apparently it does not generate that file. Is there a way to enable it?

Powered by WPeMatico

About

You may also like...

Comments are closed.