|
|
|
@@ -10,11 +10,7 @@
|
|
|
|
|
|
|
|
|
|
#import "BaseNavigationController.h"
|
|
|
|
|
#import <AppTrackingTransparency/AppTrackingTransparency.h>
|
|
|
|
|
#import "ClientConfig.h"
|
|
|
|
|
#import "AccountModel.h"
|
|
|
|
|
#import "YuMi-swift.h"
|
|
|
|
|
#import "EPSignatureColorGuideView.h"
|
|
|
|
|
#import "EPEmotionColorStorage.h"
|
|
|
|
|
|
|
|
|
|
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|
|
|
|
|
|
|
|
@@ -33,13 +29,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|
|
|
|
self.window.rootViewController = launchScreenVC;
|
|
|
|
|
[self.window makeKeyAndVisible];
|
|
|
|
|
|
|
|
|
|
@kWeakify(self);
|
|
|
|
|
[[ClientConfig shareConfig] clientConfig:^{
|
|
|
|
|
@kStrongify(self);
|
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
|
|
[self loadMainPage];
|
|
|
|
|
});
|
|
|
|
|
}];
|
|
|
|
|
[self loadMainPage];
|
|
|
|
|
|
|
|
|
|
if (@available(iOS 15, *)) {
|
|
|
|
|
[[UITableView appearance] setSectionHeaderTopPadding:0];
|
|
|
|
@@ -89,8 +79,6 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|
|
|
|
[self checkAndShowSignatureColorGuide];
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[[ClientConfig shareConfig] clientInit];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// 检查并显示专属颜色引导页
|
|
|
|
@@ -185,84 +173,4 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma mark - Core Data stack
|
|
|
|
|
@synthesize managedObjectContext = _managedObjectContext;
|
|
|
|
|
@synthesize managedObjectModel = _managedObjectModel;
|
|
|
|
|
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
|
|
|
|
|
|
|
|
|
|
-(NSURL *)applicationDocumentsDirectory{
|
|
|
|
|
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- (NSManagedObjectModel *)managedObjectModel {
|
|
|
|
|
// The managed object model for the application. It is a fatal error for the application not to be able to find and load its model.
|
|
|
|
|
if (_managedObjectModel != nil) {
|
|
|
|
|
return _managedObjectModel;
|
|
|
|
|
}
|
|
|
|
|
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"_1_______" withExtension:@"momd"];
|
|
|
|
|
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
|
|
|
|
|
return _managedObjectModel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
|
|
|
|
|
// The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it.
|
|
|
|
|
if (_persistentStoreCoordinator != nil) {
|
|
|
|
|
return _persistentStoreCoordinator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Create the coordinator and store
|
|
|
|
|
|
|
|
|
|
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
|
|
|
|
|
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"_1_______.sqlite"];
|
|
|
|
|
NSError *error = nil;
|
|
|
|
|
NSString *failureReason = @"There was an error creating or loading the application's saved data.";
|
|
|
|
|
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
|
|
|
|
|
// Report any error we got.
|
|
|
|
|
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
|
|
|
|
|
dict[NSLocalizedDescriptionKey] = @"Failed to initialize the application's saved data";
|
|
|
|
|
dict[NSLocalizedFailureReasonErrorKey] = failureReason;
|
|
|
|
|
dict[NSUnderlyingErrorKey] = error;
|
|
|
|
|
error = [NSError errorWithDomain:@"YOUR_ERROR_DOMAIN" code:9999 userInfo:dict];
|
|
|
|
|
// Replace this 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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return _persistentStoreCoordinator;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- (NSManagedObjectContext *)managedObjectContext {
|
|
|
|
|
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.)
|
|
|
|
|
if (_managedObjectContext != nil) {
|
|
|
|
|
return _managedObjectContext;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
|
|
|
|
|
if (!coordinator) {
|
|
|
|
|
return nil;
|
|
|
|
|
}
|
|
|
|
|
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
|
|
|
|
|
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
|
|
|
|
|
return _managedObjectContext;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#pragma mark - Core Data Saving support
|
|
|
|
|
|
|
|
|
|
- (void)saveContext {
|
|
|
|
|
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
|
|
|
|
|
if (managedObjectContext != nil) {
|
|
|
|
|
NSError *error = 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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@end
|
|
|
|
|