使用RestKit v0.21.0的XCode 5项目将无法编译

Num*_*ral 3 core-data ios restkit ios7 xcode5

我试图在我的应用程序中使用RestKit v0.21.0.我按照这里的说明将RestKit安装为Git子模块.

项目编译没有错误.

然后我试图访问mainQueueManagedObjectContext:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.

NSManagedObjectContext *context = [RKManagedObjectStore defaultStore].mainQueueManagedObjectContext;

return YES;
Run Code Online (Sandbox Code Playgroud)

}

并收到错误:

Receiver 'RKManagedObjectStore' for class message is a forward declaration
Run Code Online (Sandbox Code Playgroud)

Num*_*ral 12

在使用提交历史记录后,我意识到在添加#ifdef _COREDATADEFINES_H到RestKit项目后会出现此问题.

后来我发现解决方案在这里.

您应该添加#import <CoreData/CoreData.h>到您的PCH文件:

#ifdef __OBJC__

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <CoreData/CoreData.h>
#import <RestKit/RestKit.h>

#endif
Run Code Online (Sandbox Code Playgroud)

  • 这个库集成的顺序非常重要,因为当我有一个不同的它时它会显示错误. (6认同)