FMCPlanner2/FMC Planner 2/AppDelegate.m

127 lines
4.5 KiB
Objective-C

//
// AppDelegate.m
// FMC Planner 2
//
// Created by Kilian Hofmann on 19.03.16.
// Copyright © 2016 Kilian Hofmann. All rights reserved.
//
#import "AppDelegate.h"
@implementation AppDelegate
#pragma mark - Application lifecycle delegate methods
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self setup];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state.
// This can occur for certain types of temporary interruptions (such as an
// incoming phone call or SMS message) or when the user quits the
// application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down
// OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate
// timers, and store enough application state information to restore your
// application to its current state in case it is terminated later.
// If your application supports background execution, this method is called
// instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive
// state; here you can undo many of the changes made on entering the
// background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the
// application was inactive. If the application was previously in the
// background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if
// appropriate. See also applicationDidEnterBackground:.
}
#pragma mark - URL scheme handling
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
// Display text
[_main.dbClient authorizeUserWithToke:url
completion:^(void) {
[_smWebView.navigationController
popViewControllerAnimated:YES];
[_main.dbClient
setupDropboxWithHandler:^{
}
presenter:_smMenu];
}
presenter:_smMenu];
return YES;
}
#pragma mark - Setup of save system
- (void)setup
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsPath = paths[0];
BOOL saves = false;
BOOL oldSaves = false;
BOOL navData = false;
[[NSFileManager defaultManager]
fileExistsAtPath:[documentsPath stringByAppendingString:@"/SAVES"]
isDirectory:&saves];
[[NSFileManager defaultManager]
fileExistsAtPath:[documentsPath stringByAppendingString:@"/OLDSAVES"]
isDirectory:&oldSaves];
[[NSFileManager defaultManager]
fileExistsAtPath:[documentsPath stringByAppendingString:@"/NAVDATA"]
isDirectory:&navData];
if (!saves) {
[[NSFileManager defaultManager]
createDirectoryAtPath:[documentsPath
stringByAppendingString:@"/SAVES"]
withIntermediateDirectories:NO
attributes:nil
error:nil];
}
if (!oldSaves) {
[[NSFileManager defaultManager]
createDirectoryAtPath:
[documentsPath stringByAppendingString:@"/OLDSAVES"]
withIntermediateDirectories:NO
attributes:nil
error:nil];
}
if (!navData) {
[[NSFileManager defaultManager]
createDirectoryAtPath:[documentsPath
stringByAppendingString:@"/NAVDATA"]
withIntermediateDirectories:NO
attributes:nil
error:nil];
}
}
@end