Remove PearlAppDelegate.
This commit is contained in:
parent
cf74dc5cc2
commit
93ad86e63c
2
platform-darwin/External/Pearl
vendored
2
platform-darwin/External/Pearl
vendored
@ -1 +1 @@
|
|||||||
Subproject commit fb38d0e35fb95627fdfedc6976f529d9bed70a8d
|
Subproject commit fbb8e6f94b295ee34a575ca9bdd0cc95bfe615a9
|
@ -117,7 +117,7 @@ PearlAssociatedObjectProperty( NSMutableArray*, ProductObservers, productObserve
|
|||||||
[self performPurchaseProductWithIdentifier:productIdentifier quantity:quantity];
|
[self performPurchaseProductWithIdentifier:productIdentifier quantity:quantity];
|
||||||
}]];
|
}]];
|
||||||
[controller addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
[controller addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:controller animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -167,7 +167,7 @@ PearlAssociatedObjectProperty( NSMutableArray*, ProductObservers, productObserve
|
|||||||
@"Ensure you are online and try logging out and back into iTunes from your device's Settings." )
|
@"Ensure you are online and try logging out and back into iTunes from your device's Settings." )
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[controller addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil]];
|
[controller addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:controller animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -260,7 +260,7 @@
|
|||||||
^(UIAlertAction *_Nonnull action) {
|
^(UIAlertAction *_Nonnull action) {
|
||||||
setResult( nil );
|
setResult( nil );
|
||||||
}]];
|
}]];
|
||||||
[self.navigationController presentViewController:controller animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
#endif
|
#endif
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
|
|
||||||
@interface MPAppDelegate_Shared : PearlAppDelegate
|
@interface MPAppDelegate_Shared : UIResponder<UIApplicationDelegate, PearlConfigDelegate>
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
@interface MPiOSAppDelegate : MPAppDelegate_Shared <SKStoreProductViewControllerDelegate>
|
@interface MPiOSAppDelegate : MPAppDelegate_Shared <SKStoreProductViewControllerDelegate>
|
||||||
|
|
||||||
|
@property(nonatomic, strong) UIWindow *window;
|
||||||
@property(nonatomic, strong) SKStoreProductViewController *voltoViewController;
|
@property(nonatomic, strong) SKStoreProductViewController *voltoViewController;
|
||||||
|
|
||||||
- (void)openURL:(NSURL *)url;
|
- (void)openURL:(NSURL *)url;
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
@implementation CountlyPushNotifications(MPNotifications)
|
@implementation CountlyPushNotifications(MPNotifications)
|
||||||
|
|
||||||
- (void)openURL:(NSString *)URLString {
|
- (void)openURL:(NSString *)URLString {
|
||||||
[[MPiOSAppDelegate get].navigationController performSegueWithIdentifier:@"web" sender:[NSURL URLWithString:URLString]];
|
[[MPiOSAppDelegate get].window.rootViewController performSegueWithIdentifier:@"web" sender:[NSURL URLWithString:URLString]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@ -48,6 +48,8 @@
|
|||||||
|
|
||||||
@implementation MPiOSAppDelegate
|
@implementation MPiOSAppDelegate
|
||||||
|
|
||||||
|
@synthesize window;
|
||||||
|
|
||||||
+ (void)initialize {
|
+ (void)initialize {
|
||||||
|
|
||||||
[MPiOSConfig get];
|
[MPiOSConfig get];
|
||||||
@ -150,12 +152,6 @@
|
|||||||
@catch (id exception) {
|
@catch (id exception) {
|
||||||
err( @"During Config Test: %@", exception );
|
err( @"During Config Test: %@", exception );
|
||||||
}
|
}
|
||||||
@try {
|
|
||||||
[super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
||||||
}
|
|
||||||
@catch (id exception) {
|
|
||||||
err( @"During Pearl Application Launch: %@", exception );
|
|
||||||
}
|
|
||||||
@try {
|
@try {
|
||||||
inf( @"Started up with device identifier: %@", [PearlKeyChain deviceIdentifier] );
|
inf( @"Started up with device identifier: %@", [PearlKeyChain deviceIdentifier] );
|
||||||
|
|
||||||
@ -206,7 +202,7 @@
|
|||||||
|
|
||||||
PearlMainQueueOperation( ^{
|
PearlMainQueueOperation( ^{
|
||||||
if ([[MPiOSConfig get].showSetup boolValue])
|
if ([[MPiOSConfig get].showSetup boolValue])
|
||||||
[self.navigationController performSegueWithIdentifier:@"setup" sender:self];
|
[self.window.rootViewController performSegueWithIdentifier:@"setup" sender:self];
|
||||||
|
|
||||||
[self consentFeatures];
|
[self consentFeatures];
|
||||||
} );
|
} );
|
||||||
@ -244,7 +240,7 @@
|
|||||||
(id)[error localizedDescription]?: error )
|
(id)[error localizedDescription]?: error )
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -256,7 +252,7 @@
|
|||||||
@"Master Password couldn't understand the import file."
|
@"Master Password couldn't understand the import file."
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -296,8 +292,7 @@
|
|||||||
[self consentFeatures];
|
[self consentFeatures];
|
||||||
}]];
|
}]];
|
||||||
|
|
||||||
[(self.navigationController.presentedViewController?: (UIViewController *)self.navigationController)
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
presentViewController:alert animated:YES completion:nil];
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
@ -342,8 +337,7 @@
|
|||||||
[MPiOSConfig get].notificationsDecided = @(YES);
|
[MPiOSConfig get].notificationsDecided = @(YES);
|
||||||
}
|
}
|
||||||
}]];
|
}]];
|
||||||
[(self.navigationController.presentedViewController?: (UIViewController *)self.navigationController)
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
presentViewController:alert animated:YES completion:nil];
|
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +366,7 @@
|
|||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
|
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
|
||||||
setResult( nil );
|
setResult( nil );
|
||||||
}]];
|
}]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
} askUserPassword:^NSString *(NSString *userName) {
|
} askUserPassword:^NSString *(NSString *userName) {
|
||||||
@ -390,7 +384,7 @@
|
|||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
|
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
|
||||||
setResult( nil );
|
setResult( nil );
|
||||||
}]];
|
}]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
} result:^(NSError *error) {
|
} result:^(NSError *error) {
|
||||||
@ -401,7 +395,7 @@
|
|||||||
UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Error" message:[error localizedDescription]
|
UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"Error" message:[error localizedDescription]
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[controller addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
[controller addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:controller animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}];
|
}];
|
||||||
@ -411,8 +405,6 @@
|
|||||||
|
|
||||||
inf( @"Will foreground" );
|
inf( @"Will foreground" );
|
||||||
|
|
||||||
[super applicationWillEnterForeground:application];
|
|
||||||
|
|
||||||
[self.hangDetector start];
|
[self.hangDetector start];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,20 +427,16 @@
|
|||||||
[UIPasteboard generalPasteboard].string = @"";
|
[UIPasteboard generalPasteboard].string = @"";
|
||||||
}]];
|
}]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
mpw_marshal_file_free( &importFile );
|
mpw_marshal_file_free( &importFile );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
[super applicationDidBecomeActive:application];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
|
||||||
|
|
||||||
inf( @"Received memory warning." );
|
inf( @"Received memory warning." );
|
||||||
|
|
||||||
[super applicationDidReceiveMemoryWarning:application];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
||||||
@ -461,8 +449,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
[self.hangDetector stop];
|
[self.hangDetector stop];
|
||||||
|
|
||||||
[super applicationDidEnterBackground:application];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - Behavior
|
#pragma mark - Behavior
|
||||||
@ -479,7 +465,7 @@
|
|||||||
else if ([url.host isEqualToString:@"show-url"]) {
|
else if ([url.host isEqualToString:@"show-url"]) {
|
||||||
for (NSURLQueryItem *item in [NSURLComponents componentsWithString:[url absoluteString]].queryItems)
|
for (NSURLQueryItem *item in [NSURLComponents componentsWithString:[url absoluteString]].queryItems)
|
||||||
if ([item.name isEqualToString:@"url"]) {
|
if ([item.name isEqualToString:@"url"]) {
|
||||||
[[MPiOSAppDelegate get].navigationController performSegueWithIdentifier:@"web" sender:[NSURL URLWithString:item.value]];
|
[self.window.rootViewController performSegueWithIdentifier:@"web" sender:[NSURL URLWithString:item.value]];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,7 +498,7 @@
|
|||||||
@"help@masterpassword.app"
|
@"help@masterpassword.app"
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
else if (logs) {
|
else if (logs) {
|
||||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Feedback" message:
|
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Feedback" message:
|
||||||
@ -526,7 +512,7 @@
|
|||||||
[alert addAction:[UIAlertAction actionWithTitle:@"No Logs" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
|
[alert addAction:[UIAlertAction actionWithTitle:@"No Logs" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
|
||||||
[self openFeedbackWithLogs:NO forVC:viewController];
|
[self openFeedbackWithLogs:NO forVC:viewController];
|
||||||
}]];
|
}]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
[self openFeedbackWithLogs:NO forVC:viewController];
|
[self openFeedbackWithLogs:NO forVC:viewController];
|
||||||
@ -580,7 +566,7 @@
|
|||||||
[self deleteAndResetStore];
|
[self deleteAndResetStore];
|
||||||
}]];
|
}]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Ignore" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Ignore" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -605,10 +591,10 @@
|
|||||||
[self showExportRevealPasswords:YES forVC:viewController];
|
[self showExportRevealPasswords:YES forVC:viewController];
|
||||||
}]];
|
}]];
|
||||||
[sheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
[sheet addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:sheet animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:sheet animated:YES completion:nil];
|
||||||
}]];
|
}]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showExportRevealPasswords:(BOOL)revealPasswords forVC:(UIViewController *)viewController {
|
- (void)showExportRevealPasswords:(BOOL)revealPasswords forVC:(UIViewController *)viewController {
|
||||||
@ -619,7 +605,7 @@
|
|||||||
@"Close Master Password, go into Settings and add a Mail account."
|
@"Close Master Password, go into Settings and add a Mail account."
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -644,7 +630,7 @@
|
|||||||
handler:^(UIAlertAction *action) {
|
handler:^(UIAlertAction *action) {
|
||||||
setResult( nil );
|
setResult( nil );
|
||||||
}]];
|
}]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
} error:&error];
|
} error:&error];
|
||||||
@ -655,7 +641,7 @@
|
|||||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Export Error" message:[error localizedDescription]
|
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Export Error" message:[error localizedDescription]
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
if (!exportedUser)
|
if (!exportedUser)
|
||||||
return;
|
return;
|
||||||
@ -711,7 +697,7 @@
|
|||||||
}
|
}
|
||||||
}]];
|
}]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Continue" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
@ -735,7 +721,7 @@
|
|||||||
^(UIAlertAction *action) { [self migrateFor:user_]; }]];
|
^(UIAlertAction *action) { [self migrateFor:user_]; }]];
|
||||||
|
|
||||||
PearlMainQueue( ^{
|
PearlMainQueue( ^{
|
||||||
[self.navigationController presentViewController:usersSheet animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:usersSheet animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
}];
|
}];
|
||||||
return;
|
return;
|
||||||
@ -757,7 +743,7 @@
|
|||||||
^(UIAlertAction *action) { setResult( alert.textFields.firstObject.text ); }]];
|
^(UIAlertAction *action) { setResult( alert.textFields.firstObject.text ); }]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:
|
[alert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:
|
||||||
^(UIAlertAction *action) { setResult( nil ); }]];
|
^(UIAlertAction *action) { setResult( nil ); }]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
} error:&error];
|
} error:&error];
|
||||||
@ -769,7 +755,7 @@
|
|||||||
message:[error localizedDescription]
|
message:[error localizedDescription]
|
||||||
preferredStyle:UIAlertControllerStyleAlert];
|
preferredStyle:UIAlertControllerStyleAlert];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
if (!exportedUser)
|
if (!exportedUser)
|
||||||
return;
|
return;
|
||||||
@ -784,7 +770,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
else if (self.voltoViewController)
|
else if (self.voltoViewController)
|
||||||
[self.navigationController presentViewController:self.voltoViewController animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:self.voltoViewController animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)changeMasterPasswordFor:(MPUserEntity *)user saveInContext:(NSManagedObjectContext *)moc didResetBlock:(void ( ^ )(void))didReset {
|
- (void)changeMasterPasswordFor:(MPUserEntity *)user saveInContext:(NSManagedObjectContext *)moc didResetBlock:(void ( ^ )(void))didReset {
|
||||||
@ -808,7 +794,7 @@
|
|||||||
didReset();
|
didReset();
|
||||||
}]];
|
}]];
|
||||||
[alert addAction:[UIAlertAction actionWithTitle:@"Abort" style:UIAlertActionStyleCancel handler:nil]];
|
[alert addAction:[UIAlertAction actionWithTitle:@"Abort" style:UIAlertActionStyleCancel handler:nil]];
|
||||||
[self.navigationController presentViewController:alert animated:YES completion:nil];
|
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="Q1S-vU-GGO">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="Q1S-vU-GGO">
|
||||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
@ -97,10 +97,10 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
</imageView>
|
</imageView>
|
||||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0Sa-Vg-EEI" userLabel="Name Backdrop">
|
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0Sa-Vg-EEI" userLabel="Name Backdrop">
|
||||||
<rect key="frame" x="43.5" y="263" width="128.5" height="16"/>
|
<rect key="frame" x="43.5" y="263" width="128" height="16"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalCompressionResistancePriority="1000" text="Maarten Billemont" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cLT-s0-4SQ" userLabel="Name Field">
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalCompressionResistancePriority="1000" text="Maarten Billemont" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cLT-s0-4SQ" userLabel="Name Field">
|
||||||
<rect key="frame" x="5" y="0.0" width="118.5" height="16"/>
|
<rect key="frame" x="5" y="0.0" width="118" height="16"/>
|
||||||
<fontDescription key="fontDescription" name="Exo2.0-ExtraBold" family="Exo 2.0" pointSize="13"/>
|
<fontDescription key="fontDescription" name="Exo2.0-ExtraBold" family="Exo 2.0" pointSize="13"/>
|
||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
@ -288,14 +288,14 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="069-Pu-yXe" userLabel="Thanks Tip">
|
<view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="069-Pu-yXe" userLabel="Thanks Tip">
|
||||||
<rect key="frame" x="91" y="0.0" width="232.5" height="60"/>
|
<rect key="frame" x="90.5" y="0.0" width="233" height="60"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="tip_basic_black.png" translatesAutoresizingMaskIntoConstraints="NO" id="Z8P-ZK-aS0">
|
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="tip_basic_black.png" translatesAutoresizingMaskIntoConstraints="NO" id="Z8P-ZK-aS0">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="232.5" height="60"/>
|
<rect key="frame" x="0.0" y="0.0" width="233" height="60"/>
|
||||||
<rect key="contentStretch" x="0.15000000000000002" y="0.0" width="0.69999999999999973" height="1"/>
|
<rect key="contentStretch" x="0.15000000000000002" y="0.0" width="0.69999999999999973" height="1"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Why is Master Password free?" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="BLV-3x-Q0z">
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Why is Master Password free?" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="BLV-3x-Q0z">
|
||||||
<rect key="frame" x="20" y="11.5" width="192.5" height="17"/>
|
<rect key="frame" x="20" y="11.5" width="193" height="17"/>
|
||||||
<fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="14"/>
|
<fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="14"/>
|
||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
@ -2240,7 +2240,7 @@ Suspendisse potenti. Etiam ut nisi id augue tempor ultrices et sit amet sapien.
|
|||||||
<dataDetectorType key="dataDetectorTypes" link="YES"/>
|
<dataDetectorType key="dataDetectorTypes" link="YES"/>
|
||||||
</textView>
|
</textView>
|
||||||
<toolbar contentMode="scaleToFill" barStyle="black" translatesAutoresizingMaskIntoConstraints="NO" id="WmH-JB-jp2">
|
<toolbar contentMode="scaleToFill" barStyle="black" translatesAutoresizingMaskIntoConstraints="NO" id="WmH-JB-jp2">
|
||||||
<rect key="frame" x="0.0" y="764" width="414" height="49"/>
|
<rect key="frame" x="0.0" y="769" width="414" height="44"/>
|
||||||
<items>
|
<items>
|
||||||
<barButtonItem systemItem="compose" id="BSV-3i-01h">
|
<barButtonItem systemItem="compose" id="BSV-3i-01h">
|
||||||
<connections>
|
<connections>
|
||||||
@ -2255,7 +2255,7 @@ Suspendisse potenti. Etiam ut nisi id augue tempor ultrices et sit amet sapien.
|
|||||||
<barButtonItem systemItem="flexibleSpace" id="Lp4-ss-KxI"/>
|
<barButtonItem systemItem="flexibleSpace" id="Lp4-ss-KxI"/>
|
||||||
<barButtonItem style="plain" id="aMS-HH-mnE">
|
<barButtonItem style="plain" id="aMS-HH-mnE">
|
||||||
<segmentedControl key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="bar" selectedSegmentIndex="0" id="lxp-wx-uCy">
|
<segmentedControl key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="bar" selectedSegmentIndex="0" id="lxp-wx-uCy">
|
||||||
<rect key="frame" x="267" y="11" width="127" height="32"/>
|
<rect key="frame" x="267" y="6" width="127" height="32"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<segments>
|
<segments>
|
||||||
<segment title="Normal"/>
|
<segment title="Normal"/>
|
||||||
@ -2755,7 +2755,7 @@ Invested: 3.7 work hours</string>
|
|||||||
<rect key="frame" x="188.5" y="20" width="37" height="37"/>
|
<rect key="frame" x="188.5" y="20" width="37" height="37"/>
|
||||||
</activityIndicatorView>
|
</activityIndicatorView>
|
||||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" verticalCompressionResistancePriority="751" text="Loading products..." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NPg-it-juF">
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="751" verticalCompressionResistancePriority="751" text="Loading products..." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NPg-it-juF">
|
||||||
<rect key="frame" x="134.5" y="97" width="145.5" height="25"/>
|
<rect key="frame" x="134" y="97" width="146" height="25"/>
|
||||||
<fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="17"/>
|
<fontDescription key="fontDescription" name="Exo2.0-Regular" family="Exo 2.0" pointSize="17"/>
|
||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
@ -3271,7 +3271,7 @@ Ut in geometria, prima si dederis, danda sunt omnia. Nonne igitur tibi videntur,
|
|||||||
</scene>
|
</scene>
|
||||||
</scenes>
|
</scenes>
|
||||||
<inferredMetricsTieBreakers>
|
<inferredMetricsTieBreakers>
|
||||||
<segue reference="k2G-nL-x3l"/>
|
<segue reference="Ql4-wf-T8u"/>
|
||||||
<segue reference="gtb-zE-u9H"/>
|
<segue reference="gtb-zE-u9H"/>
|
||||||
</inferredMetricsTieBreakers>
|
</inferredMetricsTieBreakers>
|
||||||
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
<color key="tintColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user