使用cocoapods“use_frameworks!”SWIFT时出错

我有一个干净的快速项目,使用一些cocoapods:Parse,AFNetworking和RESideMenu。 我需要使用STZPopupView pod,所以我用最新版本更新了cocoapods:

gem install cocoapods 

然后我为我的项目重新启动它:

 pod install 

由于这个错误:

 [!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it. 

我更新了我的podfile,添加了“use_frameworks!”

我的podfile现在是:

 # Uncomment this line to define a global platform for your project # platform :ios, '8.0' use_frameworks! source 'https://github.com/CocoaPods/Specs.git' target 'isam' do pod 'RESideMenu', '~> 4.0.7' pod 'AFNetworking', '~> 2.5' pod 'Parse', '~> 1.6' pod 'STZPopupView', '~> 1.0' end target 'isamTests' do end 

因为,我在构建时遇到2个错误:

  • 找不到“RESideMenu.h”文件
  • 无法导入桥接标题“…. / isam / Swift-Bridging-Header.h”

我在项目中没有改变任何其他内容。

我的Swift-Bridging-Header.h没有改变:

 #ifndef isam_Swift_Bridging_Header_h #define isam_Swift_Bridging_Header_h #import  #import  #endif 

在我的构建设置中,我有:

构建设置

我认为这是因为“use_frameworks!” 在我的podfile中,但我不知道如何使用我的所有pod来正确构建我的应用程序。

编辑:

确切的错误是:

 /path_of_my_project/Swift-Bridging-Header.h:12:9: error: 'RESideMenu.h' file not found #import  ^ :0: error: failed to import bridging header '/path_of_my_project/Swift-Bridging-Header.h' 

我实际上遇到了同样的问题。 你可以试试这个: http : //www.innerexception.com/2015/05/cocoapods-useframeworks-means-bridging.html

使用use_frameworks时! 在CocoaPods中,你所有的pod都将被用作框架,而不仅仅是swift pods。 所以你不需要桥接头。 只需将您的pod导入所需的所有swift文件即可。 在您的示例中,您必须编写:import RESideMenu

尝试从Objective-C桥接头中删除isam /,只有Swift-Bridging-Header.h

根据个人经验,CocoaPods在结合swift和Objective C框架时仍然存在一些问题。 你可以使用Alamofire,这几乎相当于快速的AFNetworking。

希望这可以帮助。

编辑:当你可以直接使用swift库时,为什么在swift中使用Objectice-C Parse。

我遇到过同样的问题。 我将所有导入从#import "RESideMenu.h"更改为#import