Permalink
Cannot retrieve contributors at this time
// | |
// KNAppDelegate.m | |
// KeepANote | |
// | |
// Created by Claire Reynaud on 10/17/13. | |
// Copyright (c) 2013 Claire Reynaud. All rights reserved. | |
// | |
#import <CoreData/CoreData.h> | |
#import "KNAppDelegate.h" | |
#import "AFNetworking.h" | |
#import "KNMasterViewController.h" | |
#import "AFNetworking.h" | |
@implementation KNAppDelegate | |
@synthesize managedObjectContext = _managedObjectContext; | |
@synthesize managedObjectModel = _managedObjectModel; | |
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator; | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
self.window.tintColor = [UIColor purpleColor]; | |
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; | |
KNMasterViewController *controller = (KNMasterViewController *)navigationController.topViewController; | |
controller.managedObjectContext = self.managedObjectContext; | |
NSLog(@"NSURLCache memory capacity: %d Bytes", [[NSURLCache sharedURLCache] memoryCapacity]); | |
NSLog(@"NSURLCache disk capacity: %d Bytes", [[NSURLCache sharedURLCache] diskCapacity]); | |
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ | |
NSURL *baseURL = [NSURL URLWithString:@"http://0.0.0.0:8000"]; | |
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL]; | |
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer]; | |
[serializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; | |
[serializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; | |
NSString *string = @"claire:test"; | |
NSString *base64EncodedString = [[string dataUsingEncoding:NSUTF8StringEncoding] base64EncodedStringWithOptions:0]; | |
[serializer setValue:[NSString stringWithFormat:@"Basic %@", base64EncodedString] forHTTPHeaderField:@"Authorization"]; | |
[manager setRequestSerializer:serializer]; | |
[manager GET:@"/api/notes/b7ddb6a5-ea5f-464f-87c7-fc14fb933e1a/" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { | |
NSLog(@"OK: %@", responseObject); | |
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { | |
NSLog(@"Error: %@", error); | |
}]; | |
}); | |
return YES; | |
} | |
- (void)saveContext | |
{ | |
NSError *error = nil; | |
NSManagedObjectContext *managedObjectContext = self.managedObjectContext; | |
if (managedObjectContext != nil) { | |
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { | |
// Replace this implementation with code to handle the error appropriately. | |
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. | |
NSLog(@"Unresolved error %@, %@", error, [error userInfo]); | |
abort(); | |
} | |
} | |
} | |
#pragma mark - Core Data stack | |
// Returns the managed object context for the application. | |
// If the context doesn't already exist, it is created and bound to the persistent store coordinator for the application. | |
- (NSManagedObjectContext *)managedObjectContext | |
{ | |
if (_managedObjectContext != nil) { | |
return _managedObjectContext; | |
} | |
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator]; | |
if (coordinator != nil) { | |
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; | |
[_managedObjectContext setPersistentStoreCoordinator:coordinator]; | |
} | |
return _managedObjectContext; | |
} | |
// Returns the managed object model for the application. | |
// If the model doesn't already exist, it is created from the application's model. | |
- (NSManagedObjectModel *)managedObjectModel | |
{ | |
if (_managedObjectModel != nil) { | |
return _managedObjectModel; | |
} | |
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"KeepANote" withExtension:@"momd"]; | |
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; | |
return _managedObjectModel; | |
} | |
// Returns the persistent store coordinator for the application. | |
// If the coordinator doesn't already exist, it is created and the application's store added to it. | |
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator | |
{ | |
if (_persistentStoreCoordinator != nil) { | |
return _persistentStoreCoordinator; | |
} | |
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"KeepANote.sqlite"]; | |
NSError *error = nil; | |
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; | |
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { | |
NSLog(@"Unresolved error %@, %@", error, [error userInfo]); | |
abort(); | |
} | |
return _persistentStoreCoordinator; | |
} | |
#pragma mark - Application's Documents directory | |
// Returns the URL to the application's Documents directory. | |
- (NSURL *)applicationDocumentsDirectory | |
{ | |
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; | |
} | |
@end |