我的Swift/iOS9框架“查看器_协议”使用另一个外部Objective-C框架(CoCoCoAsyncSocket)。我在用迦太基建造CocoaAsyncSocket。到目前为止一切正常:在我的框架Xcode项目中有一个示例应用程序,使用我的框架没有任何问题。
现在我想在另一个Xcode项目中使用我的框架——尽管使用的是迦太基。我只将我的框架作为依赖项包括在内,而迦太基会自动将依赖项解析为CocoaAsyncSocket。我将这两个框架嵌入到这个新的Xcode项目中,并构建了我的应用程序:这里一切都很好——除了一个我无法摆脱的警告:
/Users/John/Repositories/my_project/<module-includes>:1:1:
Umbrella header for module 'my_project' does not include header 'GCDAsyncSocket.h'
这是我的框架标题:
#import <UIKit/UIKit.h>
//! Project version number for my_project.
FOUNDATION_EXPORT double my_projectVersionNumber;
//! Project version string for my_project.
FOUNDATION_EXPORT const unsigned char my_projectVersionString[];
// In this header, you should import all the public headers of your framework
using statements like #import <my_project/PublicHeader.h>
#import <CocoaAsyncSocket/CocoaAsyncSocket.h>
如您所见,CocoaAsyncSocket. h是导入的。此外,在我的框架中还包括CocoaAsyncSocket. h文件:
我错过了什么?我在我的框架中使用了其他几个外部框架,它们没有警告-所有这些外部框架都是用Swift编写的-CocoaAsyncSocket是纯Objective-C。
这是我的框架模块。模块映射:
framework module my_project {
umbrella header "my_project.h"
export *
module * { export * }
}
module viewer_protocol.Swift {
header "my_project-Swift.h"
}
使现代化
我找到了一个解决方案:将框架头中的import语句从
#import <CocoaAsyncSocket/CocoaAsyncSocket.h>
到
#import "CocoaAsyncSocket/CocoaAsyncSocket.h"
现在Xcode找到了头文件,警告消失了。
我今天也有同样的问题
模块HockeySDK的伞状标头不包括标头BITHockeyBaseViewController. h
解决办法是
1.构建并运行项目并转到报告导航器
2.查看警告,单击展开详细信息
它会让你的文件名,你需要作出改变,因为你可以看到在下面的屏幕截图
所以我刚刚更新了AppDelegate.m文件中的import语句
刚出现的
#import "HockeySDK/HockeySDK.h"
古老的
#import <HockeySDK/HockeySDK.h>
问题消失了...
希望这能帮助别人。他们来这里寻求解决方案。
我最近遇到了同样的问题。显然,我在目标成员身份中将头文件设置为public
,但它并没有在伞形头中公开。通过使头文件具有project
访问权限而不是public
来修复此问题。
主要内容:文档标记标量内容在本章中,将重点介绍用于表示内容的各种标量类型。 在YAML中,注释可以在标量内容之前或之后。但要注意的是,注释不应包含在标量内容中。 请注意,除了在多个键中使用外,所有流标量样式都可以包含多行。 标量的表示如下 - 块标量头的生成输出如下所示 - 文档标记标量内容 此示例中的所有字符都被视为内容,包括内部空格字符。 普通换行符用下面给出的例子表示 - 相应的JSON输出如下所述 -
我们什么时候应该在HttpRequest estMessage对象中使用标头而不是HttpClient中的标头?? 我们需要添加授权(总是在变化)和一些自定义标头(总是在变化) 问题 > 首选哪种方法 我是否应该向HttpClient添加公共头(所有请求都相同),并向HttpRequestMessage对象添加基于请求的头??
问题内容: 我有一个简单的PHP脚本,正在尝试跨域CORS请求: 但是我仍然得到错误: 请求标头字段不允许 我有什么想念的吗? 问题答案: 不允许作为可接受的值,请参阅此处的Mozilla文档。 您应该发送可接受的标头(而不是如星号所示)而不是星号。
问题内容: 我正在尝试通过Gmail OAuth 2.0访问用户的邮件,并且正在通过Google的OAuth 2.0 Playground解决此问题 在这里,他们指定了我需要将其作为HTTP REQUEST发送: 我尝试编写代码来发送此请求,如下所示: 无法运作,请提供协助。:) 更新: 我接受了 杰森·麦克里 ( Jason McCreary )的建议,现在我的代码如下所示: 但是我没有得到任何
问题内容: 现在,我想将我的ObjC框架迁移到Swift,并遇到以下错误: 引用指向仅定义协议的头文件,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前尚不清楚如何解决,您知道解决方案吗? 更新: 这是Swift编译器错误。 更新2: 一种快速解决方案(但不能解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAME
现在我想将我的ObjC框架迁移到Swift,我得到了以下错误: 引用是一个头文件,它只是定义一个协议,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前还不清楚如何修复,你知道解决方案吗? 更新: 这是一个 Swift 编译器错误。 更新 2: 一个快速解决方法(但不能解决根本原因)是将以下设置设置为YES:CLANG _ ALLOW _ NON _ MODULAR _ INCLU