- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我的 Swift/iOS9 框架“viewer_protocol”使用另一个外部 Objective-C 框架 (CocoaAsyncSocket)。我正在使用 Carthage 构建 CocoaAsyncSocket。到目前为止一切正常:在我的框架 Xcode 项目中有一个示例应用程序,使用我的框架没有任何问题。
现在我想在不同的 Xcode 项目中使用我的框架 - 尽管使用 Carthage。我只包含我的框架作为依赖项,Carthage 自动将依赖项解析为 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。
这是我的框架 module.modulemap:
framework module my_project {
umbrella header "my_project.h"
export *
module * { export * }
}
module viewer_protocol.Swift {
header "my_project-Swift.h"
}
更新
我找到了解决方案:从
更改我的框架标题中的导入语句#import <CocoaAsyncSocket/CocoaAsyncSocket.h>
到
#import "CocoaAsyncSocket/CocoaAsyncSocket.h"
现在 Xcode 找到了头文件,警告消失了。
最佳答案
我最近遇到了同样的问题。显然我在目标成员中将头文件设置为 public
,但它没有在伞头中公开。通过使用 project
访问而不是 public
来修复问题。
关于objective-c - 模块 'myFramework' 的伞形 header 不包括 header 'otherFramework.h',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32923483/
我是 xcode 和 cocoa 的新手。 根据Framework Programming Guide ,在制作框架时我应该遵循一定的目录结构。我最近使用xcode启动了一个框架项目,并惊讶地发现这个
我的 Swift/iOS9 框架“viewer_protocol”使用另一个外部 Objective-C 框架 (CocoaAsyncSocket)。我正在使用 Carthage 构建 CocoaAs
我的项目编译得很好,但在升级到 Xcode 11.4 后,它现在无法为我的每个框架编译,并显示此错误:Building for watchOS, but the linked framework 'M
在 Xcode 6.1 中为 Swift 语言创建了一个空白框架并收到此构建警告。 warning: PRODUCT_MODULE_NAME may not be overridden for fra
我是一名优秀的程序员,十分优秀!