Eureka: Cannot find interface declaration for 'FormViewController

Created on 3 Aug 2017  路  15Comments  路  Source: xmartlabs/Eureka

Xcode 8.3.2, latest pod version of Eureka

I tried adding Eureka through pods and everything works fine, Until I subclass FormViewController.
My project is mainly Swift with some objective-c and c++. When Xcode tries to generate objective-c interface headers for my swift files, it outputs an error on myViewController: FormViewController.

The error is in "myproject-swift.h" header file : 'Cannot find interface declaration for 'FormViewController', superclass of 'myViewController'.

awaiting response

Most helpful comment

I'm facing this exact issue as i migrated to Swift 5.

I wonder if this isn't lined to the following known issue from Swift 5 release notes:

Known Issues

If you鈥檙e building a framework containing Swift code and using lipo to create a binary that supports both device and simulator platforms, you must also combine the generated Framework-Swift.h headers for each platform to create a header that supports both device and simulator platforms. (48635615)

For example, if you鈥檝e built:

- iOS/Framework.framework

- iOS Simulator/Framework.framework

Take:

- iOS/Framework.framework/Headers/Framework-Swift.h

- iOS Simulator/Framework.framework/Framework-Swift.h

Create a new:

- iOS + iOS Simulator/Framework.framework/Headers/Framework-Swift.h

The contents of the new Framework-Swift.h should be:

if TARGET_OS_SIMULATOR

else

endif

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes

All 15 comments

I also had the same problem, but with Xcode 9.3. Did you solve it?

Same problem here.

Got it solved for me.

@tttthiagoooo @HeyYouNotYouYou Have you solved the issue?

@jeremiasdsa What was wrong?

Closing the issue for now. Reopen if you still need help.

No, I not solved. I tried use Eureka in my project last month, as it not worked, I removed it.

Hi @mtnbarreto,

I had to create a custom header file "Custom-myproject-swift.h" and remove the interfaces that make reference to FormViewController. So I could import #Custom-myproject-swift.h on my Objective-C portion of code. While keeping the FormViewController reference on "myproject-swift.h" to use Eureka on my swift portion of code.

I'm facing this exact issue as i migrated to Swift 5.

I wonder if this isn't lined to the following known issue from Swift 5 release notes:

Known Issues

If you鈥檙e building a framework containing Swift code and using lipo to create a binary that supports both device and simulator platforms, you must also combine the generated Framework-Swift.h headers for each platform to create a header that supports both device and simulator platforms. (48635615)

For example, if you鈥檝e built:

- iOS/Framework.framework

- iOS Simulator/Framework.framework

Take:

- iOS/Framework.framework/Headers/Framework-Swift.h

- iOS Simulator/Framework.framework/Framework-Swift.h

Create a new:

- iOS + iOS Simulator/Framework.framework/Headers/Framework-Swift.h

The contents of the new Framework-Swift.h should be:

if TARGET_OS_SIMULATOR

else

endif

https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes

Same issue on my side. Becoming very important as we cannot build with new version of Xcode...

I think it will be fixed with the next release of Carthage (https://github.com/Carthage/Carthage/pull/2723)

I think it will be fixed with the next release of Carthage (Carthage/Carthage#2723)

I'm using cocoapods and having the issue ;)

I'm facing this exact issue as i migrated to Swift 5.

Same as @bvirlet
Latest version of Carthage (0.32.0) doesn't fixe anything for me

Same issue, I am unable to compile project (objc, objc++, swift) for simulator using Swift 5 compiler. I have same issue with https://github.com/danielgindi/Charts library, too.

@TofPlay the latest version of Carthage release _after_ my comment is 0.33.0. It does solve the issue for me.

Carthage 0.33.0 fixes this issue 馃憤

Was this page helpful?
0 / 5 - 0 ratings