Unknown class in Interface Builder file [duplicate

2019-03-24 11:21发布

This question already has an answer here:

I created a fairly simple iPhone app. Then figured I'd create an iPad version (Universal) of the app. Tried using the 'upgrade' option and that didn't work-out. So I created a separate universal app and copied the xib files into my project. That didn't work out either, so I deleted the xib files (and their associated .m & .h files.

Now, when I run the iPhone version it gives me the Unknown class iPadSample1AppDelegate in Interface Builder file. error and UISplitViewController is only supported when running under UIUserInterfaceIdiomPad and then it exits. So, I restored to the snap-shot I took before embarking on the iPad adventure... I get the same error. I've tried the XCode search and Spotlight search. There is no reference to that class or the UISplitViewController anywhere in my project, but for some reason XCode thinks that there is.

Is there some way to remove a reference that doesn't exist? LOL

Update:

It may have something to do with my XCode environment being jacked. After finding a few other posts on here, I tried a Clean All / Build / Touch and when I did the touch, I got the following error in XCode:

Uncaught Exception:

-[XCBuildLogWarningMessage setFileLocations:]: unrecognized selector sent to instance 0x2014dd0a0

Anyway to reinstall XCode without messing up everything else?

8条回答
兄弟一词,经得起流年.
2楼-- · 2019-03-24 11:43

It turns out the bits on the iPhone simulator were out of sync with XCode. I did a 'Reset Content and Settings' and everything works :) Who knew?

查看更多
Root(大扎)
3楼-- · 2019-03-24 11:44

I had this same problem but it was not solved by the solution above. I ended up getting it working by removing the "Main storyboard file base name (iPad)" entry from my info.plist file.

查看更多
Bombasti
4楼-- · 2019-03-24 11:45

I did some research and found out that

for my case

I just need to right click to complaining file in the Project Navigator.

Choose View/Utilities/Show File Inspector. And for some reason the Target Membership was not selected.

That's why the linker says that it doesn't know the existence of the class.

I just ticked to choose it and everything works like a charm.

查看更多
狗以群分
5楼-- · 2019-03-24 11:48

Right click on Storyboard --> Open As --> Source Code

Find your unknown class name in the storyboard source file. It may be because you have accidentally assigned a custom class name for one of your UIView subclass'.

查看更多
神经病院院长
6楼-- · 2019-03-24 11:54

If you go to Build Phases within your targets you will see Compile Sources. Make sure each of the m files you need are listed. If not, just add it here and the warning should go away.

查看更多
劫难
7楼-- · 2019-03-24 11:56

In case you are using Cocoa pods, drag the .framework/.a files to your projects' "link binary with libraries" section.

查看更多
登录 后发表回答