当我在Xcode 6.3中尝试构建CKCountdownButton作为框架时,它会抱怨
警告:没有找到目标' CKCountdownButton'的伞标题,将不会生成模块图
然后当我在其他项目中导入此框架时,它失败了没有这样的模块' CKCountdownButton'
答案 0 :(得分:31)
我找到了另一种解决方案, Xcode 提供了一种通过模块映射文件配置指定伞标题的方法。
module.modulemap
的内容应为:
framework module Foo {
umbrella header "Bar.h"
header "other-header.h"
export *
module * { export * }
}
答案 1 :(得分:29)
在框架中添加CKCountdownButton.h
修复了此问题。
我认为伞标题是指与Framework
相同名称的头文件答案 2 :(得分:8)
该目标需要至少有一个Swift文件。检查是否已将Swift文件添加到目标
答案 3 :(得分:0)
创建一个umbrella file
-任何.h
文件(或为框架目标自动生成的<product_name>.h
)
将所有可供消费者使用的.h
文件添加到umbrella file
#import "header_1.h"
#import "header_2.h"
将umbrella file
和标头文件.h
(标头_1.h,标头_2.h)添加到Headers
部分[can not do it] [public target membership]
Select `.h` file -> Select File Inspectors Tab -> Target Membership -> Select the target and make it **public**
//or
Project editor -> select a target -> Build Phases -> Headers -> add files to the **public** zone
创建一个.modulemap
文件
framework module product_name {
umbrella header "<umbrella_name>.h"
export *
}
选中Defines Module
Build Settings -> Defines Module -> YES
指定Module Map File
Build Settings -> Module Map File -> relative path to `.modulemap` file