I have gone through many questions on Stack Overflow and Apple documentation, and many more related to it.
Not able to solve it. Thanks in advance for any help. Done the following steps:
Framework:
- I have Objective-C framework
- Adding Swift files to the framework
- Bridge files do not go with framework, but we do have
$(SWIFT_MODULE_NAME)-Swift.h
file generated. Framework needs <ProductName/ProductModuleName-Swift.h>
- Swift class should be public (tried with
@objc
as well)
- Swift method should have
@objc
(tried with setting public as well)
- Framework header file should be public at Identity attributer
Usage:
- Need to import the above file in any
.m
file where we want to use Swift files in Objective-C code.
- Forward declaration of Swift class in Objective-C class
- Defines Module in build setting should be set to
yes
- Always add embed swift standard libraries to
yes
in build settings
Still getting error for Swift class:
framework's header.h is not found in umbrella header.
Note: ProductModuleName-Swift.h
file is recognized in header file but not in implementation files. But I am able to use Swift classes in objective c classes.
Update:
Error is when I am creating the framework with git repository. Without repo I am able to build my framework successfully. As per my understanding git should not create any issue. Digging into it.
question from:
https://stackoverflow.com/questions/65864760/framework-of-objective-c-need-to-add-swift-files-to-the-framework 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…