我正在使用Xcode-6探索Swift,到目前为止一直都很好,尽管我认为新的集合需要一些工作,因为我已经设法打破了编译器几次.
问题是我现在卡住尝试创建框架包然后在另一个项目中使用.项目构建没有问题,所有测试都成功通过.当我去创建Archive(我假设是必需的)时,我收到错误:
:0:错误:未找到基础Objective-C模块"Sample"
现在我假设这与我的Sample.h的内容有关,它告诉我
// In this header, you should import all the public headers of your framework using statements like #import
这很好,除了我只使用了swift枚举,结构和类这个框架,因此没有.h文件存在.
任何人都可以对这一点有所了解,因为我找不到任何文件吗?
编辑(7/27/2018)
以下答案中的信息可能不再准确.你的旅费可能会改变.
我和一位工程师坐下来问了这个确切的问题.这是他们的回应:
Xcode 6目前不支持构建可分发的Swift框架,并且Apple可能不会将此功能构建到Xcode中,直到它们有利于它们这样做.现在,Frameworks旨在嵌入您的应用程序的项目中,而不是分布式.如果您观看任何会话视频或查看示例项目,这始终是安排.另一个原因是Swift很新,很可能会改变.因此,基于Swift的框架无法保证在最初构建它的平台上运行.
稍微更新
工程师提到,制作分发框架并非不可能,只是它不受支持.
我可以通过转到框架的目标并在Headers下的Build Phases选项卡上删除MyFramework.h文件来解决错误
然而,当我使用框架在包含应用程序和应用程序扩展之间共享代码时,我得到了"找不到底层Objective-C模块"错误,这两者都是纯粹的Swift.