diff --git a/External/Crashlytics.framework/Versions/A/Crashlytics b/External/Crashlytics.framework/Versions/A/Crashlytics index 1230b7e0..41884f03 100644 Binary files a/External/Crashlytics.framework/Versions/A/Crashlytics and b/External/Crashlytics.framework/Versions/A/Crashlytics differ diff --git a/External/Crashlytics.framework/Versions/A/Resources/Info.plist b/External/Crashlytics.framework/Versions/A/Resources/Info.plist index 60ba0760..bf21197c 100644 --- a/External/Crashlytics.framework/Versions/A/Resources/Info.plist +++ b/External/Crashlytics.framework/Versions/A/Resources/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable Crashlytics CFBundleIdentifier - com.crashlytics.ios + com.crashlytics.sdk.mac CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,16 +15,16 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.1.7 + 2.1.2 CFBundleSupportedPlatforms - iPhoneOS + macosx CFBundleVersion - 26 + 9 DTPlatformName - iphoneos + macosx MinimumOSVersion - 4.0 + 10.6 diff --git a/External/Crashlytics.framework/run b/External/Crashlytics.framework/run index d2c28068..a43a84fe 100755 Binary files a/External/Crashlytics.framework/run and b/External/Crashlytics.framework/run differ diff --git a/External/Pearl b/External/Pearl index 2e328ecf..fbef9e1d 160000 --- a/External/Pearl +++ b/External/Pearl @@ -1 +1 @@ -Subproject commit 2e328ecff09d7d271e75f8521112aa8698e852f0 +Subproject commit fbef9e1d41a2a1ee703ffdce84ba114b5098546e diff --git a/MasterPassword/ObjC/Mac/MPPasswordWindowController.m b/MasterPassword/ObjC/Mac/MPPasswordWindowController.m index 0b92b5ac..15cebd38 100644 --- a/MasterPassword/ObjC/Mac/MPPasswordWindowController.m +++ b/MasterPassword/ObjC/Mac/MPPasswordWindowController.m @@ -453,7 +453,7 @@ - (void)setElementSelectionIndexes:(NSIndexSet *)elementSelectionIndexes { // First reset bounds. - PearlMainThread(^{ + PearlMainQueue(^{ NSUInteger selectedIndex = self.elementSelectionIndexes.firstIndex; if (selectedIndex != NSNotFound && selectedIndex < self.elements.count) [[self selectedView].animator setBoundsOrigin:NSZeroPoint]; diff --git a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj index 19810dc2..53627138 100644 --- a/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj +++ b/MasterPassword/ObjC/Mac/MasterPassword-Mac.xcodeproj/project.pbxproj @@ -115,9 +115,6 @@ DACA27361705DF81002C6C22 /* avatar-0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DACA24561705DF7D002C6C22 /* avatar-0@2x.png */; }; DACA27371705DF81002C6C22 /* avatar-10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DACA24571705DF7D002C6C22 /* avatar-10@2x.png */; }; DACA27381705DF81002C6C22 /* menu-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = DACA24581705DF7D002C6C22 /* menu-icon.png */; }; - DACA29641705DF81002C6C22 /* Exo-ExtraBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DACA268B1705DF81002C6C22 /* Exo-ExtraBold.otf */; }; - DACA29651705DF81002C6C22 /* Exo-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DACA268C1705DF81002C6C22 /* Exo-Regular.otf */; }; - DACA29661705DF81002C6C22 /* Exo-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DACA268D1705DF81002C6C22 /* Exo-Bold.otf */; }; DACA29671705DF81002C6C22 /* SourceCodePro-ExtraLight.otf in Resources */ = {isa = PBXBuildFile; fileRef = DACA268E1705DF81002C6C22 /* SourceCodePro-ExtraLight.otf */; }; DACA29681705DF81002C6C22 /* SourceCodePro-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = DACA268F1705DF81002C6C22 /* SourceCodePro-Black.otf */; }; DACA296D1705DF81002C6C22 /* Localytics.plist in Resources */ = {isa = PBXBuildFile; fileRef = DACA26961705DF81002C6C22 /* Localytics.plist */; }; @@ -210,6 +207,10 @@ DAEB942818AB0FFD000490CC /* sysendian.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D718AB0FFD000490CC /* sysendian.h */; }; DAEB942918AB0FFD000490CC /* warn.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEB93D818AB0FFD000490CC /* warn.h */; }; DAEB942E18B47FB3000490CC /* MPInitialWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA0933C91747A56A00DE1CEF /* MPInitialWindow.xib */; }; + DAF4EF56190A828100023C90 /* Exo2.0-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF52190A828100023C90 /* Exo2.0-Thin.otf */; }; + DAF4EF57190A828100023C90 /* Exo2.0-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF53190A828100023C90 /* Exo2.0-Regular.otf */; }; + DAF4EF58190A828100023C90 /* Exo2.0-ExtraBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF54190A828100023C90 /* Exo2.0-ExtraBold.otf */; }; + DAF4EF59190A828100023C90 /* Exo2.0-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = DAF4EF55190A828100023C90 /* Exo2.0-Bold.otf */; }; DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45D815039823003ABA7C /* NSObject+PearlExport.h */; }; DAFE4A1415039824003ABA7C /* NSObject+PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45D915039823003ABA7C /* NSObject+PearlExport.m */; }; DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DA15039823003ABA7C /* NSString+PearlNSArrayFormat.h */; }; @@ -440,9 +441,6 @@ DACA24561705DF7D002C6C22 /* avatar-0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar-0@2x.png"; sourceTree = ""; }; DACA24571705DF7D002C6C22 /* avatar-10@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "avatar-10@2x.png"; sourceTree = ""; }; DACA24581705DF7D002C6C22 /* menu-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu-icon.png"; sourceTree = ""; }; - DACA268B1705DF81002C6C22 /* Exo-ExtraBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo-ExtraBold.otf"; sourceTree = ""; }; - DACA268C1705DF81002C6C22 /* Exo-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo-Regular.otf"; sourceTree = ""; }; - DACA268D1705DF81002C6C22 /* Exo-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo-Bold.otf"; sourceTree = ""; }; DACA268E1705DF81002C6C22 /* SourceCodePro-ExtraLight.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceCodePro-ExtraLight.otf"; sourceTree = ""; }; DACA268F1705DF81002C6C22 /* SourceCodePro-Black.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceCodePro-Black.otf"; sourceTree = ""; }; DACA26961705DF81002C6C22 /* Localytics.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Localytics.plist; sourceTree = ""; }; @@ -536,6 +534,10 @@ DAEB93D718AB0FFD000490CC /* sysendian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sysendian.h; sourceTree = ""; }; DAEB93D818AB0FFD000490CC /* warn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = warn.h; sourceTree = ""; }; DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + DAF4EF52190A828100023C90 /* Exo2.0-Thin.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Thin.otf"; sourceTree = ""; }; + DAF4EF53190A828100023C90 /* Exo2.0-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Regular.otf"; sourceTree = ""; }; + DAF4EF54190A828100023C90 /* Exo2.0-ExtraBold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-ExtraBold.otf"; sourceTree = ""; }; + DAF4EF55190A828100023C90 /* Exo2.0-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Exo2.0-Bold.otf"; sourceTree = ""; }; DAFE45D815039823003ABA7C /* NSObject+PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+PearlExport.h"; sourceTree = ""; }; DAFE45D915039823003ABA7C /* NSObject+PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+PearlExport.m"; sourceTree = ""; }; DAFE45DA15039823003ABA7C /* NSString+PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+PearlNSArrayFormat.h"; sourceTree = ""; }; @@ -891,9 +893,10 @@ DACA268A1705DF81002C6C22 /* Fonts */ = { isa = PBXGroup; children = ( - DACA268B1705DF81002C6C22 /* Exo-ExtraBold.otf */, - DACA268C1705DF81002C6C22 /* Exo-Regular.otf */, - DACA268D1705DF81002C6C22 /* Exo-Bold.otf */, + DAF4EF52190A828100023C90 /* Exo2.0-Thin.otf */, + DAF4EF53190A828100023C90 /* Exo2.0-Regular.otf */, + DAF4EF54190A828100023C90 /* Exo2.0-ExtraBold.otf */, + DAF4EF55190A828100023C90 /* Exo2.0-Bold.otf */, DACA268E1705DF81002C6C22 /* SourceCodePro-ExtraLight.otf */, DACA268F1705DF81002C6C22 /* SourceCodePro-Black.otf */, ); @@ -1455,9 +1458,11 @@ DACA27121705DF81002C6C22 /* avatar-13@2x.png in Resources */, DACA27131705DF81002C6C22 /* avatar-3@2x.png in Resources */, DACA27141705DF81002C6C22 /* avatar-7.png in Resources */, + DAF4EF57190A828100023C90 /* Exo2.0-Regular.otf in Resources */, DACA27151705DF81002C6C22 /* avatar-0.png in Resources */, DACA27161705DF81002C6C22 /* avatar-12.png in Resources */, DACA27171705DF81002C6C22 /* avatar-15.png in Resources */, + DAF4EF59190A828100023C90 /* Exo2.0-Bold.otf in Resources */, DACA27181705DF81002C6C22 /* avatar-9.png in Resources */, DACA27191705DF81002C6C22 /* avatar-1@2x.png in Resources */, DACA271A1705DF81002C6C22 /* avatar-11@2x.png in Resources */, @@ -1486,6 +1491,8 @@ DACA272F1705DF81002C6C22 /* avatar-3.png in Resources */, DACA27301705DF81002C6C22 /* avatar-18.png in Resources */, DACA27311705DF81002C6C22 /* avatar-4.png in Resources */, + DAF4EF58190A828100023C90 /* Exo2.0-ExtraBold.otf in Resources */, + DAF4EF56190A828100023C90 /* Exo2.0-Thin.otf in Resources */, DACA27321705DF81002C6C22 /* avatar-16.png in Resources */, DACA27331705DF81002C6C22 /* avatar-12@2x.png in Resources */, DACA27341705DF81002C6C22 /* avatar-2@2x.png in Resources */, @@ -1493,9 +1500,6 @@ DACA27361705DF81002C6C22 /* avatar-0@2x.png in Resources */, DACA27371705DF81002C6C22 /* avatar-10@2x.png in Resources */, DACA27381705DF81002C6C22 /* menu-icon.png in Resources */, - DACA29641705DF81002C6C22 /* Exo-ExtraBold.otf in Resources */, - DACA29651705DF81002C6C22 /* Exo-Regular.otf in Resources */, - DACA29661705DF81002C6C22 /* Exo-Bold.otf in Resources */, DACA29671705DF81002C6C22 /* SourceCodePro-ExtraLight.otf in Resources */, DACA29681705DF81002C6C22 /* SourceCodePro-Black.otf in Resources */, DACA296D1705DF81002C6C22 /* Localytics.plist in Resources */, diff --git a/MasterPassword/ObjC/iOS/MPPreferencesViewController.h b/MasterPassword/ObjC/iOS/MPPreferencesViewController.h index 6d44f504..5efce9dc 100644 --- a/MasterPassword/ObjC/iOS/MPPreferencesViewController.h +++ b/MasterPassword/ObjC/iOS/MPPreferencesViewController.h @@ -16,7 +16,8 @@ @property(weak, nonatomic) IBOutlet UITableViewCell *coachmarksCell; @property(weak, nonatomic) IBOutlet UITableViewCell *exportCell; @property(weak, nonatomic) IBOutlet UIImageView *avatarImage; -@property(weak, nonatomic) IBOutlet UISegmentedControl *typeControl; +@property(weak, nonatomic) IBOutlet UISegmentedControl *generatedTypeControl; +@property(weak, nonatomic) IBOutlet UISegmentedControl *storedTypeControl; - (IBAction)previousAvatar:(id)sender; - (IBAction)nextAvatar:(id)sender; diff --git a/MasterPassword/ObjC/iOS/MPPreferencesViewController.m b/MasterPassword/ObjC/iOS/MPPreferencesViewController.m index 7d11585b..130ff51f 100644 --- a/MasterPassword/ObjC/iOS/MPPreferencesViewController.m +++ b/MasterPassword/ObjC/iOS/MPPreferencesViewController.m @@ -33,7 +33,8 @@ [super viewWillAppear:animated]; MPUserEntity *activeUser = [[MPiOSAppDelegate get] activeUserForMainThread]; - self.typeControl.selectedSegmentIndex = [self segmentIndexForType:activeUser.defaultType]; + self.generatedTypeControl.selectedSegmentIndex = [self generatedSegmentIndexForType:activeUser.defaultType]; + self.storedTypeControl.selectedSegmentIndex = [self storedSegmentIndexForType:activeUser.defaultType]; self.avatarImage.image = [UIImage imageNamed:strf( @"avatar-%ld", (long)activeUser.avatar )]; self.savePasswordSwitch.on = activeUser.saveKey; @@ -61,7 +62,7 @@ if (cell == self.exportCell) [[MPiOSAppDelegate get] showExportForVC:self]; if (cell == self.coachmarksCell) { - for (UIViewController *vc = self; (vc = vc.parentViewController); ) + for (UIViewController *vc = self; (vc = vc.parentViewController);) if ([vc isKindOfClass:[MPPasswordsViewController class]]) { MPPasswordsViewController *passwordsVC = (MPPasswordsViewController *)vc; passwordsVC.coachmark.coached = NO; @@ -87,11 +88,22 @@ [context saveToStore]; }]; - if (sender == self.typeControl) + if (sender == self.generatedTypeControl || sender == self.storedTypeControl) { + if (sender == self.generatedTypeControl) + self.storedTypeControl.selectedSegmentIndex = -1; + else if (sender == self.storedTypeControl) + self.generatedTypeControl.selectedSegmentIndex = -1; + [MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { - [[MPiOSAppDelegate get] activeUserInContext:context].defaultType = [self typeForSelectedSegment]; + MPElementType defaultType = [[MPiOSAppDelegate get] activeUserInContext:context].defaultType = [self typeForSelectedSegment]; [context saveToStore]; + + PearlMainQueue( ^{ + self.generatedTypeControl.selectedSegmentIndex = [self generatedSegmentIndexForType:defaultType]; + self.storedTypeControl.selectedSegmentIndex = [self storedSegmentIndexForType:defaultType]; + } ); }]; + } } - (IBAction)previousAvatar:(id)sender { @@ -126,7 +138,10 @@ - (enum MPElementType)typeForSelectedSegment { - switch (self.typeControl.selectedSegmentIndex) { + NSInteger selectedGeneratedIndex = self.generatedTypeControl.selectedSegmentIndex; + NSInteger selectedStoredIndex = self.storedTypeControl.selectedSegmentIndex; + + switch (selectedGeneratedIndex) { case 0: return MPElementTypeGeneratedMaximum; case 1: @@ -140,11 +155,19 @@ case 5: return MPElementTypeGeneratedPIN; default: - Throw(@"Unsupported type index: %ld", (long)self.typeControl.selectedSegmentIndex); + + switch (selectedStoredIndex) { + case 0: + return MPElementTypeStoredPersonal; + case 1: + return MPElementTypeStoredDevicePrivate; + default: + Throw(@"unsupported selected type index: generated=%d, stored=%d", selectedGeneratedIndex, selectedStoredIndex); + } } } -- (NSInteger)segmentIndexForType:(MPElementType)type { +- (NSInteger)generatedSegmentIndexForType:(MPElementType)type { switch (type) { case MPElementTypeGeneratedMaximum: @@ -160,7 +183,19 @@ case MPElementTypeGeneratedPIN: return 5; default: - Throw(@"Unsupported type index: %ld", (long)self.typeControl.selectedSegmentIndex); + return -1; + } +} + +- (NSInteger)storedSegmentIndexForType:(MPElementType)type { + + switch (type) { + case MPElementTypeStoredPersonal: + return 0; + case MPElementTypeStoredDevicePrivate: + return 1; + default: + return -1; } } diff --git a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj index 94ee3340..b9717f3a 100644 --- a/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/MasterPassword/ObjC/iOS/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -45,11 +45,9 @@ 93D39C34FE35830EF5BE1D2A /* NSArray+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D396D04E57792A54D437AC /* NSArray+Indexing.h */; }; 93D39C8AD8EAB747856B3A8C /* LLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3923B42DA2DA18F287092 /* LLModel.m */; }; 93D39CB5E2EC1078E898F46A /* MPPasswordLargeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3937863061C3916AF7AD2 /* MPPasswordLargeCell.m */; }; - 93D39CB738EB39994D1B691C /* NSManagedObject+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D395268D000379F218BCA1 /* NSManagedObject+Pearl.h */; }; 93D39D596A2E376D6F6F5DA1 /* MPCombinedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D393310223DDB35218467A /* MPCombinedViewController.m */; }; 93D39E281E3658B30550CB55 /* NSDictionary+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39AA1EE2E1E7B81372240 /* NSDictionary+Indexing.m */; }; 93D39EDD960C381D64E4DCDD /* MPPasswordSmallCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3952CC60991B97D69F26A /* MPPasswordSmallCell.m */; }; - 93D39F18B48FB351E727DD2B /* NSManagedObject+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D398EBF99FF0C245FD561E /* NSManagedObject+Pearl.m */; }; 93D39F8A9254177891F38705 /* MPSetupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39A28369954D147E239BA /* MPSetupViewController.m */; }; 93D39FA97F4C3F69A75D5A03 /* MPPasswordLargeGeneratedCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3993422E207BF0B21D089 /* MPPasswordLargeGeneratedCell.m */; }; DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */; }; @@ -392,6 +390,8 @@ DAEC85B618E3DD9A007FC0DF /* PearlUINavigationBar.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEC85B218E3DD9A007FC0DF /* PearlUINavigationBar.m */; }; DAEC85B718E3DD9A007FC0DF /* PearlUINavigationBar.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEC85B318E3DD9A007FC0DF /* PearlUINavigationBar.h */; }; DAEC85B818E3DD9A007FC0DF /* PearlUIView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAEC85B418E3DD9A007FC0DF /* PearlUIView.h */; }; + DAF4EF50190A81E400023C90 /* NSManagedObject+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF4EF4E190A81E400023C90 /* NSManagedObject+Pearl.m */; }; + DAF4EF51190A81E400023C90 /* NSManagedObject+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF4EF4F190A81E400023C90 /* NSManagedObject+Pearl.h */; }; DAFC5656172C573B00CB5CC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DAFC5683172C57EC00CB5CC5 /* IASKAppSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */; }; DAFC5684172C57EC00CB5CC5 /* IASKAppSettingsWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFC5667172C57EC00CB5CC5 /* IASKAppSettingsWebViewController.m */; }; @@ -538,7 +538,6 @@ 93D3942A356B639724157982 /* PearlOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlOverlay.h; sourceTree = ""; }; 93D394482BB07F90E8FD1314 /* UIResponder+PearlFirstResponder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIResponder+PearlFirstResponder.h"; sourceTree = ""; }; 93D3947F6BB69CA9A9124A5D /* MPPasswordLargeStoredCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordLargeStoredCell.m; sourceTree = ""; }; - 93D395268D000379F218BCA1 /* NSManagedObject+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObject+Pearl.h"; sourceTree = ""; }; 93D3952CC60991B97D69F26A /* MPPasswordSmallCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordSmallCell.m; sourceTree = ""; }; 93D3956915634581E737B38C /* PearlNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlNavigationController.m; sourceTree = ""; }; 93D395BA6B2CFF5F49A4D25F /* MPPasswordLargeStoredCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordLargeStoredCell.h; sourceTree = ""; }; @@ -551,7 +550,6 @@ 93D398567FD02DB2647B8CF3 /* PearlNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlNavigationController.h; sourceTree = ""; }; 93D39888EE06F06264CC963B /* MPPasswordSmallCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordSmallCell.h; sourceTree = ""; }; 93D398C95847261903D781D3 /* NSError+PearlFullDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+PearlFullDescription.h"; sourceTree = ""; }; - 93D398EBF99FF0C245FD561E /* NSManagedObject+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSManagedObject+Pearl.m"; sourceTree = ""; }; 93D3993422E207BF0B21D089 /* MPPasswordLargeGeneratedCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordLargeGeneratedCell.m; sourceTree = ""; }; 93D3995B1D4DCE5A30D882BA /* MPCoachmarkViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCoachmarkViewController.m; sourceTree = ""; }; 93D39961CD6A43648CC0B0DB /* MPPreferencesViewControllerOld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPreferencesViewControllerOld.h; sourceTree = ""; }; @@ -1468,6 +1466,8 @@ DAEC85B218E3DD9A007FC0DF /* PearlUINavigationBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUINavigationBar.m; sourceTree = ""; }; DAEC85B318E3DD9A007FC0DF /* PearlUINavigationBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUINavigationBar.h; sourceTree = ""; }; DAEC85B418E3DD9A007FC0DF /* PearlUIView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUIView.h; sourceTree = ""; }; + DAF4EF4E190A81E400023C90 /* NSManagedObject+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSManagedObject+Pearl.m"; sourceTree = ""; }; + DAF4EF4F190A81E400023C90 /* NSManagedObject+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObject+Pearl.h"; sourceTree = ""; }; DAFC5655172C573B00CB5CC5 /* libInAppSettingsKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libInAppSettingsKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAFC5664172C57EC00CB5CC5 /* IASKAppSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IASKAppSettingsViewController.h; sourceTree = ""; }; DAFC5665172C57EC00CB5CC5 /* IASKAppSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKAppSettingsViewController.m; sourceTree = ""; }; @@ -2928,6 +2928,8 @@ DAFE45D715039823003ABA7C /* Pearl */ = { isa = PBXGroup; children = ( + DAF4EF4E190A81E400023C90 /* NSManagedObject+Pearl.m */, + DAF4EF4F190A81E400023C90 /* NSManagedObject+Pearl.h */, DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */, DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */, DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */, @@ -3072,8 +3074,6 @@ 93D39B1D8177A86C5B9EDDE3 /* PearlUICollectionView.h */, 93D39A1DDFA09AE2E14D26DC /* UIResponder+PearlFirstResponder.m */, 93D394482BB07F90E8FD1314 /* UIResponder+PearlFirstResponder.h */, - 93D398EBF99FF0C245FD561E /* NSManagedObject+Pearl.m */, - 93D395268D000379F218BCA1 /* NSManagedObject+Pearl.h */, ); path = "Pearl-UIKit"; sourceTree = ""; @@ -3256,10 +3256,10 @@ 93D39B842AB9A5D072810D76 /* NSError+PearlFullDescription.h in Headers */, DAEB936218AA537D000490CC /* obj_mac.h in Headers */, DAEB934218AA537D000490CC /* bn.h in Headers */, + DAF4EF51190A81E400023C90 /* NSManagedObject+Pearl.h in Headers */, 93D39B76DD5AB108BA8928E8 /* UIScrollView+PearlAdjustInsets.h in Headers */, 93D3980046016EFD05B35BC5 /* PearlUICollectionView.h in Headers */, 93D39536EB550E811CCD04BC /* UIResponder+PearlFirstResponder.h in Headers */, - 93D39CB738EB39994D1B691C /* NSManagedObject+Pearl.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3912,6 +3912,7 @@ DA2CA4E618D2AC10007798F8 /* NSLayoutConstraint+PearlUIKit.m in Sources */, 93D395F08A087F8A24689347 /* NSArray+Indexing.m in Sources */, 93D39E281E3658B30550CB55 /* NSDictionary+Indexing.m in Sources */, + DAF4EF50190A81E400023C90 /* NSManagedObject+Pearl.m in Sources */, 93D39262A8A97DB748213309 /* PearlEMail.m in Sources */, DA3509FF15F101A500C14A8E /* PearlQueue.m in Sources */, 93D3922A53E41A54832E90D9 /* PearlOverlay.m in Sources */, @@ -3921,7 +3922,6 @@ 93D3954E96236384AFA00453 /* UIScrollView+PearlAdjustInsets.m in Sources */, 93D39A8EA1C49CE43B63F47B /* PearlUICollectionView.m in Sources */, 93D399246DC90F50913A1287 /* UIResponder+PearlFirstResponder.m in Sources */, - 93D39F18B48FB351E727DD2B /* NSManagedObject+Pearl.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MasterPassword/ObjC/iOS/Storyboard.storyboard b/MasterPassword/ObjC/iOS/Storyboard.storyboard index fbe4ef53..69e4ab62 100644 --- a/MasterPassword/ObjC/iOS/Storyboard.storyboard +++ b/MasterPassword/ObjC/iOS/Storyboard.storyboard @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -136,7 +136,7 @@ - - + -