I have a swift package that has a few classes marked with @objc. I have created a framework project and added Swift package as a dependency in Framework project. I want to import my swift package header file in my framework umbrella header file “iOSAuthFramework.h”:
#import <iOSSDK/iOSAuthSDK-Swift.h>
I then created Xcframework out of framework project using:
<code>xcodebuild archive
-workspace $WORKSPACE
-scheme $SCHEME
-configuration Release
-destination="generic/platform=${PLATFORM}"
-archivePath $ARCHIVE
-sdk $SDK
-derivedDataPath $BUILD_FOLDER
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
OTHER_SWIFT_FLAGS="-no-verify-emitted-module-interface"
USE_HEADER_MAPS=YES
SWIFT_INSTALL_OBJC_HEADER=YES | tee xcodebuild.log | xcpretty
</code>
<code>xcodebuild archive
-workspace $WORKSPACE
-scheme $SCHEME
-configuration Release
-destination="generic/platform=${PLATFORM}"
-archivePath $ARCHIVE
-sdk $SDK
-derivedDataPath $BUILD_FOLDER
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
OTHER_SWIFT_FLAGS="-no-verify-emitted-module-interface"
USE_HEADER_MAPS=YES
SWIFT_INSTALL_OBJC_HEADER=YES | tee xcodebuild.log | xcpretty
</code>
xcodebuild archive
-workspace $WORKSPACE
-scheme $SCHEME
-configuration Release
-destination="generic/platform=${PLATFORM}"
-archivePath $ARCHIVE
-sdk $SDK
-derivedDataPath $BUILD_FOLDER
SKIP_INSTALL=NO
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
OTHER_SWIFT_FLAGS="-no-verify-emitted-module-interface"
USE_HEADER_MAPS=YES
SWIFT_INSTALL_OBJC_HEADER=YES | tee xcodebuild.log | xcpretty
and
<code>xcodebuild -create-xcframework
-framework "${DEVICE_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-framework "${SIMULATOR_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-output "${OUTPUT_DIR}/${PROJECT_NAME}.xcframework"
</code>
<code>xcodebuild -create-xcframework
-framework "${DEVICE_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-framework "${SIMULATOR_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-output "${OUTPUT_DIR}/${PROJECT_NAME}.xcframework"
</code>
xcodebuild -create-xcframework
-framework "${DEVICE_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-framework "${SIMULATOR_ARCHIVE}/Products/Library/Frameworks/${PROJECT_NAME}.framework"
-output "${OUTPUT_DIR}/${PROJECT_NAME}.xcframework"
But it is not generating “iOSAuthSDK-Swift.h” in “headers” folder of Xcframework. It is only creating “iOSFramework.h” file. Although “iOSAuthSDK-Swift.h” file is generated in the build folder:
<code>Build/Intermediates.noindex/ArchiveIntermediates/iOSAuthFramework/IntermediateBuildFilesPath/iOSAuthSDK.build/Release-iphonesimulator/iOSAuthSDK.build/Objects-normal/arm64/iOSAuthSDK-Swift.h
</code>
<code>Build/Intermediates.noindex/ArchiveIntermediates/iOSAuthFramework/IntermediateBuildFilesPath/iOSAuthSDK.build/Release-iphonesimulator/iOSAuthSDK.build/Objects-normal/arm64/iOSAuthSDK-Swift.h
</code>
Build/Intermediates.noindex/ArchiveIntermediates/iOSAuthFramework/IntermediateBuildFilesPath/iOSAuthSDK.build/Release-iphonesimulator/iOSAuthSDK.build/Objects-normal/arm64/iOSAuthSDK-Swift.h