繁体   English   中英

Xcode不会使用Swift框架作为单独的目标来归档Swift iOS应用。 如何解决?

[英]Xcode won't archive Swift iOS app with a Swift framework as a separate target. How can this be fixed?

我有一个使用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标头:

#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,或者只是将其从构建目标中删除。 我希望我对它为什么有效有更好的解释!

我已经在这里分叉了您的项目并创建了一个构建(至少可以在我的机器上运行): https : //github.com/acwright/X-Schedule

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM