更新到Xcode 7.2,我无法再编译。我收到了一些Undefined Symbols
错误:
undef: _OBJC_CLASS_$_NSTextContainer
undef: _OBJC_CLASS_$_NSMutableParagraphStyle
undef: _OBJC_CLASS_$_NSLayoutManager
undef: _NSUnderlineStyleAttributeName
undef: _NSParagraphStyleAttributeName
undef: _NSLinkAttributeName
undef: _OBJC_CLASS_$_NSTextStorage
undef: _OBJC_CLASS_$_NSTextAttachment
undef: _NSBaselineOffsetAttributeName
undef: _NSBackgroundColorAttributeName
undef: _NSDocumentTypeDocumentAttribute
undef: _NSFontAttributeName
undef: _NSHTMLTextDocumentType
undef: _NSForegroundColorAttributeName
undef: _OBJC_CLASS_$_UIFont
所有课程似乎都与UIKit有关......但我检查了它并且它正在被导入。
违规代码在链接之前不会抛出错误。
有人知道发生了什么吗?
注意:我已清理,删除了派生数据等。
答案 0 :(得分:0)
删除并重新安装Xcode 7.2工作了一段时间,但问题仍然存在。
我最终将问题缩小到我添加到其中一个分支机构的新模块。我创建了一个名为UIFoundation
的新模块。我正在将常见组件推送到该模块(在多个项目中共享)。由于Apple拥有Foundation
和UIKit
框架,因此我认为UIFoundation
是安全的。我错了。 Apple必须在内部使用此名称,因为只需将具有该名称的模块添加到项目中,就会导致链接失败。将模块重命名为其他东西可以完全解决问题。
但是,一旦我构建了具有UIFoundation
模块的分支,问题就会在其他分支上继续存在。即使删除派生数据也无法解决问题。我只能假设有一些缓存或某些设置受到影响,这半永久地混淆了Xcode?...不确定。无论是什么情况,创建删除UIFoundation
并将其替换为另一个模块名称都可以。