Xcode 9 OC与Swift混编 编译错误

我在工程中用了一些 Swift 的代码, 导致了一些问题, 在这里记录一下, 因为我的工程是轻度使用, 所以只遇到了2个问题, 如果有别的问题, 可以一起讨论.

failed to emit precompiled header

现象: 在 OC 代码中引用 Swift 代码, 需要#import "ProductName-Swift.h", 升级之后会报failed to emit precompiled header的错误.

解决: 在Build Settings 中, 搜索 precomplile找到Precompile Prefix Header设置为YES

Expected a type

现象: Swift 的代码中使用了OC 的代码, 因此在Bridging-Header.h#import "XXX.h", 在这个类中, 提示了上面的错误, 但是去掉之后, 我的 OC 代码可以编译通过的.

解决: 我在 OC 代码中使用了CGFloat, 结果报错了, 我估计是 Swift 中去除了CGFloat类型, 所以导入的时候报错了, 目前我暂时吧CGFloat改成了 float, 编译通过, 后续我再找找为什么.

另外: Swift4.0发布了, 到时候我会再更新一下变动..

你可能感兴趣的:(Xcode 9 OC与Swift混编 编译错误)