“Cannot find interface declaration for NSObject”?

前端 未结 7 547
礼貌的吻别
礼貌的吻别 2020-12-15 08:09

So I\'ve done some research into this issue, but I haven\'t found anything similar just yet...

So I\'m coding a game in Obj-C using Xcode and Sparrow Framework. I\'v

相关标签:
7条回答
  • 2020-12-15 08:47

    This can be caused by not including UIKit.

    Add this to your header:

    #include <UIKit/UIKit.h>
    

    Also make sure to add the UIKit Framework to your project. (Targets/Build Phases/Link Binary With Libraries/ -- Select Add --- Add UIKit.Framework)

    0 讨论(0)
  • 2020-12-15 08:51

    Try this instead for Cocoa or iOS app, make sure to import "Foundation/Foundation.h" in your class where you are inheriting NSObject class.

    0 讨论(0)
  • 2020-12-15 08:53

    Try deleting the derived data for the project. You can do that through the organiser, under projects. You might have a corrupt precompiled header.

    0 讨论(0)
  • 2020-12-15 09:01

    I faced a similar error, resolved it when I noticed I had done something remarkably stupid.

    In my foo.m file, I had forgotten to #import "foo.h"

    The error got fixed when I added the import line.

    0 讨论(0)
  • 2020-12-15 09:01

    Make sure that you don't use a Class Name that is already taken. I've had the same problem when i named one of my Classes "Signal", which is already part of Foundation.

    0 讨论(0)
  • 2020-12-15 09:03

    Also make sure you're not including an Objective-C file from a .cpp or .c file.

    Example: a PhotoManager.mm might include the header file from the Objective-C pair PhotoObject.h/PhotoObject.mm. Then, if MyAwesomeCppFile.cpp includes PhotoManager.h, suddenly PhotoObject.h doesn't know the basic Objective-C classes and keywords.

    A solution would be to use #ifdef __OBJC__ if you can get away with it.

    Otherwise designate the .cpp file type as Objective-C++ Source in the file's properties panel (Top right window control => "Identity and type")

    0 讨论(0)
提交回复
热议问题