Xcode 7.2:NSHTMLTextDocumentAttribute的未定义符号

时间:2015-12-15 22:35:16

标签: ios xcode

更新到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有关......但我检查了它并且它正在被导入。

违规代码在链接之前不会抛出错误。

有人知道发生了什么吗?

注意:我已清理,删除了派生数据等。

1 个答案:

答案 0 :(得分:0)

删除并重新安装Xcode 7.2工作了一段时间,但问题仍然存在。

我最终将问题缩小到我添加到其中一个分支机构的新模块。我创建了一个名为UIFoundation的新模块。我正在将常见组件推送到该模块(在多个项目中共享)。由于Apple拥有FoundationUIKit框架,因此我认为UIFoundation是安全的。我错了。 Apple必须在内部使用此名称,因为只需将具有该名称的模块添加到项目中,就会导致链接失败。将模块重命名为其他东西可以完全解决问题。

但是,一旦我构建了具有UIFoundation模块的分支,问题就会在其他分支上继续存在。即使删除派生数据也无法解决问题。我只能假设有一些缓存或某些设置受到影响,这半永久地混淆了Xcode?...不确定。无论是什么情况,创建删除UIFoundation并将其替换为另一个模块名称都可以。