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!
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.
Add in build settings User Header Search Paths "${PROJECT_DIR}/Pods" recursive. This solved the problem in my case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With