首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode10.2将多个目标转换为Swift 5:尝试编译一些不属于目标的类

Xcode10.2将多个目标转换为Swift 5:尝试编译一些不属于目标的类
EN

Stack Overflow用户
提问于 2019-03-26 19:11:17
回答 4查看 1.5K关注 0票数 5

我有一个有多个目标的iOS Swift项目。

将第一个目标转换为Swift 5很容易。

将第二个目标转换为Swift 5时,Xcode10.2尝试编译仅存在于第一个目标中的文件,但失败了(因为它不编译第一个目标的所有文件,并抱怨无法解析标识符)。

当转换到Swift 5时,我可以做什么让Xcode只编译那些属于目标的文件?

如何将我的项目转换为Swift 5?

清理Build文件夹并重新启动Xcode10.2没有任何帮助。

EN

回答 4

Stack Overflow用户

发布于 2019-05-22 02:43:05

我刚刚经历了这个过程,根据迁移指南https://swift.org/migration-guide-swift5/最后一句话中的提示,我找到了一个相当简单的解决方案

当我尝试单独转换项目中的每个目标时,第二个目标会失败,因为与已经转换的第一个目标共享了代码。解决方案是创建一个新方案,该方案在单个通道中包含需要迁移的所有目标。

使用"+“按钮添加您需要转换为方案的所有目标。使用当前Swift版本构建新方案以确认所有目标构建Scheme..."

  • Create Scheme..."

  • Under

  • -> -> "To current Swift Syntax...”启动conversion

这对我在一个有15个目标的项目中很有效,该项目在4.0版本中有许多共享的Swift代码。

票数 1
EN

Stack Overflow用户

发布于 2019-03-26 20:23:41

我找到了一种解决方法:

将项目重置为conversion.

  • convert之前的状态具有最少类的目标(不包含目标的第一个attempt)

  • convert目标的错误消息中的文件,包括越来越多的文件

  • 测试目标

通过这种方法,我能够转换我的项目。

(另请参阅Cœur的评论,我认为他们的手动转换也可以)

票数 0
EN

Stack Overflow用户

发布于 2019-03-27 08:55:51

我不清楚是什么问题,如果你能在http://bugreport.apple.com上提交一份错误报告,苹果的团队会跟进你的。

请注意,这里有一个迁移指南,您可能会发现它很有帮助:https://swift.org/migration-guide-swift5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55355726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档