这是令人沮丧的。我的项目在8.x版本的XCode中完美构建,但在9.x版本中,它在链接器阶段始终失败,因为链接器无法为看似随机的类找到.o文件。
例如,在一个构建中,它将无法找到UIWindow子类的中间对象文件:
在其他版本中,其他文件可能被识别为罪魁祸首,并且具有相同的“找不到文件”链接器错误。
因此,显然链接器阶段存在脱节。我能理解。但我无法挽救我的生命。
这是什么不起作用:
•删除衍生数据
•清洁和选项清洁
•在.swift文件检查器中,从目标中删除文件并重新添加到目标
•重命名目标
•从项目中删除所谓的错误文件,然后转移到垃圾箱,然后将文件重新添加到项目和目标中。
•将Build Settings的高级工作区设置从“XCode default”切换为“Legacy”
•将XCode从9.0更新到9.0.1
•解密Cocoapods并重新安装它们
老天。
所以,通常的嫌疑人都没有在这里发挥作用。
其他详情:
•当我查看链接器错误消息中指定的文件夹时,.o文件不存在。 (他们没有被创建吗?有没有设置?)
•在MacBook Pro Retina 15上使用Mac OS High Sierra
所以这是我的难题。
有没有人知道为什么XCode 9要么没有创建.o文件,要么无法找到这些文件,因为这个项目在以前的XCode版本中完美构建了?
谢谢!
答案 0 :(得分:0)
我发现的唯一解决方案无疑是非常痛苦的。我创建了一个新项目,然后将所有文件和依赖项重新导入到新项目中。然后设置所有构建设置等。此时项目回到构建并正常工作。
如果再次发生这种情况,我会尝试删除.xcworkspace文件并在开始新项目之前先使用pod install
重新生成它。
愿这不会发生在你身上。