136 lines
4.9 KiB
Objective-C
136 lines
4.9 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
|
|
{
|
|
// Override point for customization after application launch.
|
|
_dbClient = [[DropboxV2ObjC alloc] init];
|
|
NSDictionary *credentials =
|
|
[[NSURLCredentialStorage sharedCredentialStorage]
|
|
credentialsForProtectionSpace:_dbClient.kDropboxProtectionSpace];
|
|
NSURLCredential *credential = [credentials.objectEnumerator nextObject];
|
|
_dbClient.token = credential.password;
|
|
// Reset if user changed it
|
|
[_dbClient setupDropboxWithHandler:^{
|
|
}
|
|
presenter:nil];
|
|
[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
|
|
[_dbClient authorizeUserWithToke:url
|
|
completion:^(void) {
|
|
[_smWebView.navigationController
|
|
popViewControllerAnimated:YES];
|
|
[_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
|