我有一个使用 Swift 创建的 iOS 应用程序。由于我的项目中有一个小部件,并且我想在我的小部件和我的应用程序之间共享代码,因此我的项目中也有一个 Swift 框架。我可以成功构建我的应用程序。首先,我必须构建框架,然后才能构建应用程序。但是,当我尝试存档应用程序以进行分发时,它失败并出现两个错误。
module.modulemap: Header '{My Framework Name}-Swift.h' not found.
Could not build Objective-C module '{My Framework Name}'.
我的应用程序中有三个目标,一个应用程序、小部件和框架。
该框架有一组 Swift 文件,以及一个包含以下内容的 Objective-C header :
#import <UIKit/UIKit.h>
FOUNDATION_EXPORT double XScheduleKitVersionNumber;
FOUNDATION_EXPORT const unsigned char XScheduleKitVersionString[];
我的 Mac 运行的是 OS X 10.10.2。 Xcode 是 6.3 版。我的应用程序适用于 iOS 8.0+。我正在从事的项目的全部内容是开源的,可在 https://github.com/Cin316/X-Schedule 获得。 .
最佳答案
我之前遇到过这个令人沮丧的问题。似乎使用纯 Swift 框架目标 Objective-C 头文件会导致间歇性或奇怪的构建错误(Xcode 错误?)。这似乎违反直觉,但至少部分解决方案是将头文件从 public 更改为 project 或简单地将其从构建目标中删除。我希望我能更好地解释为什么会这样!
我已经 fork 你的项目并在这里创建了一个构建(至少在我的机器上工作):https://github.com/acwright/X-Schedule
希望这对您有所帮助!
关于ios - Xcode 不会将带有 Swift 框架的 Swift iOS 应用程序存档为单独的目标。这怎么能解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731659/