我有一个带有两个目标的XCode 6项目 - 一个iOS 8应用程序和一个iOS 8扩展。我在两个目标之间共享一个常量文件。
我错误地在标头中声明了一个没有extern或static前缀的const int,这导致了重复的符号链接器错误。
这个错误的声明已经存在于项目的过去几次修订中,并且自第一天起,常量标题已包含在MULTIPLE文件中。
为什么然后,我最近才开始收到错误 - 在我通过删除Main.storyboard对项目文件进行了更改之后 - 这也只是在模拟器构建上?
我从项目文件中删除了一个未使用的Main.storyboard,然后立即开始收到此链接器错误。我知道现在不应该发生这个错误,因为相关常数已经使用了很长时间。
无论如何我修正了错误(通过将const声明为extern),但现在又开始出现其他错误。
我现在确信代码没有任何问题,只是XCode错了。所以为了测试I ONCE AGAIN删除了Main.storyboard,并且奇怪的错误(抱歉我没有记录)又回来了,代码没有变化。
为了进一步确认,我在同一台机器上检查了一个完整的事先提交(它完美无缺,并且仍然有Main.storyboard)。这次,在没有对代码,项目或Main.storyboard进行任何更改的情况下,我看到了同样的错误。
这证实我的实际pbxproj和源文件没有任何问题,但数据XCode中的某些问题已经缓存(某处)。
请注意,清除DerivedData文件夹也没有帮助。
迂回点是, XCode肯定似乎是错误的是否突然抛出错误或者没有抛弃它。但我正在检查是否可能有另一个合乎逻辑的解释,说明为什么XCode突然出现"更改"它的行为。
答案 0 :(得分:0)
请检查您是否错误地#import
编辑了.m
个文件,而不是.h
。这导致过去我的重复符号错误。