Fixed a bunch of UI quirks, iOS 6 & 7.
[FIXED] UI Quirks in iOS 6 and iOS 7.
This commit is contained in:
parent
7fd322a5c6
commit
37070e482d
2
External/Pearl
vendored
2
External/Pearl
vendored
@ -1 +1 @@
|
|||||||
Subproject commit ea7054e328bd7162d1f5a56a0f64a3eed6e3fc66
|
Subproject commit 2ecab2a0d29b60754ec90eaabcb1cde835dbe294
|
@ -17,7 +17,7 @@
|
|||||||
+ (MPAppDelegate_Shared *)get {
|
+ (MPAppDelegate_Shared *)get {
|
||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
return (MPAppDelegate_Shared *)[UIApplication sharedApplication].delegate;
|
return (MPAppDelegate_Shared *)UIApp.delegate;
|
||||||
#elif defined (__MAC_OS_X_VERSION_MIN_REQUIRED)
|
#elif defined (__MAC_OS_X_VERSION_MIN_REQUIRED)
|
||||||
return (MPAppDelegate_Shared *)[NSApplication sharedApplication].delegate;
|
return (MPAppDelegate_Shared *)[NSApplication sharedApplication].delegate;
|
||||||
#else
|
#else
|
||||||
|
@ -103,13 +103,13 @@ PearlAssociatedObjectProperty(NSManagedObjectContext*, MainManagedObjectContext,
|
|||||||
delegate:self];
|
delegate:self];
|
||||||
|
|
||||||
#if TARGET_OS_IPHONE
|
#if TARGET_OS_IPHONE
|
||||||
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillTerminateNotification object:[UIApplication sharedApplication]
|
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillTerminateNotification object:UIApp
|
||||||
queue:[NSOperationQueue mainQueue] usingBlock:
|
queue:[NSOperationQueue mainQueue] usingBlock:
|
||||||
^(NSNotification *note) {
|
^(NSNotification *note) {
|
||||||
[[self mainManagedObjectContext] saveToStore];
|
[[self mainManagedObjectContext] saveToStore];
|
||||||
}];
|
}];
|
||||||
[[NSNotificationCenter defaultCenter]
|
[[NSNotificationCenter defaultCenter]
|
||||||
addObserverForName:UIApplicationWillResignActiveNotification object:[UIApplication sharedApplication]
|
addObserverForName:UIApplicationWillResignActiveNotification object:UIApp
|
||||||
queue:[NSOperationQueue mainQueue] usingBlock:
|
queue:[NSOperationQueue mainQueue] usingBlock:
|
||||||
^(NSNotification *note) {
|
^(NSNotification *note) {
|
||||||
[[self mainManagedObjectContext] saveToStore];
|
[[self mainManagedObjectContext] saveToStore];
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
@"app" : @"gorillas"
|
@"app" : @"gorillas"
|
||||||
} );
|
} );
|
||||||
|
|
||||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/app/lyndir/gorillas/id302275459?mt=8"]];
|
[UIApp openURL:[NSURL URLWithString:@"http://itunes.apple.com/app/lyndir/gorillas/id302275459?mt=8"]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)deblock:(UIButton *)sender {
|
- (IBAction)deblock:(UIButton *)sender {
|
||||||
@ -35,7 +35,7 @@
|
|||||||
@"app" : @"deblock"
|
@"app" : @"deblock"
|
||||||
} );
|
} );
|
||||||
|
|
||||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/app/lyndir/deblock/id325058485?mt=8"]];
|
[UIApp openURL:[NSURL URLWithString:@"http://itunes.apple.com/app/lyndir/deblock/id325058485?mt=8"]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
|
||||||
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
|
[UIApp setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
|
||||||
MPCheckpoint( MPCheckpointApps, nil );
|
MPCheckpoint( MPCheckpointApps, nil );
|
||||||
|
|
||||||
[self.pageViewController setViewControllers:@[ [self.pageVCs objectAtIndex:1] ] direction:UIPageViewControllerNavigationDirectionForward
|
[self.pageViewController setViewControllers:@[ [self.pageVCs objectAtIndex:1] ] direction:UIPageViewControllerNavigationDirectionForward
|
||||||
@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
- (void)viewWillDisappear:(BOOL)animated {
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
|
||||||
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
|
[UIApp setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
|
||||||
|
|
||||||
[super viewWillDisappear:animated];
|
[super viewWillDisappear:animated];
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,16 @@
|
|||||||
|
|
||||||
@implementation MPElementListAllViewController
|
@implementation MPElementListAllViewController
|
||||||
|
|
||||||
|
- (BOOL)prefersStatusBarHidden {
|
||||||
|
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||||
|
|
||||||
|
return UIStatusBarStyleLightContent;
|
||||||
|
}
|
||||||
|
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
@property(weak, nonatomic) IBOutlet UITextField *contentText;
|
@property(weak, nonatomic) IBOutlet UITextField *contentText;
|
||||||
@property(weak, nonatomic) IBOutlet UIButton *largePlayButton;
|
@property(weak, nonatomic) IBOutlet UIButton *largePlayButton;
|
||||||
@property(weak, nonatomic) IBOutlet UIButton *smallPlayButton;
|
@property(weak, nonatomic) IBOutlet UIButton *smallPlayButton;
|
||||||
|
@property(weak, nonatomic) IBOutlet UIView *alertTip;
|
||||||
|
|
||||||
- (IBAction)play;
|
- (IBAction)play;
|
||||||
- (IBAction)close;
|
- (IBAction)close;
|
||||||
|
@ -24,16 +24,21 @@
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
|
|
||||||
|
|
||||||
return UIInterfaceOrientationPortrait;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (BOOL)prefersStatusBarHidden {
|
- (BOOL)prefersStatusBarHidden {
|
||||||
|
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||||
|
|
||||||
|
return UIStatusBarStyleLightContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
|
||||||
|
|
||||||
|
return UIInterfaceOrientationPortrait;
|
||||||
|
}
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
|
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
@ -43,6 +48,7 @@
|
|||||||
self.usernameTip.hidden = NO;
|
self.usernameTip.hidden = NO;
|
||||||
self.typeTip.hidden = NO;
|
self.typeTip.hidden = NO;
|
||||||
self.toolTip.hidden = NO;
|
self.toolTip.hidden = NO;
|
||||||
|
self.alertTip.hidden = NO;
|
||||||
|
|
||||||
self.tickCount = 30;
|
self.tickCount = 30;
|
||||||
}
|
}
|
||||||
@ -50,27 +56,44 @@
|
|||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
|
||||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||||
if (![super respondsToSelector:@selector(prefersStatusBarHidden)])
|
|
||||||
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
|
|
||||||
|
|
||||||
inf(@"Guide will appear.");
|
inf(@"Guide will appear.");
|
||||||
[super viewWillAppear:animated];
|
[super viewWillAppear:animated];
|
||||||
|
|
||||||
if (self.navigationController) {
|
if (self.navigationController) {
|
||||||
// Via setup
|
// Via setup
|
||||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
|
||||||
self.smallPlayButton.hidden = YES;
|
self.smallPlayButton.hidden = YES;
|
||||||
|
|
||||||
self.siteNameTip.alpha = 0;
|
self.siteNameTip.alpha = 0;
|
||||||
self.content.alpha = 0;
|
self.content.alpha = 0;
|
||||||
self.content.frame = CGRectSetHeight( self.content.frame, 180 );
|
self.content.frame = CGRectSetHeight( self.content.frame, 180 );
|
||||||
self.contentTip.alpha = 0;
|
self.contentTip.alpha = 0;
|
||||||
|
self.contentButton.highlighted = NO;
|
||||||
self.usernameTip.alpha = 0;
|
self.usernameTip.alpha = 0;
|
||||||
|
self.usernameButton.highlighted = NO;
|
||||||
self.typeTip.alpha = 0;
|
self.typeTip.alpha = 0;
|
||||||
|
self.typeButton.highlighted = NO;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.toolButton.highlighted = NO;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Via segue
|
// Via segue
|
||||||
self.largePlayButton.hidden = YES;
|
self.largePlayButton.hidden = YES;
|
||||||
|
|
||||||
|
self.siteNameTip.alpha = 1;
|
||||||
|
self.content.alpha = 1;
|
||||||
|
self.content.frame = CGRectSetHeight( self.content.frame, 231 );
|
||||||
|
self.contentTip.alpha = 1;
|
||||||
|
self.contentTipText.text = @"Tap to copy";
|
||||||
|
self.contentButton.highlighted = NO;
|
||||||
|
self.usernameTip.alpha = 1;
|
||||||
|
self.usernameButton.highlighted = NO;
|
||||||
|
self.typeTip.alpha = 1;
|
||||||
|
self.typeButton.highlighted = NO;
|
||||||
|
self.toolTip.alpha = 0;
|
||||||
|
self.toolButton.highlighted = NO;
|
||||||
|
self.alertTip.alpha = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +109,6 @@
|
|||||||
- (void)viewWillDisappear:(BOOL)animated {
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
|
||||||
inf(@"Guide will disappear.");
|
inf(@"Guide will disappear.");
|
||||||
[self.navigationController setNavigationBarHidden:NO animated:animated];
|
|
||||||
[super viewWillDisappear:animated];
|
[super viewWillDisappear:animated];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,6 +154,7 @@
|
|||||||
self.usernameTip.alpha = 0;
|
self.usernameTip.alpha = 0;
|
||||||
self.typeTip.alpha = 0;
|
self.typeTip.alpha = 0;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
else if (self.currentTick < 10) {
|
else if (self.currentTick < 10) {
|
||||||
@ -139,9 +162,11 @@
|
|||||||
self.siteNameTip.alpha = 0;
|
self.siteNameTip.alpha = 0;
|
||||||
self.content.alpha = 1;
|
self.content.alpha = 1;
|
||||||
self.contentTip.alpha = 1;
|
self.contentTip.alpha = 1;
|
||||||
|
self.contentTipText.text = @"Your password";
|
||||||
self.usernameTip.alpha = 0;
|
self.usernameTip.alpha = 0;
|
||||||
self.typeTip.alpha = 0;
|
self.typeTip.alpha = 0;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
else if (self.currentTick < 15) {
|
else if (self.currentTick < 15) {
|
||||||
@ -149,12 +174,13 @@
|
|||||||
self.siteNameTip.alpha = 0;
|
self.siteNameTip.alpha = 0;
|
||||||
self.content.alpha = 1;
|
self.content.alpha = 1;
|
||||||
self.contentTip.alpha = 1;
|
self.contentTip.alpha = 1;
|
||||||
self.contentButton.highlighted = YES;
|
|
||||||
self.contentTipText.text = @"Tap to copy";
|
self.contentTipText.text = @"Tap to copy";
|
||||||
|
self.contentButton.highlighted = YES;
|
||||||
self.usernameTip.alpha = 0;
|
self.usernameTip.alpha = 0;
|
||||||
self.typeTip.alpha = 0;
|
self.typeTip.alpha = 0;
|
||||||
self.toolButton.highlighted = NO;
|
self.toolButton.highlighted = NO;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
else if (self.currentTick < 20) {
|
else if (self.currentTick < 20) {
|
||||||
@ -164,11 +190,11 @@
|
|||||||
self.content.frame = CGRectSetHeight( self.content.frame, 231 );
|
self.content.frame = CGRectSetHeight( self.content.frame, 231 );
|
||||||
self.contentTip.alpha = 0;
|
self.contentTip.alpha = 0;
|
||||||
self.contentButton.highlighted = NO;
|
self.contentButton.highlighted = NO;
|
||||||
self.contentTipText.text = @"Use this password";
|
|
||||||
self.usernameButton.highlighted = YES;
|
self.usernameButton.highlighted = YES;
|
||||||
self.usernameTip.alpha = 1;
|
self.usernameTip.alpha = 1;
|
||||||
self.typeTip.alpha = 0;
|
self.typeTip.alpha = 0;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
else if (self.currentTick < 25) {
|
else if (self.currentTick < 25) {
|
||||||
@ -181,6 +207,7 @@
|
|||||||
self.typeTip.alpha = 1;
|
self.typeTip.alpha = 1;
|
||||||
self.typeButton.highlighted = YES;
|
self.typeButton.highlighted = YES;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
else if (self.currentTick < 30) {
|
else if (self.currentTick < 30) {
|
||||||
@ -193,6 +220,7 @@
|
|||||||
self.typeButton.highlighted = NO;
|
self.typeButton.highlighted = NO;
|
||||||
self.toolButton.highlighted = YES;
|
self.toolButton.highlighted = YES;
|
||||||
self.toolTip.alpha = 1;
|
self.toolTip.alpha = 1;
|
||||||
|
self.alertTip.alpha = 0;
|
||||||
self.contentText.text = @"XupuMajf4'Hafh";
|
self.contentText.text = @"XupuMajf4'Hafh";
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
@ -209,6 +237,7 @@
|
|||||||
self.typeTip.alpha = 1;
|
self.typeTip.alpha = 1;
|
||||||
self.toolButton.highlighted = NO;
|
self.toolButton.highlighted = NO;
|
||||||
self.toolTip.alpha = 0;
|
self.toolTip.alpha = 0;
|
||||||
|
self.alertTip.alpha = 1;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,9 +122,9 @@
|
|||||||
|
|
||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
|
||||||
[self.navigationController setNavigationBarHidden:NO animated:animated];
|
|
||||||
if (![super respondsToSelector:@selector(prefersStatusBarHidden)])
|
if (![super respondsToSelector:@selector(prefersStatusBarHidden)])
|
||||||
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
|
[UIApp setStatusBarHidden:NO withAnimation:animated? UIStatusBarAnimationSlide: UIStatusBarAnimationNone];
|
||||||
|
[self.navigationController setNavigationBarHidden:NO animated:animated];
|
||||||
|
|
||||||
MPElementEntity *activeElement = [self activeElementForMainThread];
|
MPElementEntity *activeElement = [self activeElementForMainThread];
|
||||||
if (activeElement.user != [[MPiOSAppDelegate get] activeUserForMainThread])
|
if (activeElement.user != [[MPiOSAppDelegate get] activeUserForMainThread])
|
||||||
@ -149,11 +149,6 @@
|
|||||||
|
|
||||||
inf(@"Main will appear");
|
inf(@"Main will appear");
|
||||||
|
|
||||||
// Sometimes, the search bar gets stuck in some sort of first-responder mode that it can't get out of...
|
|
||||||
[[self.view.window findFirstResponderInHierarchy] resignFirstResponder];
|
|
||||||
|
|
||||||
// Needed for when we appear after a modal VC dismisses:
|
|
||||||
// We can't present until the other modal VC has been fully dismissed and presenting in -viewWillAppear: will fail.
|
|
||||||
[MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *moc) {
|
[MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *moc) {
|
||||||
MPUserEntity *activeUser = [[MPiOSAppDelegate get] activeUserInContext:moc];
|
MPUserEntity *activeUser = [[MPiOSAppDelegate get] activeUserInContext:moc];
|
||||||
if ([MPAlgorithmDefault migrateUser:activeUser inContext:moc] && !self.suppressOutdatedAlert)
|
if ([MPAlgorithmDefault migrateUser:activeUser inContext:moc] && !self.suppressOutdatedAlert)
|
||||||
@ -908,7 +903,7 @@
|
|||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[UIApplication sharedApplication] openURL:[request URL]];
|
[UIApp openURL:[request URL]];
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,9 +207,9 @@
|
|||||||
- (void)viewWillAppear:(BOOL)animated {
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
|
||||||
inf(@"Lock screen will appear");
|
inf(@"Lock screen will appear");
|
||||||
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
|
||||||
if (![super respondsToSelector:@selector(prefersStatusBarHidden)])
|
if (![super respondsToSelector:@selector(prefersStatusBarHidden)])
|
||||||
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
|
[UIApp setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
|
||||||
|
[self.navigationController setNavigationBarHidden:YES animated:animated];
|
||||||
|
|
||||||
[[MPiOSAppDelegate get] signOutAnimated:NO];
|
[[MPiOSAppDelegate get] signOutAnimated:NO];
|
||||||
|
|
||||||
@ -1031,7 +1031,7 @@
|
|||||||
navigationType:(UIWebViewNavigationType)navigationType {
|
navigationType:(UIWebViewNavigationType)navigationType {
|
||||||
|
|
||||||
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
|
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
|
||||||
[[UIApplication sharedApplication] openURL:[request URL]];
|
[UIApp openURL:[request URL]];
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1130,17 +1130,17 @@
|
|||||||
|
|
||||||
if (buttonIndex == [sheet firstOtherButtonIndex]) {
|
if (buttonIndex == [sheet firstOtherButtonIndex]) {
|
||||||
// Google+
|
// Google+
|
||||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://plus.google.com/116256327773442623984/about"]];
|
[UIApp openURL:[NSURL URLWithString:@"https://plus.google.com/116256327773442623984/about"]];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (buttonIndex == [sheet firstOtherButtonIndex] + 1) {
|
if (buttonIndex == [sheet firstOtherButtonIndex] + 1) {
|
||||||
// Facebook
|
// Facebook
|
||||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.facebook.com/masterpasswordapp"]];
|
[UIApp openURL:[NSURL URLWithString:@"https://www.facebook.com/masterpasswordapp"]];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (buttonIndex == [sheet firstOtherButtonIndex] + 2) {
|
if (buttonIndex == [sheet firstOtherButtonIndex] + 2) {
|
||||||
// Twitter
|
// Twitter
|
||||||
UIApplication *application = [UIApplication sharedApplication];
|
UIApplication *application = UIApp;
|
||||||
for (NSString *candidate in @[
|
for (NSString *candidate in @[
|
||||||
@"twitter://user?screen_name=%@", // Twitter
|
@"twitter://user?screen_name=%@", // Twitter
|
||||||
@"tweetbot:///user_profile/%@", // TweetBot
|
@"tweetbot:///user_profile/%@", // TweetBot
|
||||||
@ -1172,7 +1172,7 @@
|
|||||||
}
|
}
|
||||||
if (buttonIndex == [sheet firstOtherButtonIndex] + 4) {
|
if (buttonIndex == [sheet firstOtherButtonIndex] + 4) {
|
||||||
// GitHub
|
// GitHub
|
||||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://github.com/Lyndir/MasterPassword"]];
|
[UIApp openURL:[NSURL URLWithString:@"https://github.com/Lyndir/MasterPassword"]];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} cancelTitle:[PearlStrings get].commonButtonCancel
|
} cancelTitle:[PearlStrings get].commonButtonCancel
|
||||||
|
@ -1855,8 +1855,12 @@ If you set a custom password, it will be encrypted before it is saved to the clo
|
|||||||
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="48" sectionHeaderHeight="22" sectionFooterHeight="22" id="N83-sj-4tl">
|
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="48" sectionHeaderHeight="22" sectionFooterHeight="22" id="N83-sj-4tl">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<navigationBar key="tableHeaderView" contentMode="scaleToFill" barStyle="black" translucent="NO" id="l0p-Tu-L9k">
|
<view key="tableHeaderView" contentMode="scaleToFill" id="8py-Tx-ShT">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="64"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<navigationBar contentMode="scaleToFill" barStyle="black" translucent="NO" id="l0p-Tu-L9k">
|
||||||
|
<rect key="frame" x="0.0" y="20" width="320" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
<color key="tintColor" red="0.47450980390000003" green="0.86666666670000003" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="tintColor" red="0.47450980390000003" green="0.86666666670000003" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
<color key="barTintColor" red="0.12549020350000001" green="0.1411764771" blue="0.14901961389999999" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="barTintColor" red="0.12549020350000001" green="0.1411764771" blue="0.14901961389999999" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
@ -1878,6 +1882,9 @@ If you set a custom password, it will be encrypted before it is saved to the clo
|
|||||||
</navigationItem>
|
</navigationItem>
|
||||||
</items>
|
</items>
|
||||||
</navigationBar>
|
</navigationBar>
|
||||||
|
</subviews>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</view>
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="dataSource" destination="idA-Pj-1U9" id="yPh-6k-Ba9"/>
|
<outlet property="dataSource" destination="idA-Pj-1U9" id="yPh-6k-Ba9"/>
|
||||||
<outlet property="delegate" destination="idA-Pj-1U9" id="bdk-Iu-Hpv"/>
|
<outlet property="delegate" destination="idA-Pj-1U9" id="bdk-Iu-Hpv"/>
|
||||||
@ -2515,12 +2522,16 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
<scene sceneID="k6U-hl-fJt">
|
<scene sceneID="k6U-hl-fJt">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController id="myN-X7-9Tg" customClass="MPGuideViewController" sceneMemberID="viewController">
|
<viewController id="myN-X7-9Tg" customClass="MPGuideViewController" sceneMemberID="viewController">
|
||||||
<view key="view" contentMode="scaleToFill" id="vkG-Oi-PHo">
|
<view key="view" contentMode="scaleToFill" id="qvX-TO-FS2">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<view contentMode="scaleToFill" id="vkG-Oi-PHo">
|
||||||
|
<rect key="frame" x="0.0" y="20" width="320" height="548"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" image="background.png" id="C2i-R4-36i">
|
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" image="background.png" id="C2i-R4-36i">
|
||||||
<rect key="frame" x="0.0" y="44" width="320" height="524"/>
|
<rect key="frame" x="0.0" y="44" width="320" height="504"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<view clipsSubviews="YES" contentMode="scaleToFill" id="vSk-nT-Vwf" userLabel="View - Display">
|
<view clipsSubviews="YES" contentMode="scaleToFill" id="vSk-nT-Vwf" userLabel="View - Display">
|
||||||
@ -2649,10 +2660,17 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
<color key="textColor" red="0.37254901959999998" green="0.3921568627" blue="0.42745098040000001" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="0.37254901959999998" green="0.3921568627" blue="0.42745098040000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
</textAttributes>
|
</textAttributes>
|
||||||
<items>
|
<items>
|
||||||
<navigationItem title="Master Password" id="Kbd-LM-sCQ"/>
|
<navigationItem title="Overview" id="Kbd-LM-sCQ"/>
|
||||||
</items>
|
</items>
|
||||||
</navigationBar>
|
</navigationBar>
|
||||||
<searchBar contentMode="redraw" barStyle="black" placeholder="Site name" showsBookmarkButton="YES" translucent="NO" id="IJX-hq-SkG">
|
<toolbar opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translucent="NO" id="k9i-YD-Q2Q">
|
||||||
|
<rect key="frame" x="0.0" y="44" width="320" height="44"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
|
<color key="backgroundColor" red="0.12549020350000001" green="0.1411764771" blue="0.14901961389999999" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<items/>
|
||||||
|
<color key="barTintColor" red="0.12549020350000001" green="0.1411764771" blue="0.14901961389999999" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
</toolbar>
|
||||||
|
<searchBar contentMode="redraw" searchBarStyle="minimal" placeholder="Site name" showsBookmarkButton="YES" id="IJX-hq-SkG">
|
||||||
<rect key="frame" x="0.0" y="44" width="320" height="44"/>
|
<rect key="frame" x="0.0" y="44" width="320" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
<gestureRecognizers/>
|
<gestureRecognizers/>
|
||||||
@ -2660,7 +2678,7 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
<textInputTraits key="textInputTraits" autocorrectionType="no" keyboardType="URL"/>
|
<textInputTraits key="textInputTraits" autocorrectionType="no" keyboardType="URL"/>
|
||||||
</searchBar>
|
</searchBar>
|
||||||
<view contentMode="scaleToFill" id="Ahl-o0-lMv">
|
<view contentMode="scaleToFill" id="Ahl-o0-lMv">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
<rect key="frame" x="0.0" y="0.0" width="320" height="548"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="3wI-lo-tWc">
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="3wI-lo-tWc">
|
||||||
@ -2680,7 +2698,7 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="UHf-cp-97W">
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="UHf-cp-97W">
|
||||||
<rect key="frame" x="33" y="522" width="44" height="44"/>
|
<rect key="frame" x="33" y="502" width="44" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<accessibility key="accessibilityConfiguration" hint="" label="Close"/>
|
<accessibility key="accessibilityConfiguration" hint="" label="Close"/>
|
||||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||||
@ -2696,7 +2714,7 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="jDS-Vh-ETL">
|
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="jDS-Vh-ETL">
|
||||||
<rect key="frame" x="124" y="244" width="72" height="80"/>
|
<rect key="frame" x="124" y="234" width="72" height="80"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||||
<accessibility key="accessibilityConfiguration" hint="" label="Close"/>
|
<accessibility key="accessibilityConfiguration" hint="" label="Close"/>
|
||||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||||
@ -2712,12 +2730,13 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<progressView opaque="NO" contentMode="scaleToFill" id="nf7-oM-7dh">
|
<progressView opaque="NO" contentMode="scaleToFill" id="nf7-oM-7dh">
|
||||||
<rect key="frame" x="85" y="539" width="150" height="2"/>
|
<rect key="frame" x="85" y="523" width="150" height="2"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<inset key="insetFor6xAndEarlier" minX="0.0" minY="-3" maxX="0.0" maxY="3"/>
|
||||||
<color key="progressTintColor" red="0.37254901959999998" green="0.3921568627" blue="0.42745098040000001" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="progressTintColor" red="0.37254901959999998" green="0.3921568627" blue="0.42745098040000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
</progressView>
|
</progressView>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="0.12156862745098039" green="0.12941176470588237" blue="0.14117647058823529" alpha="0.5" colorSpace="calibratedRGB"/>
|
<color key="backgroundColor" red="0.37254901959999998" green="0.3921568627" blue="0.42745098040000001" alpha="0.0" colorSpace="calibratedRGB"/>
|
||||||
</view>
|
</view>
|
||||||
<view hidden="YES" userInteractionEnabled="NO" alpha="0.0" contentMode="scaleToFill" id="nDU-uf-V0X" userLabel="View - Tool Tip">
|
<view hidden="YES" userInteractionEnabled="NO" alpha="0.0" contentMode="scaleToFill" id="nDU-uf-V0X" userLabel="View - Tool Tip">
|
||||||
<rect key="frame" x="10" y="59" width="266" height="60"/>
|
<rect key="frame" x="10" y="59" width="266" height="60"/>
|
||||||
@ -2739,16 +2758,16 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
</view>
|
</view>
|
||||||
<view hidden="YES" userInteractionEnabled="NO" alpha="0.0" contentMode="scaleToFill" id="cUZ-lb-h7x" userLabel="View - Site Name Tip">
|
<view hidden="YES" userInteractionEnabled="NO" alpha="0.0" contentMode="scaleToFill" id="cUZ-lb-h7x" userLabel="View - Site Name Tip">
|
||||||
<rect key="frame" x="10" y="55" width="300" height="60"/>
|
<rect key="frame" x="10" y="59" width="300" height="56"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="tip_basic_black_top.png" id="NgB-q4-k0y">
|
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="tip_basic_black_top.png" id="NgB-q4-k0y">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="300" height="60"/>
|
<rect key="frame" x="0.0" y="0.0" width="300" height="56"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<rect key="contentStretch" x="0.15000000000000002" y="0.15000000000000002" width="0.69999999999999973" height="0.69999999999999973"/>
|
<rect key="contentStretch" x="0.15000000000000002" y="0.15000000000000002" width="0.69999999999999973" height="0.69999999999999973"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Name for your password" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="lgI-5O-kXT">
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Name your site (eg. gmail.com)" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="lgI-5O-kXT">
|
||||||
<rect key="frame" x="-20" y="26" width="340" height="21"/>
|
<rect key="frame" x="-20" y="26" width="340" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||||
@ -2765,7 +2784,7 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
<rect key="frame" x="0.0" y="0.0" width="210" height="60"/>
|
<rect key="frame" x="0.0" y="0.0" width="210" height="60"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Use this password" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="nGi-CK-Dng">
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Your password" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="nGi-CK-Dng">
|
||||||
<rect key="frame" x="19" y="9" width="171" height="21"/>
|
<rect key="frame" x="19" y="9" width="171" height="21"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||||
@ -2812,12 +2831,47 @@ You can make passwords for anything, like email addresses, sites or real-world t
|
|||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
</view>
|
</view>
|
||||||
|
<view hidden="YES" userInteractionEnabled="NO" alpha="0.0" contentMode="scaleToFill" id="RSW-m2-zQ4" userLabel="View - Alert">
|
||||||
|
<rect key="frame" x="10" y="337" width="300" height="180"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="tip_alert_black.png" id="EbN-iH-aJ0">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="300" height="180"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<rect key="contentStretch" x="0.25" y="0.6499999999999998" width="0.64999999999999969" height="0.10000000000000002"/>
|
||||||
|
</imageView>
|
||||||
|
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Important Tips:" lineBreakMode="tailTruncation" minimumFontSize="10" id="pnh-jB-A00">
|
||||||
|
<rect key="frame" x="70" y="20" width="210" height="21"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||||
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||||
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||||
|
<nil key="highlightedColor"/>
|
||||||
|
</label>
|
||||||
|
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" id="zrE-Ux-kph">
|
||||||
|
<rect key="frame" x="20" y="60" width="260" height="100"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
|
<string key="text"> • Use the short site name (eg. apple.com), don't include the prefix (eg. www).
|
||||||
|
• Use generated passwords. If you ever lose your user or phone, recreating the user will resurrect them from thin air.</string>
|
||||||
|
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||||
|
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
|
</view>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="0.14901960780000001" green="0.1647058824" blue="0.18039215689999999" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="backgroundColor" red="0.14901960780000001" green="0.1647058824" blue="0.18039215689999999" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
<inset key="insetFor6xAndEarlier" minX="0.0" minY="20" maxX="0.0" maxY="0.0"/>
|
||||||
</view>
|
</view>
|
||||||
|
</subviews>
|
||||||
|
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
|
</view>
|
||||||
|
<extendedEdge key="edgesForExtendedLayout"/>
|
||||||
<navigationItem key="navigationItem" id="p1Y-gL-psy"/>
|
<navigationItem key="navigationItem" id="p1Y-gL-psy"/>
|
||||||
<nil key="simulatedTopBarMetrics"/>
|
<nil key="simulatedTopBarMetrics"/>
|
||||||
<connections>
|
<connections>
|
||||||
|
<outlet property="alertTip" destination="RSW-m2-zQ4" id="s2s-5I-O4A"/>
|
||||||
<outlet property="content" destination="vSk-nT-Vwf" id="Kgh-xj-8Z6"/>
|
<outlet property="content" destination="vSk-nT-Vwf" id="Kgh-xj-8Z6"/>
|
||||||
<outlet property="contentButton" destination="naw-bU-g1E" id="g2B-hC-aHX"/>
|
<outlet property="contentButton" destination="naw-bU-g1E" id="g2B-hC-aHX"/>
|
||||||
<outlet property="contentText" destination="G2i-wO-6x6" id="u9H-xp-CR2"/>
|
<outlet property="contentText" destination="G2i-wO-6x6" id="u9H-xp-CR2"/>
|
||||||
@ -2945,6 +2999,7 @@ However, it means that anyone who finds your device unlocked can do the same.</s
|
|||||||
<image name="ui_textfield.png" width="158" height="34"/>
|
<image name="ui_textfield.png" width="158" height="34"/>
|
||||||
<image name="unlocked.png" width="84" height="80"/>
|
<image name="unlocked.png" width="84" height="80"/>
|
||||||
</resources>
|
</resources>
|
||||||
|
<color key="tintColor" red="0.47450980390000003" green="0.86666666670000003" blue="0.98431372549999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||||
<simulatedStatusBarMetrics key="statusBar"/>
|
<simulatedStatusBarMetrics key="statusBar"/>
|
||||||
<simulatedOrientationMetrics key="orientation"/>
|
<simulatedOrientationMetrics key="orientation"/>
|
||||||
|
@ -256,6 +256,7 @@
|
|||||||
DAD3127215528CD200A3F9ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
DAD3127215528CD200A3F9ED /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
||||||
DAD312BF1552A1BD00A3F9ED /* libLocalytics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD3127115528CD200A3F9ED /* libLocalytics.a */; };
|
DAD312BF1552A1BD00A3F9ED /* libLocalytics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD3127115528CD200A3F9ED /* libLocalytics.a */; };
|
||||||
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; };
|
DAD312C21552A22700A3F9ED /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD312C01552A20800A3F9ED /* libsqlite3.dylib */; };
|
||||||
|
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAE1EF2417E942DE00BC0086 /* Localizable.strings */; };
|
||||||
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; };
|
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; };
|
||||||
DAFC5656172C573B00CB5CC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
DAFC5656172C573B00CB5CC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
|
||||||
DAFC5683172C57EC00CB5CC5 /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */; };
|
DAFC5683172C57EC00CB5CC5 /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */; };
|
||||||
@ -1173,6 +1174,7 @@
|
|||||||
DACA29BB1705E2DE002C6C22 /* UIColor+HSV.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+HSV.m"; sourceTree = "<group>"; };
|
DACA29BB1705E2DE002C6C22 /* UIColor+HSV.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+HSV.m"; sourceTree = "<group>"; };
|
||||||
DAD3127115528CD200A3F9ED /* libLocalytics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLocalytics.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
DAD3127115528CD200A3F9ED /* libLocalytics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libLocalytics.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
|
DAD312C01552A20800A3F9ED /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
|
||||||
|
DAE1EF2317E942DE00BC0086 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||||
DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libInAppSettingsKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libInAppSettingsKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
DAFC5659172C573B00CB5CC5 /* InAppSettingsKit-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "InAppSettingsKit-Prefix.pch"; sourceTree = "<group>"; };
|
DAFC5659172C573B00CB5CC5 /* InAppSettingsKit-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "InAppSettingsKit-Prefix.pch"; sourceTree = "<group>"; };
|
||||||
@ -2356,6 +2358,7 @@
|
|||||||
DACA26971705DF81002C6C22 /* Google+ */,
|
DACA26971705DF81002C6C22 /* Google+ */,
|
||||||
DACA26951705DF81002C6C22 /* Localytics */,
|
DACA26951705DF81002C6C22 /* Localytics */,
|
||||||
DACA26931705DF81002C6C22 /* TestFlight */,
|
DACA26931705DF81002C6C22 /* TestFlight */,
|
||||||
|
DAE1EF2417E942DE00BC0086 /* Localizable.strings */,
|
||||||
);
|
);
|
||||||
name = Resources;
|
name = Resources;
|
||||||
path = ../../Resources;
|
path = ../../Resources;
|
||||||
@ -3200,6 +3203,7 @@
|
|||||||
DABD3FCB1712446200CF925C /* cloud@2x.png in Resources */,
|
DABD3FCB1712446200CF925C /* cloud@2x.png in Resources */,
|
||||||
DABD3FCE1714F45C00CF925C /* identity.png in Resources */,
|
DABD3FCE1714F45C00CF925C /* identity.png in Resources */,
|
||||||
DABD3FCF1714F45C00CF925C /* identity@2x.png in Resources */,
|
DABD3FCF1714F45C00CF925C /* identity@2x.png in Resources */,
|
||||||
|
DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */,
|
||||||
DA5A09DF171A70E4005284AB /* play.png in Resources */,
|
DA5A09DF171A70E4005284AB /* play.png in Resources */,
|
||||||
DA5A09E0171A70E4005284AB /* play@2x.png in Resources */,
|
DA5A09E0171A70E4005284AB /* play@2x.png in Resources */,
|
||||||
DA5A09EA171BB0F7005284AB /* unlocked.png in Resources */,
|
DA5A09EA171BB0F7005284AB /* unlocked.png in Resources */,
|
||||||
@ -3439,6 +3443,14 @@
|
|||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
DAE1EF2417E942DE00BC0086 /* Localizable.strings */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
DAE1EF2317E942DE00BC0086 /* en */,
|
||||||
|
);
|
||||||
|
name = Localizable.strings;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
DAFE45FA15039823003ABA7C /* Pearl.strings */ = {
|
DAFE45FA15039823003ABA7C /* Pearl.strings */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
|
11
MasterPassword/Resources/en.lproj/Localizable.strings
Normal file
11
MasterPassword/Resources/en.lproj/Localizable.strings
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
MasterPassword.strings
|
||||||
|
MasterPassword-iOS
|
||||||
|
|
||||||
|
Created by Maarten Billemont on 2013-09-17.
|
||||||
|
Copyright (c) 2013 Lyndir. All rights reserved.
|
||||||
|
*/
|
||||||
|
"review.message" =
|
||||||
|
"Has %@ been useful to you?\
|
||||||
|
\
|
||||||
|
It would mean a lot if you could review this version and tell your friends about its benefits.";
|
Loading…
Reference in New Issue
Block a user