Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Property 'managedObjectStore' not found on object of type 'RKObjectManager'

I've been attempting to work with version 0.20.3 of the Restkit library. Recently an error has occurred that I cannot figure out how to solve. It is the following:

Property 'managedObjectStore' not found on object of type 'RKObjectManager *'

It happens at the line containing

objectManager.managedObjectStore = managedObjectStore;

A small block of my code is listed below to help with identification. I used CocoaPods to install all the necessary libraries and everything seems to link properly.

#import "AppDelegate.h" #import <RestKit/RestKit.h> #import <RestKit/CoreData.h> #import <CoreData/CoreData.h> #import <RestKit/ObjectMapping.h> #import "Temperature.h"  @implementation AppDelegate  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions {      //let AFNetworking manage the activity indicator     [AFNetworkActivityIndicatorManager sharedManager].enabled = YES;      // Override point for customization after application launch.     RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://grid.no-ip.biz/grid"]];     NSURL *modelURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Grideye" ofType:@"momd"]];      //Initialize managed object store     NSManagedObjectModel *managedObjectModel = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL ] mutableCopy];     RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];      objectManager.managedObjectStore = managedObjectStore;     // Setup our object mappings    /**    Mapping by entity. Here we are configuring a maping by targetting a Core Data entity with a specific    name. This allows us to map back Sensor database objects directly onto NSManagedObject instances    there is no backing model class    */    RKEntityMapping *sensorMapping = [RKEntityMapping mappingForEntityForName:@"SensorID" inManagedObjectStore:managedObjectStore];    sensorMapping.identificationAttributes = @[ @"sensorID"];    [sensorMapping addAttributeMappingsFromDictionary:@{         @"sensorID" : @"sensorID",         @"cellNum"  : @"cellNum",         @"timeStamp": @"timeStamp",         @"temp"     : @"temp"         }];     //Update date format so that we can parse Sensor dates properly    [RKObjectMapping addDefaultDateFormatterForString:@"E MMM d HH:mm:ss Z y" inTimeZone:nil];     // Register our mappings with the provider    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:sensorMapping method:RKRequestMethodGET pathPattern:@":grid" keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

Thanks for whatever input you can provide!

like image 689
Cale Spratt Avatar asked Sep 16 '13 02:09

Cale Spratt


2 Answers

I had exactly the same issue when upgrading from 0.20.1 to 0.20.3.

What you need to do is to import CoreData before importing RestKit.

#import <CoreData/CoreData.h> #import <RestKit/RestKit.h> 

is working.

but

#import <RestKit/RestKit.h> #import <CoreData/CoreData.h> 

is not working.

like image 138
Tomusm Avatar answered Sep 20 '22 17:09

Tomusm


Add in build settings User Header Search Paths "${PROJECT_DIR}/Pods" recursive. This solved the problem in my case.

like image 33
Di B. Avatar answered Sep 21 '22 17:09

Di B.