Interface Builder文件中的未知类

时间:2010-08-05 15:21:39

标签: iphone xcode interface-builder class-reference

我创建了一个相当简单的iPhone应用程序。然后我想我会创建一个应用程序的iPad版本(Universal)。尝试使用'升级'选项,但没有解决问题。所以我创建了一个单独的通用应用程序并将xib文件复制到我的项目中。这也没有用,所以我删除了xib文件(及其相关的.m和.h文件。

现在,当我运行iPhone版本时,它在Interface Builder文件中为我提供了未知类iPadSample1AppDelegate。错误和UISplitViewController仅在UIUserInterfaceIdiomPad下运行时支持,然后退出。所以,我恢复了我在开始iPad冒险之前拍摄的快照......我得到了同样的错误。我已经尝试过XCode搜索和Spotlight搜索。在我的项目中的任何地方都没有引用该类或UISplitViewController,但出于某种原因,XCode认为存在。

有没有办法删除不存在的引用? LOL

更新

这可能与我的XCode环境被劫持有关。在这里找到其他一些帖子后,我尝试了一个Clean All / Build / Touch,当我触摸时,我在XCode中收到以下错误:

  

未捕获的例外:

     

- [XCBuildLogWarningMessage setFileLocations:]:无法识别的选择器发送到实例0x2014dd0a0

无论如何重新安装XCode而不搞乱其他所有事情?

8 个答案:

答案 0 :(得分:20)

事实证明,iPhone模拟器上的位与XCode不同步。我做了'重置内容和设置',一切正常:)谁知道?

答案 1 :(得分:13)

如果您在目标中进入Build Phases,您将看到Compile Sources。确保列出了您需要的每个m文件。如果没有,只需将其添加到此处,警告就会消失。

答案 2 :(得分:7)

右键点击Storyboard - >打开为 - >源代码

在故事板源文件中查找未知的类名。可能是因为您不小心为其中一个UIView子类分配了自定义类名称。

答案 3 :(得分:6)

我做了一些研究并发现了

for my case

我只需要右键单击Project Navigator中的抱怨文件。

选择View/Utilities/Show File Inspector.由于某种原因,未选择Target Membership

这就是链接器说它不知道类的存在的原因。

我只是选择了它,一切都像魅力一样。

答案 4 :(得分:1)

我有同样的问题但是上面的解决方案没有解决。我最终通过从info.plist文件中删除“主要故事板文件基本名称(iPad)”条目来实现它。

答案 5 :(得分:1)

为我修复的是在模拟器中“删除”ap,然后重新重建。

可能这个类仍然在iphone模拟器的本地设置中有所体现。

答案 6 :(得分:0)

在我的情况下,重构类名后出现此错误。不知何故,.xib文件中的类名没有改变。我在Textedit中打开了这个xib文件,并将所有OldClassVC替换为NewClassVC。然后我在新版本之前保存了xib-file和Cleaned项目。项目运行良好。

答案 7 :(得分:0)

如果您正在使用Cocoa pod,请将.framework / .a文件拖到项目的“带库的二进制文件”部分。