Ios 使用cocoapods时出错“;使用你的框架&引用;敏捷的
我有一个干净的swift项目,使用了一些cocoapod:Parse、AFNetworking和RESideMenu。 我需要使用pod,所以我用最新版本更新了cocoapods:Ios 使用cocoapods时出错“;使用你的框架&引用;敏捷的,ios,swift,cocoapods,residemenu,Ios,Swift,Cocoapods,Residemenu,我有一个干净的swift项目,使用了一些cocoapod:Parse、AFNetworking和RESideMenu。 我需要使用pod,所以我用最新版本更新了cocoapods: gem install cocoapods 然后我为我的项目重新启动了它: pod install 由于此错误: [!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `
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.
我更新了我的播客文件,添加了“使用框架!”
我的播客文件现在是:
# 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
因为,我在构建时有两个错误:
- 找不到“RESideMenu.h”文件
- 无法导入桥接标头“…/isam/Swift bridgeing header.h”
#ifndef isam_Swift_Bridging_Header_h
#define isam_Swift_Bridging_Header_h
#import <Parse/Parse.h>
#import <RESideMenu.h>
#endif
\ifndef isam\u Swift\u bridgeing\u Header\u h
#定义isam\u Swift\u桥接\u标题\u h
#进口
#进口
#恩迪夫
在我的生成设置中,我有:
我想这是因为我的podfile中有“use_frameworks!”,但我不知道如何使用我所有的pod来正确构建我的应用程序
编辑:
准确的误差是:
/path_of_my_project/Swift-Bridging-Header.h:12:9: error: 'RESideMenu.h' file not found
#import <RESideMenu.h>
^
<unknown>:0: error: failed to import bridging header '/path_of_my_project/Swift-Bridging-Header.h'
/path\u of_my\u project/Swift bridgeing Header.h:12:9:错误:“RESideMenu.h”文件未找到
#进口
^
:0:错误:未能导入桥接标头“/path\u of_my\u project/Swift bridgeing header.h”
尝试从Objective-C桥接头中删除isam/并仅使用Swift桥接头。h
根据个人经验,CoCoapod在结合swift和Objective C框架时仍然存在一些问题。您可以使用Alamofire,它几乎相当于swift的AFNetworking
希望这有帮助
编辑:
另外,既然可以直接使用swift库,为什么还要在swift中使用Objectice-C解析呢 事实上我也有同样的问题。你可以试试这个: 在使用框架时!在CoCoapod中,您的所有pod都将用作框架,而不仅仅是swift pod。所以你不需要一个桥接头。只需将您的POD导入您需要的所有swift文件。 在您的示例中,您必须编写:
进口剩余量我也有同样的问题。例如,我将所有导入内容从
#import“RESideMenu.h”
更改为#import
。从桥接头文件中删除以下语句:#ifndef isam\u Swift\u bridgeing\u header\u hdefine isam\u Swift\u bridgeing\u header\u h和endif。它应该可以工作。@dilip.ajm#ifndef只是尽我所能防止它被多次导入tell@SantaClaus我尝试了带引号和不带引号,但都不起作用。删除isam/不起作用。实际上,我需要pod STZPopupView,因为我想定制uialertcontroller:好的,我能够使用您的规范成功地构建项目。我唯一需要更改的是修改这个#导入并尝试从pod文件中删除目标'isam'do,确保在项目目录中运行所有pod终端命令当您说“删除目标isam”时,您要求我完全删除行“target'isam'do”/“end”在我的podfile中?应该从pod文件中删除目标“isam”do,但在生成设置中要求之前将其从头文件位置删除。我没有,也从来没有在构建设置中包含项目目录。我建议只添加Header.h,在这里创建一个名为Header的新hear文件以简化事情(这种命名方式不是最佳做法,但可以帮助您缩小范围并找到问题)您的cocoa pods版本是什么?这为我修复了它。然而,我也得到了一个“接口声明的副本”,我通过将从框架导入标题的Objective-C文件更改为使用全局包含而不是本地来修复:#import”Framework.h“
到#import
。