Skip to content

Instantly share code, notes, and snippets.

View jlee42's full-sized avatar

Jeffrey Lee jlee42

View GitHub Profile
// Set up RestKit Logging
RKLogConfigureByName("RestKit", RKLogLevelTrace);
RKLogConfigureByName("RestKit/Network*", RKLogLevelTrace);
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
// Initialize RestKit
NSURL *baseURL = [NSURL URLWithString:[[NSUserDefaults standardUserDefaults] valueForKey:@"application_base_url"]];
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:baseURL];
// Enable Activity Indicator Spinner
- (void)initializeRestKit
{
// Set up RestKit Logging
RKLogConfigureByName("RestKit", RKLogLevelTrace);
RKLogConfigureByName("RestKit/Network*", RKLogLevelTrace);
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
// Initialize RestKit
NSURL *baseURL = [NSURL URLWithString:[[NSUserDefaults standardUserDefaults] valueForKey:@"application_base_url"]];
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:baseURL];
NSString *deviceUUID = [[NSUserDefaults standardUserDefaults] valueForKey:UUID_USER_DEFAULTS_KEY];
NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
usernameField.text, @"user[pawsid]",
passwordField.text, @"user[password]",
deviceUUID, @"user[device_uuid]", nil];
NSString *urlString = [NSString stringWithFormat:@"%@://%@:%@/api/v2/json/api_users/sign_in",
[NSObject TT_PROTOCOL], [NSObject TT_HOST], [NSObject TT_PORT]];
AFHTTPClient *httpClient = [RKObjectManager sharedManager].HTTPClient;
NSURLRequest *request = [httpClient requestWithMethod:@"POST" path:urlString parameters:params];
NSString *deviceUUID = [[NSUserDefaults standardUserDefaults] valueForKey:UUID_USER_DEFAULTS_KEY];
NSDictionary* params = [NSDictionary dictionaryWithObjectsAndKeys:
usernameField.text, @"user[pawsid]",
passwordField.text, @"user[password]",
deviceUUID, @"user[device_uuid]", nil];
NSString *urlString = [NSString stringWithFormat:@"%@://%@:%@/api/v2/json/api_users/sign_in",
[NSObject TT_PROTOCOL], [NSObject TT_HOST], [NSObject TT_PORT]];
[[RKObjectManager sharedManager].HTTPClient postPath:urlString parameters:params success:^(AFHTTPRequestOperation *operation, id JSON)
{
[[RKObjectManager sharedManager].HTTPClient postPath:@"/api/v2/json/api_users/sign_in" parameters:params success:^(AFHTTPRequestOperation *operation, id JSON)
{
// Success
NSLog(@"Success");
NSString *auth_token = [JSON class];
NSLog(@"AUTH_TOKEN: %@", auth_token);
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
// Error
[[RKObjectManager sharedManager].HTTPClient postPath:@"/api/v2/json/api_users/sign_in" parameters:params success:^(AFHTTPRequestOperation *operation, id JSON)
{
NSString *jsonString = [[NSString alloc] initWithData:JSON encoding:NSUTF8StringEncoding];
NSDictionary *objectDescriptor = [jsonString JSONValue];
NSString *authToken = [objectDescriptor valueForKey:@"auth_token"];
if (authToken != nil) {
[[NSUserDefaults standardUserDefaults] setValue:authToken forKey:@"auth_token"];
[[NSUserDefaults standardUserDefaults] setValue:usernameField.text forKey:@"authentication_username"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Load the object model via RestKit
RKObjectManager* objectManager = [RKObjectManager sharedManager];
[objectManager getObjectsAtPath:@"customers" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
{
NSLog(@"It worked: %@", [mappingResult array]);
// Or if you're only expecting a single object:
NSLog(@"It Worked: %@", [mappingResult firstObject]);
} failure:^(RKObjectRequestOperation *operation, NSError *error)
{
2012-12-06 22:49:27.446 RKTwitterCoreData[36228:c07] I restkit:RKLog.m:34 RestKit logging initialized...
2012-12-06 22:49:27.502 RKTwitterCoreData[36228:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid attribute 'statusID': no attribute was found for the given name in the 'User' entity.'
*** First throw call stack:
(0x1eba012 0x1bc7e7e 0x1eb9deb 0x5e96 0x6d78 0x2fab 0x89c7b7 0x89cda7 0x89dfab 0x8af315 0x8b024b 0x8a1cf8 0x2a41df9 0x2a41ad0 0x1e2fbf5 0x1e2f962 0x1e60bb6 0x1e5ff44 0x1e5fe1b 0x89d7da 0x89f65c 0x2aec 0x2a45 0x1)
libc++abi.dylib: terminate called throwing an exception
2013-01-17 15:10:07.642 TT iOS[20066:c07] I restkit:RKLog.m:34 RestKit logging initialized...
2013-01-17 15:10:09.612 TT iOS[20066:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Event''
*** First throw call stack:
(0x1aac012 0x18d1e7e 0x3843e7 0x46eb 0x3da2 0x9fe9de 0x9ff6f4 0x8b5de3 0x8b5d1c 0x8c56d6 0xa48603 0x8fc753 0x8fca7b 0x90a590 0x9125bd 0x912eab 0x9134a3 0x913098 0xc6eda3 0xc60ad9 0xc60b54 0x18e5705 0x81c920 0xa58b24 0x18e5705 0x81c920 0x81c8b8 0x8dd671 0x8ddbcf 0x8dcd38 0x84c33f 0x84c552 0x82a3aa 0x81bcf8 0x2548df9 0x2548ad0 0x1a21bf5 0x1a21962 0x1a52bb6 0x1a51f44 0x1a51e1b 0x25477e3 0x2547668 0x81965c 0x296d 0x2895)
libc++abi.dylib: terminate called throwing an exception
[[RKObjectManager sharedManager].HTTPClient postPath:@"http://localhost:3000/api/v1/json/api_users/sign_in" parameters:params success:^(AFHTTPRequestOperation *operation, id JSON)
{
// Success
[[NSUserDefaults standardUserDefaults] setValue:[JSON valueForKey:@"auth_token"] forKey:@"authentication_token"];
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
// Error
NSLog(@"Error: %@", [error localizedDescription]);
}];