0

I'm using SwiftUI inside my binary framework, I added SwiftUI.framework as Optional in Embedded Binaries and use @available so it compiles just fine with deployment target iOS 9. However I cannot use it with xcodebuild, my commands :

xcodebuild clean archive \
    -project "${PROJECT_NAME}.xcodeproj" \
    -scheme ${1} \
    -configuration ${CONFIGURATION} \
    -destination "${2}" \
    -archivePath "${3}" \
    SKIP_INSTALL=NO \
    OBJROOT="${OBJROOT}/DependentBuilds" \
    BUILD_LIBRARY_FOR_DISTRIBUTION=YES | xcpretty

error message:

use of undeclared type 'View'

use of unresolved identifier 'UIHostingController'

P/s: -weak_framework SwiftUI in Other Linker Flags also didn't work

Community
  • 1
  • 1
Quang Vĩnh Hà
  • 494
  • 3
  • 8

2 Answers2

2

SwiftUI doesn't have 32 bit header, so adding architecture flag where the error is fix the issue

#if (arch(x86_64) || arch(arm64))
//...
#endif
Quang Vĩnh Hà
  • 494
  • 3
  • 8
0

You can wrap SwiftUI related code in #if canImport(SwiftUI) && canImport(Combine) statements. See example.

Renatus
  • 1,123
  • 13
  • 20
  • Please try to give a concrete example and not links. your link is broken and not helpful at the moment. – XcodeNOOB Feb 13 '20 at 08:15