我有一个有多个目标的iOS Swift项目。
将第一个目标转换为Swift 5很容易。
将第二个目标转换为Swift 5时,Xcode10.2尝试编译仅存在于第一个目标中的文件,但失败了(因为它不编译第一个目标的所有文件,并抱怨无法解析标识符)。
当转换到Swift 5时,我可以做什么让Xcode只编译那些属于目标的文件?
如何将我的项目转换为Swift 5?
清理Build文件夹并重新启动Xcode10.2没有任何帮助。
发布于 2019-05-22 02:43:05
我刚刚经历了这个过程,根据迁移指南https://swift.org/migration-guide-swift5/最后一句话中的提示,我找到了一个相当简单的解决方案
当我尝试单独转换项目中的每个目标时,第二个目标会失败,因为与已经转换的第一个目标共享了代码。解决方案是创建一个新方案,该方案在单个通道中包含需要迁移的所有目标。
使用"+“按钮添加您需要转换为方案的所有目标。使用当前Swift版本构建新方案以确认所有目标构建Scheme..."
这对我在一个有15个目标的项目中很有效,该项目在4.0版本中有许多共享的Swift代码。
发布于 2019-03-26 20:23:41
我找到了一种解决方法:
将项目重置为conversion.
通过这种方法,我能够转换我的项目。
(另请参阅Cœur的评论,我认为他们的手动转换也可以)
发布于 2019-03-27 08:55:51
我不清楚是什么问题,如果你能在http://bugreport.apple.com上提交一份错误报告,苹果的团队会跟进你的。
请注意,这里有一个迁移指南,您可能会发现它很有帮助:https://swift.org/migration-guide-swift5
https://stackoverflow.com/questions/55355726
复制相似问题