使用Cocoapods的use_frameworks选项编译RestKit失败(针对Swift)。

10
我正在使用RestKit和一些仅Swift的框架,当我使用cocoapods use_frameworks!标志时,会出现编译错误。它在桥接头文件中找不到CoreData.h并且找不到RKValueTransformers.h。
如果我删除该标志,则所有内容都可以正确编译。
有人遇到过类似情况吗?是否有解决方法?

似乎这个问题已经在这里得到了解答:https://dev59.com/CV4c5IYBdhLWcg3wVpFI?rq=1 - jimijon
3个回答

1
据我所知,在桥接头文件中只能使用Objective-C或Swift库。没有解决方案可以让你同时使用Objective-C和Swift库在桥接头文件中。我建议使用桥接头文件来处理Objective-C库,并手动导入Swift库到项目中。

0

我在构建一个依赖于RestKit的私有Swift-Framework-Pod时,也曾经遇到过这个问题。经过长时间的奋斗,我fork了RestKit并进行了一些hack来解决问题。

缺点是,你必须使用相当老旧的Cocoapods 0.39,并且修改后的RestKit版本是从0.25.0分支出来的,因此也不是最新的版本。

要使用这个fork版本,在你的Podfile中,将
pod 'RestKit', ... 替换为
pod 'RestKit', :git => 'https://github.com/resmio/RestKit', :tag => 'v0.25.0-use-frameworks'

此外,你可能还需要使用一个hack过的AFNetworking版本,它也会带来一些问题。
同样地,在这里,将
pod 'AFNetworking', ... 替换为
pod 'AFNetworking', :git => 'https://github.com/resmio/AFNetworking', :tag => 'v1.3.4-use-frameworks'

如果这对你有用,请让我知道,如果可以的话,请传播这个消息! :)


似乎不再可用了?是的,2019年面临这个问题... - mdonati

0

最终,RestKit的最新版本可用。然而,我已经转而使用SYNC和AlamoFire来满足所有我的同步需求。你的情况可能会有所不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接