我的Swift/iOS9框架'viewer_protocol'使用另一个外部Objective-C框架(CocoaAsyncSocket).我正在使用Carthage构建CocoaAsyncSocket.到目前为止一切正常:在我的框架Xcode项目中有一个示例App使用我的框架没有任何问题.
现在我想在不同的Xcode项目中使用我的框架 - 尽管使用了Carthage.我只将我的Framework作为依赖项包含在内,而Carthage会自动将依赖项解析为CocoaAsyncSocket.我将这两个框架嵌入到这个新的Xcode项目中并构建我的应用程序:这里的一切正常 - 除了一个警告我无法摆脱:
/Users/hibento/Repositories/viewer_protocol/<module-includes>:1:1:
Umbrella header for module 'viewer_protocol' does not include header 'GCDAsyncSocket.h'
Run Code Online (Sandbox Code Playgroud)
这是我的框架标题:
#import <UIKit/UIKit.h>
//! Project version number for viewer_protocol.
FOUNDATION_EXPORT double viewer_protocolVersionNumber;
//! Project version string for viewer_protocol.
FOUNDATION_EXPORT const unsigned char viewer_protocolVersionString[];
// In this header, you should import all the public headers of your framework
using statements like #import <viewer_protocol/PublicHeader.h>
#import <CocoaAsyncSocket/CocoaAsyncSocket.h>
Run Code Online (Sandbox Code Playgroud)
如您所见,导入了CocoaAsyncSocket.h.此外,在我的框架内包含CocoaAsyncSocket.h文件:
我在这里缺少什么?我在我的框架中使用了其他几个外部框架,没有任何警告 - 所有这些外部框架都是用Swift编写的 - CocoaAsyncSocket是纯Objective-C.
这是我的框架module.modulemap:
framework module viewer_protocol {
umbrella header "viewer_protocol.h"
export *
module …Run Code Online (Sandbox Code Playgroud)