From e6bab4e504e0409d7d455b7091f8c174b40ab339 Mon Sep 17 00:00:00 2001 From: Maarten Billemont Date: Mon, 1 May 2017 18:32:52 -0400 Subject: [PATCH] Support for associating a URL to sites. --- platform-darwin/External/Pearl | 2 +- .../project.pbxproj | 143 +++++--- .../project.pbxproj | 44 +-- platform-darwin/Source/MPAlgorithm.h | 6 +- platform-darwin/Source/MPAppDelegate_Store.m | 42 ++- platform-darwin/Source/MPEntities.h | 8 +- .../MPGeneratedSiteEntity+CoreDataClass.h | 20 + .../MPGeneratedSiteEntity+CoreDataClass.m | 13 + ...MPGeneratedSiteEntity+CoreDataProperties.h | 22 ++ ...MPGeneratedSiteEntity+CoreDataProperties.m | 19 + .../Source/MPGeneratedSiteEntity.h | 17 - .../Source/MPGeneratedSiteEntity.m | 15 - .../Source/MPSiteEntity+CoreDataClass.h | 22 ++ .../Source/MPSiteEntity+CoreDataClass.m | 16 + .../Source/MPSiteEntity+CoreDataProperties.h | 48 +++ .../Source/MPSiteEntity+CoreDataProperties.m | 30 ++ platform-darwin/Source/MPSiteEntity.h | 41 --- platform-darwin/Source/MPSiteEntity.m | 27 -- .../MPSiteQuestionEntity+CoreDataClass.h | 22 ++ .../MPSiteQuestionEntity+CoreDataClass.m | 14 + .../MPSiteQuestionEntity+CoreDataProperties.h | 23 ++ .../MPSiteQuestionEntity+CoreDataProperties.m | 20 + platform-darwin/Source/MPSiteQuestionEntity.h | 19 - platform-darwin/Source/MPSiteQuestionEntity.m | 17 - .../Source/MPStoredSiteEntity+CoreDataClass.h | 22 ++ .../Source/MPStoredSiteEntity+CoreDataClass.m | 13 + .../MPStoredSiteEntity+CoreDataProperties.h | 22 ++ .../MPStoredSiteEntity+CoreDataProperties.m | 19 + platform-darwin/Source/MPStoredSiteEntity.h | 17 - platform-darwin/Source/MPStoredSiteEntity.m | 15 - .../Source/MPUserEntity+CoreDataClass.h | 22 ++ .../Source/MPUserEntity+CoreDataClass.m | 14 + .../Source/MPUserEntity+CoreDataProperties.h | 39 ++ .../Source/MPUserEntity+CoreDataProperties.m | 27 ++ platform-darwin/Source/MPUserEntity.h | 34 -- platform-darwin/Source/MPUserEntity.m | 24 -- .../.xccurrentversion | 2 +- .../MasterPassword 9.xcdatamodel/contents | 57 +++ .../Source/iOS/MPAnswersViewController.h | 2 +- platform-darwin/Source/iOS/MPPasswordCell.m | 26 ++ .../Source/iOS/Storyboard.storyboard | 344 +++++++++--------- 41 files changed, 874 insertions(+), 475 deletions(-) create mode 100644 platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.h create mode 100644 platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.m create mode 100644 platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.h create mode 100644 platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.m delete mode 100644 platform-darwin/Source/MPGeneratedSiteEntity.h delete mode 100644 platform-darwin/Source/MPGeneratedSiteEntity.m create mode 100644 platform-darwin/Source/MPSiteEntity+CoreDataClass.h create mode 100644 platform-darwin/Source/MPSiteEntity+CoreDataClass.m create mode 100644 platform-darwin/Source/MPSiteEntity+CoreDataProperties.h create mode 100644 platform-darwin/Source/MPSiteEntity+CoreDataProperties.m delete mode 100644 platform-darwin/Source/MPSiteEntity.h delete mode 100644 platform-darwin/Source/MPSiteEntity.m create mode 100644 platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.h create mode 100644 platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.m create mode 100644 platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.h create mode 100644 platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.m delete mode 100644 platform-darwin/Source/MPSiteQuestionEntity.h delete mode 100644 platform-darwin/Source/MPSiteQuestionEntity.m create mode 100644 platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.h create mode 100644 platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.m create mode 100644 platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.h create mode 100644 platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.m delete mode 100644 platform-darwin/Source/MPStoredSiteEntity.h delete mode 100644 platform-darwin/Source/MPStoredSiteEntity.m create mode 100644 platform-darwin/Source/MPUserEntity+CoreDataClass.h create mode 100644 platform-darwin/Source/MPUserEntity+CoreDataClass.m create mode 100644 platform-darwin/Source/MPUserEntity+CoreDataProperties.h create mode 100644 platform-darwin/Source/MPUserEntity+CoreDataProperties.m delete mode 100644 platform-darwin/Source/MPUserEntity.h delete mode 100644 platform-darwin/Source/MPUserEntity.m create mode 100644 platform-darwin/Source/MasterPassword.xcdatamodeld/MasterPassword 9.xcdatamodel/contents diff --git a/platform-darwin/External/Pearl b/platform-darwin/External/Pearl index 1a3e1ea0..af1cf4cb 160000 --- a/platform-darwin/External/Pearl +++ b/platform-darwin/External/Pearl @@ -1 +1 @@ -Subproject commit 1a3e1ea0379fe8d0f1b06ce98cd6394654679682 +Subproject commit af1cf4cba3d6dc475b5095f29cedee4d9467b2b5 diff --git a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj index 81dc63c8..d61b1495 100644 --- a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -89,6 +89,17 @@ DA0CC53B1EB57B5C009A8ED9 /* Fabric.plist in Resources */ = {isa = PBXBuildFile; fileRef = DA0CC53A1EB57B5C009A8ED9 /* Fabric.plist */; }; DA0CC5411EB57BD4009A8ED9 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA0CC53F1EB57B91009A8ED9 /* Fabric.framework */; }; DA0CC5421EB57BD4009A8ED9 /* Crashlytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAA141191922FED80032B392 /* Crashlytics.framework */; }; + DA0CC54E1EB6AD0E009A8ED9 /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5441EB6AD0E009A8ED9 /* MasterPassword.xcdatamodeld */; }; + DA0CC58C1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5791EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.m */; }; + DA0CC58D1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC57B1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.m */; }; + DA0CC58E1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC57D1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.m */; }; + DA0CC58F1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC57F1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.m */; }; + DA0CC5901EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5811EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.m */; }; + DA0CC5911EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5831EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m */; }; + DA0CC5921EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5851EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.m */; }; + DA0CC5931EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5871EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.m */; }; + DA0CC5941EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC5891EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.m */; }; + DA0CC5951EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC58B1EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.m */; }; DA24EBAE19DAD08900FF010B /* tip_basic_black_top.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD38941711E29700CF925C /* tip_basic_black_top.png */; }; DA24EBAF19DAD08C00FF010B /* tip_basic_black_top@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD38951711E29700CF925C /* tip_basic_black_top@2x.png */; }; DA24EBE819DAD6DE00FF010B /* Icon-320.png in Resources */ = {isa = PBXBuildFile; fileRef = DA24EBE619DAD6DE00FF010B /* Icon-320.png */; }; @@ -129,10 +140,6 @@ DA30E9D415722EF400A68B4C /* Pearl-UIKit.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9D315722EF400A68B4C /* Pearl-UIKit.m */; }; DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */ = {isa = PBXBuildFile; fileRef = DA30E9D515723E6900A68B4C /* PearlLazy.h */; }; DA30E9D815723E6900A68B4C /* PearlLazy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9D615723E6900A68B4C /* PearlLazy.m */; }; - DA32CFF019CF1C8F004F3F0E /* MPUserEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32CFE619CF1C8F004F3F0E /* MPUserEntity.m */; }; - DA32CFF119CF1C8F004F3F0E /* MPStoredSiteEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32CFE819CF1C8F004F3F0E /* MPStoredSiteEntity.m */; }; - DA32CFF319CF1C8F004F3F0E /* MPSiteEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32CFEC19CF1C8F004F3F0E /* MPSiteEntity.m */; }; - DA32CFF419CF1C8F004F3F0E /* MPGeneratedSiteEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32CFEE19CF1C8F004F3F0E /* MPGeneratedSiteEntity.m */; }; DA32D00919CF5C55004F3F0E /* icon_question.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37FE1711E29600CF925C /* icon_question.png */; }; DA32D00A19CF5C55004F3F0E /* icon_question@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37FF1711E29600CF925C /* icon_question@2x.png */; }; DA32D01A19D046E1004F3F0E /* PearlFixedTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32D01819D046E1004F3F0E /* PearlFixedTableView.m */; }; @@ -150,7 +157,6 @@ DA32D05019D2F59B004F3F0E /* meter_fuel.png in Resources */ = {isa = PBXBuildFile; fileRef = DA32D04D19D2F59B004F3F0E /* meter_fuel.png */; }; DA32D05119D3D107004F3F0E /* icon_meter.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37BA1711E29600CF925C /* icon_meter.png */; }; DA32D05219D3D107004F3F0E /* icon_meter@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37BB1711E29600CF925C /* icon_meter@2x.png */; }; - DA32D05519D741DC004F3F0E /* MPSiteQuestionEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DA32D05419D741DC004F3F0E /* MPSiteQuestionEntity.m */; }; DA32D07A19D7D784004F3F0E /* background@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA32D07719D7D784004F3F0E /* background@3x.png */; }; DA32D07B19D7D784004F3F0E /* background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA32D07819D7D784004F3F0E /* background@2x.png */; }; DA32D07C19D7D784004F3F0E /* background.png in Resources */ = {isa = PBXBuildFile; fileRef = DA32D07919D7D784004F3F0E /* background.png */; }; @@ -202,7 +208,6 @@ DA945C8717E3F3FD0053236B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA945C8617E3F3FD0053236B /* Images.xcassets */; }; DA95B50C1C476B6A0067F5EF /* LocalAuthentication.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA95B50B1C476B6A0067F5EF /* LocalAuthentication.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; DA95B50F1C4776F00067F5EF /* NSMutableSet+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA95B50E1C4776F00067F5EF /* NSMutableSet+Pearl.m */; }; - DA95B5191C477DB50067F5EF /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DA95B5101C477DB50067F5EF /* MasterPassword.xcdatamodeld */; }; DA95D5F214DF0B2C008D1B94 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */; }; DAA141201922FF020032B392 /* PearlTween.m in Sources */ = {isa = PBXBuildFile; fileRef = DAA1411C1922FF020032B392 /* PearlTween.m */; }; DAA141211922FF020032B392 /* PearlTween.h in Headers */ = {isa = PBXBuildFile; fileRef = DAA1411D1922FF020032B392 /* PearlTween.h */; }; @@ -668,6 +673,35 @@ DA0CC5281EAB99BA009A8ED9 /* IASKTextViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IASKTextViewCell.m; sourceTree = ""; }; DA0CC53A1EB57B5C009A8ED9 /* Fabric.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Fabric.plist; sourceTree = ""; }; DA0CC53F1EB57B91009A8ED9 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = ""; }; + DA0CC5451EB6AD0E009A8ED9 /* MasterPassword 1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 1.xcdatamodel"; sourceTree = ""; }; + DA0CC5461EB6AD0E009A8ED9 /* MasterPassword 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 2.xcdatamodel"; sourceTree = ""; }; + DA0CC5471EB6AD0E009A8ED9 /* MasterPassword 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 3.xcdatamodel"; sourceTree = ""; }; + DA0CC5481EB6AD0E009A8ED9 /* MasterPassword 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 4.xcdatamodel"; sourceTree = ""; }; + DA0CC5491EB6AD0E009A8ED9 /* MasterPassword 5.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 5.xcdatamodel"; sourceTree = ""; }; + DA0CC54A1EB6AD0E009A8ED9 /* MasterPassword 6.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 6.xcdatamodel"; sourceTree = ""; }; + DA0CC54B1EB6AD0E009A8ED9 /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = ""; }; + DA0CC54C1EB6AD0E009A8ED9 /* MasterPassword 8.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 8.xcdatamodel"; sourceTree = ""; }; + DA0CC54D1EB6AD0E009A8ED9 /* MasterPassword 9.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 9.xcdatamodel"; sourceTree = ""; }; + DA0CC5781EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPGeneratedSiteEntity+CoreDataClass.h"; sourceTree = ""; }; + DA0CC5791EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPGeneratedSiteEntity+CoreDataClass.m"; sourceTree = ""; }; + DA0CC57A1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPGeneratedSiteEntity+CoreDataProperties.h"; sourceTree = ""; }; + DA0CC57B1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPGeneratedSiteEntity+CoreDataProperties.m"; sourceTree = ""; }; + DA0CC57C1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPSiteQuestionEntity+CoreDataClass.h"; sourceTree = ""; }; + DA0CC57D1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPSiteQuestionEntity+CoreDataClass.m"; sourceTree = ""; }; + DA0CC57E1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPSiteQuestionEntity+CoreDataProperties.h"; sourceTree = ""; }; + DA0CC57F1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPSiteQuestionEntity+CoreDataProperties.m"; sourceTree = ""; }; + DA0CC5801EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPStoredSiteEntity+CoreDataClass.h"; sourceTree = ""; }; + DA0CC5811EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPStoredSiteEntity+CoreDataClass.m"; sourceTree = ""; }; + DA0CC5821EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPStoredSiteEntity+CoreDataProperties.h"; sourceTree = ""; }; + DA0CC5831EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPStoredSiteEntity+CoreDataProperties.m"; sourceTree = ""; }; + DA0CC5841EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPUserEntity+CoreDataClass.h"; sourceTree = ""; }; + DA0CC5851EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPUserEntity+CoreDataClass.m"; sourceTree = ""; }; + DA0CC5861EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPUserEntity+CoreDataProperties.h"; sourceTree = ""; }; + DA0CC5871EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPUserEntity+CoreDataProperties.m"; sourceTree = ""; }; + DA0CC5881EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPSiteEntity+CoreDataClass.h"; sourceTree = ""; }; + DA0CC5891EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPSiteEntity+CoreDataClass.m"; sourceTree = ""; }; + DA0CC58A1EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPSiteEntity+CoreDataProperties.h"; sourceTree = ""; }; + DA0CC58B1EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MPSiteEntity+CoreDataProperties.m"; sourceTree = ""; }; DA24EBB219DAD4D000FF010B /* Icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-60.png"; sourceTree = ""; }; DA24EBB319DAD4D000FF010B /* Icon-60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-60@2x.png"; sourceTree = ""; }; DA24EBB419DAD4D000FF010B /* Icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-60@3x.png"; sourceTree = ""; }; @@ -716,14 +750,6 @@ DA30E9D315722EF400A68B4C /* Pearl-UIKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Pearl-UIKit.m"; sourceTree = ""; }; DA30E9D515723E6900A68B4C /* PearlLazy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLazy.h; sourceTree = ""; }; DA30E9D615723E6900A68B4C /* PearlLazy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLazy.m; sourceTree = ""; }; - DA32CFE619CF1C8F004F3F0E /* MPUserEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUserEntity.m; sourceTree = ""; }; - DA32CFE719CF1C8F004F3F0E /* MPUserEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPUserEntity.h; sourceTree = ""; }; - DA32CFE819CF1C8F004F3F0E /* MPStoredSiteEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStoredSiteEntity.m; sourceTree = ""; }; - DA32CFE919CF1C8F004F3F0E /* MPStoredSiteEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStoredSiteEntity.h; sourceTree = ""; }; - DA32CFEC19CF1C8F004F3F0E /* MPSiteEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSiteEntity.m; sourceTree = ""; }; - DA32CFED19CF1C8F004F3F0E /* MPSiteEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSiteEntity.h; sourceTree = ""; }; - DA32CFEE19CF1C8F004F3F0E /* MPGeneratedSiteEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPGeneratedSiteEntity.m; sourceTree = ""; }; - DA32CFEF19CF1C8F004F3F0E /* MPGeneratedSiteEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPGeneratedSiteEntity.h; sourceTree = ""; }; DA32D01819D046E1004F3F0E /* PearlFixedTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlFixedTableView.m; sourceTree = ""; }; DA32D01919D046E1004F3F0E /* PearlFixedTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlFixedTableView.h; sourceTree = ""; }; DA32D02019D111C6004F3F0E /* libKCOrderedAccessorFix.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libKCOrderedAccessorFix.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -738,8 +764,6 @@ DA32D04B19D2F59B004F3F0E /* meter_fuel@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "meter_fuel@3x.png"; sourceTree = ""; }; DA32D04C19D2F59B004F3F0E /* meter_fuel@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "meter_fuel@2x.png"; sourceTree = ""; }; DA32D04D19D2F59B004F3F0E /* meter_fuel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = meter_fuel.png; sourceTree = ""; }; - DA32D05319D741DC004F3F0E /* MPSiteQuestionEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSiteQuestionEntity.h; sourceTree = ""; }; - DA32D05419D741DC004F3F0E /* MPSiteQuestionEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSiteQuestionEntity.m; sourceTree = ""; }; DA32D07719D7D784004F3F0E /* background@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "background@3x.png"; path = "ios/launch/background@3x.png"; sourceTree = ""; }; DA32D07819D7D784004F3F0E /* background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "background@2x.png"; path = "ios/launch/background@2x.png"; sourceTree = ""; }; DA32D07919D7D784004F3F0E /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = background.png; path = ios/launch/background.png; sourceTree = ""; }; @@ -776,14 +800,6 @@ DA95B50B1C476B6A0067F5EF /* LocalAuthentication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LocalAuthentication.framework; path = System/Library/Frameworks/LocalAuthentication.framework; sourceTree = SDKROOT; }; DA95B50D1C4776F00067F5EF /* NSMutableSet+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableSet+Pearl.h"; sourceTree = ""; }; DA95B50E1C4776F00067F5EF /* NSMutableSet+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableSet+Pearl.m"; sourceTree = ""; }; - DA95B5111C477DB50067F5EF /* MasterPassword 1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 1.xcdatamodel"; sourceTree = ""; }; - DA95B5121C477DB50067F5EF /* MasterPassword 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 2.xcdatamodel"; sourceTree = ""; }; - DA95B5131C477DB50067F5EF /* MasterPassword 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 3.xcdatamodel"; sourceTree = ""; }; - DA95B5141C477DB50067F5EF /* MasterPassword 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 4.xcdatamodel"; sourceTree = ""; }; - DA95B5151C477DB50067F5EF /* MasterPassword 5.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 5.xcdatamodel"; sourceTree = ""; }; - DA95B5161C477DB50067F5EF /* MasterPassword 6.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 6.xcdatamodel"; sourceTree = ""; }; - DA95B5171C477DB50067F5EF /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = ""; }; - DA95B5181C477DB50067F5EF /* MasterPassword 8.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 8.xcdatamodel"; sourceTree = ""; }; DA95D5F014DF0B1E008D1B94 /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; DAA141191922FED80032B392 /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Crashlytics.framework; sourceTree = ""; }; DAA1411C1922FF020032B392 /* PearlTween.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlTween.m; sourceTree = ""; }; @@ -2779,7 +2795,7 @@ children = ( DABD3BD71711E2DC00CF925C /* iOS */, DA771FE41E6E1595004D7EDE /* MasterPassword-Prefix.pch */, - DA95B5101C477DB50067F5EF /* MasterPassword.xcdatamodeld */, + DA0CC5441EB6AD0E009A8ED9 /* MasterPassword.xcdatamodeld */, DABD3BA01711E2DC00CF925C /* MPAlgorithm.h */, DABD3BA11711E2DC00CF925C /* MPAlgorithm.m */, DABD3BA21711E2DC00CF925C /* MPAlgorithmV0.h */, @@ -2804,20 +2820,30 @@ DABD3BB51711E2DC00CF925C /* MPEntities.m */, 93D399F244BB522A317811BB /* MPFixable.h */, 93D39A813CA9D7E192261ED2 /* MPFixable.m */, - DA32CFEF19CF1C8F004F3F0E /* MPGeneratedSiteEntity.h */, - DA32CFEE19CF1C8F004F3F0E /* MPGeneratedSiteEntity.m */, + DA0CC5781EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.h */, + DA0CC5791EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.m */, + DA0CC57A1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.h */, + DA0CC57B1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.m */, DABD3BB61711E2DC00CF925C /* MPKey.h */, DABD3BB71711E2DC00CF925C /* MPKey.m */, - DA32CFED19CF1C8F004F3F0E /* MPSiteEntity.h */, - DA32CFEC19CF1C8F004F3F0E /* MPSiteEntity.m */, - DA32D05319D741DC004F3F0E /* MPSiteQuestionEntity.h */, - DA32D05419D741DC004F3F0E /* MPSiteQuestionEntity.m */, - DA32CFE919CF1C8F004F3F0E /* MPStoredSiteEntity.h */, - DA32CFE819CF1C8F004F3F0E /* MPStoredSiteEntity.m */, + DA0CC5881EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.h */, + DA0CC5891EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.m */, + DA0CC58A1EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.h */, + DA0CC58B1EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.m */, + DA0CC57C1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.h */, + DA0CC57D1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.m */, + DA0CC57E1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.h */, + DA0CC57F1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.m */, + DA0CC5801EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.h */, + DA0CC5811EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.m */, + DA0CC5821EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.h */, + DA0CC5831EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m */, DABD3BB81711E2DC00CF925C /* MPTypes.h */, 93D39D72239990DDAC2D75B0 /* MPTypes.m */, - DA32CFE719CF1C8F004F3F0E /* MPUserEntity.h */, - DA32CFE619CF1C8F004F3F0E /* MPUserEntity.m */, + DA0CC5841EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.h */, + DA0CC5851EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.m */, + DA0CC5861EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.h */, + DA0CC5871EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.m */, 93D393CB0B1F4EC8C17CFE43 /* NSString+MPMarkDown.h */, 93D39C41A27AA42D044D68AE /* NSString+MPMarkDown.m */, ); @@ -3808,7 +3834,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + DA0CC5921EB6B030009A8ED9 /* MPUserEntity+CoreDataClass.m in Sources */, DABD3BFD1711E2DC00CF925C /* MPAlgorithm.m in Sources */, + DA0CC5951EB6B030009A8ED9 /* MPSiteEntity+CoreDataProperties.m in Sources */, DABD3BFE1711E2DC00CF925C /* MPAlgorithmV0.m in Sources */, DABD3BFF1711E2DC00CF925C /* MPAlgorithmV1.m in Sources */, DABD3C001711E2DC00CF925C /* MPAppDelegate_Key.m in Sources */, @@ -3816,38 +3844,40 @@ DABD3C021711E2DC00CF925C /* MPAppDelegate_Store.m in Sources */, DABD3C031711E2DC00CF925C /* MPConfig.m in Sources */, DABD3C071711E2DC00CF925C /* MPEntities.m in Sources */, - DA32CFF319CF1C8F004F3F0E /* MPSiteEntity.m in Sources */, DABD3C081711E2DC00CF925C /* MPKey.m in Sources */, DABD3C151711E2DC00CF925C /* MPiOSAppDelegate.m in Sources */, + DA0CC5941EB6B030009A8ED9 /* MPSiteEntity+CoreDataClass.m in Sources */, DABD3C1C1711E2DC00CF925C /* MPGuideViewController.m in Sources */, DABD3C1E1711E2DC00CF925C /* MPPreferencesViewController.m in Sources */, DABD3C1F1711E2DC00CF925C /* MPTypeViewController.m in Sources */, DABD3C211711E2DC00CF925C /* MPiOSConfig.m in Sources */, + DA0CC5901EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataClass.m in Sources */, + DA0CC58D1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataProperties.m in Sources */, DABD3C271711E2DC00CF925C /* main.m in Sources */, + DA0CC5931EB6B030009A8ED9 /* MPUserEntity+CoreDataProperties.m in Sources */, 93D39F8A9254177891F38705 /* MPSetupViewController.m in Sources */, DA095E75172F4CD8001C948B /* MPLogsViewController.m in Sources */, 93D39D596A2E376D6F6F5DA1 /* MPCombinedViewController.m in Sources */, - DA32CFF419CF1C8F004F3F0E /* MPGeneratedSiteEntity.m in Sources */, 93D3957237D303DE2D38C267 /* MPAvatarCell.m in Sources */, 93D39B8F90F58A5D158DDBA3 /* MPPasswordsViewController.m in Sources */, - DA32D05519D741DC004F3F0E /* MPSiteQuestionEntity.m in Sources */, 93D3954FCE045A3CC7E804B7 /* MPUsersViewController.m in Sources */, 93D39392DEDA376F93C6C718 /* MPCell.m in Sources */, + DA0CC58E1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataClass.m in Sources */, 93D39A5FF670957C0AF8298D /* MPPasswordCell.m in Sources */, 93D398ECD7D1A0DEDDADF516 /* MPEmergencyViewController.m in Sources */, DA95B50F1C4776F00067F5EF /* NSMutableSet+Pearl.m in Sources */, 93D394B5036C882B33C71872 /* MPPasswordsSegue.m in Sources */, + DA0CC5911EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m in Sources */, 93D39673DDC085BE72C34D7C /* MPPopdownSegue.m in Sources */, 93D39BA1EA3CAAC8A220B4A6 /* MPAppSettingsViewController.m in Sources */, + DA0CC58F1EB6B030009A8ED9 /* MPSiteQuestionEntity+CoreDataProperties.m in Sources */, 93D396D8B67DA6522CDBA142 /* MPCoachmarkViewController.m in Sources */, DAADBFE01A68763B00F7A756 /* mpw-algorithm.c in Sources */, - DA95B5191C477DB50067F5EF /* MasterPassword.xcdatamodeld in Sources */, + DA0CC54E1EB6AD0E009A8ED9 /* MasterPassword.xcdatamodeld in Sources */, 93D39EAA4D064193074D3021 /* MPFixable.m in Sources */, - DA32CFF119CF1C8F004F3F0E /* MPStoredSiteEntity.m in Sources */, 93D394982CBD25D46692DD7C /* MPWebViewController.m in Sources */, 93D39D8F78978196D6ABDEDE /* MPNavigationController.m in Sources */, 93D3939661CE37180AF7CD6A /* MPStoreViewController.m in Sources */, - DA32CFF019CF1C8F004F3F0E /* MPUserEntity.m in Sources */, 93D390C1B93F9D3AE37DD0A5 /* MPAnswersViewController.m in Sources */, 93D399D7E08A142776A74CB8 /* MPOverlayViewController.m in Sources */, 93D39A27F2506C6FEEF9C588 /* MPAlgorithmV2.m in Sources */, @@ -3857,6 +3887,7 @@ 93D39943D01E70DAC3B0DF76 /* mpw-util.c in Sources */, 93D39577FD8BB0945DB2F0A3 /* MPAlgorithmV3.m in Sources */, 93D39E5F7F6D7F5C0FAD090F /* MPTypes.m in Sources */, + DA0CC58C1EB6B030009A8ED9 /* MPGeneratedSiteEntity+CoreDataClass.m in Sources */, DA92614E1BE1A57500369DE5 /* MPAppDelegate_InApp.m in Sources */, 93D39508A6814612A5B3C226 /* MPMessageViewController.m in Sources */, ); @@ -4137,6 +4168,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = NO; CODE_SIGN_ENTITLEMENTS = Source/iOS/MasterPassword.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; COPY_PHASE_STRIP = YES; @@ -4146,7 +4178,9 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_PREFIX_HEADER = "Source/MasterPassword-Prefix.pch"; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; INFOPLIST_FILE = "Source/iOS/MasterPassword-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", @@ -4404,6 +4438,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = NO; CODE_SIGN_ENTITLEMENTS = Source/iOS/MasterPassword.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; FRAMEWORK_SEARCH_PATHS = ( @@ -4411,7 +4446,9 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_PREFIX_HEADER = "Source/MasterPassword-Prefix.pch"; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; INFOPLIST_FILE = "Source/iOS/MasterPassword-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", @@ -4429,6 +4466,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = NO; CODE_SIGN_ENTITLEMENTS = Source/iOS/MasterPassword.entitlements; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; @@ -4438,7 +4476,9 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_PREFIX_HEADER = "Source/MasterPassword-Prefix.pch"; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; INFOPLIST_FILE = "Source/iOS/MasterPassword-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/External/libsodium/libsodium-ios/lib", @@ -4625,19 +4665,20 @@ /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ - DA95B5101C477DB50067F5EF /* MasterPassword.xcdatamodeld */ = { + DA0CC5441EB6AD0E009A8ED9 /* MasterPassword.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - DA95B5111C477DB50067F5EF /* MasterPassword 1.xcdatamodel */, - DA95B5121C477DB50067F5EF /* MasterPassword 2.xcdatamodel */, - DA95B5131C477DB50067F5EF /* MasterPassword 3.xcdatamodel */, - DA95B5141C477DB50067F5EF /* MasterPassword 4.xcdatamodel */, - DA95B5151C477DB50067F5EF /* MasterPassword 5.xcdatamodel */, - DA95B5161C477DB50067F5EF /* MasterPassword 6.xcdatamodel */, - DA95B5171C477DB50067F5EF /* MasterPassword 7.xcdatamodel */, - DA95B5181C477DB50067F5EF /* MasterPassword 8.xcdatamodel */, + DA0CC5451EB6AD0E009A8ED9 /* MasterPassword 1.xcdatamodel */, + DA0CC5461EB6AD0E009A8ED9 /* MasterPassword 2.xcdatamodel */, + DA0CC5471EB6AD0E009A8ED9 /* MasterPassword 3.xcdatamodel */, + DA0CC5481EB6AD0E009A8ED9 /* MasterPassword 4.xcdatamodel */, + DA0CC5491EB6AD0E009A8ED9 /* MasterPassword 5.xcdatamodel */, + DA0CC54A1EB6AD0E009A8ED9 /* MasterPassword 6.xcdatamodel */, + DA0CC54B1EB6AD0E009A8ED9 /* MasterPassword 7.xcdatamodel */, + DA0CC54C1EB6AD0E009A8ED9 /* MasterPassword 8.xcdatamodel */, + DA0CC54D1EB6AD0E009A8ED9 /* MasterPassword 9.xcdatamodel */, ); - currentVersion = DA95B5181C477DB50067F5EF /* MasterPassword 8.xcdatamodel */; + currentVersion = DA0CC54D1EB6AD0E009A8ED9 /* MasterPassword 9.xcdatamodel */; path = MasterPassword.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; diff --git a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj index c177ffac..d8bb1343 100644 --- a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj @@ -28,6 +28,7 @@ DA09745E1E99586600F0BFE8 /* libxml2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA09745D1E99586600F0BFE8 /* libxml2.tbd */; }; DA0979681E9A834C00F0BFE8 /* libsodium.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA0979571E9A824700F0BFE8 /* libsodium.a */; }; DA0CC53E1EB57B69009A8ED9 /* Fabric.plist in Resources */ = {isa = PBXBuildFile; fileRef = DA0CC53D1EB57B69009A8ED9 /* Fabric.plist */; }; + DA0CC5591EB6AE45009A8ED9 /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DA0CC54F1EB6AE45009A8ED9 /* MasterPassword.xcdatamodeld */; }; DA1000801998A4C6002B873F /* openssl in Headers */ = {isa = PBXBuildFile; fileRef = DAE8E65719867AF500416A0F /* openssl */; settings = {ATTRIBUTES = (Public, ); }; }; DA16B341170661DB000A0EAB /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA16B340170661DB000A0EAB /* Carbon.framework */; }; DA16B342170661E0000A0EAB /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC632871486D95D0075AEA5 /* Security.framework */; }; @@ -97,7 +98,6 @@ DA9261521BE1A86700369DE5 /* Fabric.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9261501BE1A86700369DE5 /* Fabric.framework */; }; DA9261541BE1A88900369DE5 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9261531BE1A88900369DE5 /* libc++.tbd */; }; DA9261561BE1A89600369DE5 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA9261551BE1A89600369DE5 /* libz.tbd */; }; - DA95B5231C477DE10067F5EF /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DA95B51A1C477DE10067F5EF /* MasterPassword.xcdatamodeld */; }; DAAA81B0195A8D1300FA30D9 /* gradient.png in Resources */ = {isa = PBXBuildFile; fileRef = DAAA81AF195A8D1300FA30D9 /* gradient.png */; }; DAADCC4719FAFFAD00987B1D /* NSNotificationCenter+PearlEasyCleanup.h in Headers */ = {isa = PBXBuildFile; fileRef = DAADCC3E19FAFFAD00987B1D /* NSNotificationCenter+PearlEasyCleanup.h */; }; DAADCC4819FAFFAD00987B1D /* NSPersistentStore+PearlMigration.h in Headers */ = {isa = PBXBuildFile; fileRef = DAADCC3F19FAFFAD00987B1D /* NSPersistentStore+PearlMigration.h */; }; @@ -351,6 +351,15 @@ DA0979541E9A824700F0BFE8 /* sodium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sodium.h; sourceTree = ""; }; DA0979571E9A824700F0BFE8 /* libsodium.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libsodium.a; sourceTree = ""; }; DA0CC53D1EB57B69009A8ED9 /* Fabric.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Fabric.plist; sourceTree = ""; }; + DA0CC5501EB6AE45009A8ED9 /* MasterPassword 1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 1.xcdatamodel"; sourceTree = ""; }; + DA0CC5511EB6AE45009A8ED9 /* MasterPassword 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 2.xcdatamodel"; sourceTree = ""; }; + DA0CC5521EB6AE45009A8ED9 /* MasterPassword 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 3.xcdatamodel"; sourceTree = ""; }; + DA0CC5531EB6AE45009A8ED9 /* MasterPassword 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 4.xcdatamodel"; sourceTree = ""; }; + DA0CC5541EB6AE45009A8ED9 /* MasterPassword 5.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 5.xcdatamodel"; sourceTree = ""; }; + DA0CC5551EB6AE45009A8ED9 /* MasterPassword 6.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 6.xcdatamodel"; sourceTree = ""; }; + DA0CC5561EB6AE45009A8ED9 /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = ""; }; + DA0CC5571EB6AE45009A8ED9 /* MasterPassword 8.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 8.xcdatamodel"; sourceTree = ""; }; + DA0CC5581EB6AE45009A8ED9 /* MasterPassword 9.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 9.xcdatamodel"; sourceTree = ""; }; DA16B340170661DB000A0EAB /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; DA16B343170661EE000A0EAB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; DA2508F019511D3600AC23F1 /* MPPasswordWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPPasswordWindowController.xib; sourceTree = ""; }; @@ -850,14 +859,6 @@ DA9261501BE1A86700369DE5 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Fabric.framework; sourceTree = ""; }; DA9261531BE1A88900369DE5 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; DA9261551BE1A89600369DE5 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; - DA95B51B1C477DE10067F5EF /* MasterPassword 1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 1.xcdatamodel"; sourceTree = ""; }; - DA95B51C1C477DE10067F5EF /* MasterPassword 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 2.xcdatamodel"; sourceTree = ""; }; - DA95B51D1C477DE10067F5EF /* MasterPassword 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 3.xcdatamodel"; sourceTree = ""; }; - DA95B51E1C477DE10067F5EF /* MasterPassword 4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 4.xcdatamodel"; sourceTree = ""; }; - DA95B51F1C477DE10067F5EF /* MasterPassword 5.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 5.xcdatamodel"; sourceTree = ""; }; - DA95B5201C477DE10067F5EF /* MasterPassword 6.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 6.xcdatamodel"; sourceTree = ""; }; - DA95B5211C477DE10067F5EF /* MasterPassword 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 7.xcdatamodel"; sourceTree = ""; }; - DA95B5221C477DE10067F5EF /* MasterPassword 8.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 8.xcdatamodel"; sourceTree = ""; }; DAAA81AF195A8D1300FA30D9 /* gradient.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = gradient.png; sourceTree = ""; }; DAADCC3E19FAFFAD00987B1D /* NSNotificationCenter+PearlEasyCleanup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+PearlEasyCleanup.h"; sourceTree = ""; }; DAADCC3F19FAFFAD00987B1D /* NSPersistentStore+PearlMigration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPersistentStore+PearlMigration.h"; sourceTree = ""; }; @@ -1220,7 +1221,7 @@ children = ( DA5E5CB21724A667003798D8 /* Mac */, DA771FE51E6E15A1004D7EDE /* MasterPassword-Prefix.pch */, - DA95B51A1C477DE10067F5EF /* MasterPassword.xcdatamodeld */, + DA0CC54F1EB6AE45009A8ED9 /* MasterPassword.xcdatamodeld */, DA5E5C971724A667003798D8 /* MPAlgorithm.h */, DA5E5C981724A667003798D8 /* MPAlgorithm.m */, DA5E5C991724A667003798D8 /* MPAlgorithmV0.h */, @@ -2408,8 +2409,8 @@ 93D39784E725A34D1EE3FB3B /* MPInitialWindowController.m in Sources */, DA32CFDF19CF1C70004F3F0E /* MPSiteEntity.m in Sources */, 93D394C4254EEB45FB335AFB /* MPSitesTableView.m in Sources */, - DA95B5231C477DE10067F5EF /* MasterPassword.xcdatamodeld in Sources */, DA6774291A4746AF004F356A /* mpw-algorithm.c in Sources */, + DA0CC5591EB6AE45009A8ED9 /* MasterPassword.xcdatamodeld in Sources */, 93D395E4830290EBB6E71F34 /* MPNoStateButton.m in Sources */, DA4DAE941A7D8117003E5423 /* MPAlgorithmV3.m in Sources */, DA4DAE951A7D8117003E5423 /* MPTypes.m in Sources */, @@ -3129,19 +3130,20 @@ /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ - DA95B51A1C477DE10067F5EF /* MasterPassword.xcdatamodeld */ = { + DA0CC54F1EB6AE45009A8ED9 /* MasterPassword.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - DA95B51B1C477DE10067F5EF /* MasterPassword 1.xcdatamodel */, - DA95B51C1C477DE10067F5EF /* MasterPassword 2.xcdatamodel */, - DA95B51D1C477DE10067F5EF /* MasterPassword 3.xcdatamodel */, - DA95B51E1C477DE10067F5EF /* MasterPassword 4.xcdatamodel */, - DA95B51F1C477DE10067F5EF /* MasterPassword 5.xcdatamodel */, - DA95B5201C477DE10067F5EF /* MasterPassword 6.xcdatamodel */, - DA95B5211C477DE10067F5EF /* MasterPassword 7.xcdatamodel */, - DA95B5221C477DE10067F5EF /* MasterPassword 8.xcdatamodel */, + DA0CC5501EB6AE45009A8ED9 /* MasterPassword 1.xcdatamodel */, + DA0CC5511EB6AE45009A8ED9 /* MasterPassword 2.xcdatamodel */, + DA0CC5521EB6AE45009A8ED9 /* MasterPassword 3.xcdatamodel */, + DA0CC5531EB6AE45009A8ED9 /* MasterPassword 4.xcdatamodel */, + DA0CC5541EB6AE45009A8ED9 /* MasterPassword 5.xcdatamodel */, + DA0CC5551EB6AE45009A8ED9 /* MasterPassword 6.xcdatamodel */, + DA0CC5561EB6AE45009A8ED9 /* MasterPassword 7.xcdatamodel */, + DA0CC5571EB6AE45009A8ED9 /* MasterPassword 8.xcdatamodel */, + DA0CC5581EB6AE45009A8ED9 /* MasterPassword 9.xcdatamodel */, ); - currentVersion = DA95B5221C477DE10067F5EF /* MasterPassword 8.xcdatamodel */; + currentVersion = DA0CC5581EB6AE45009A8ED9 /* MasterPassword 9.xcdatamodel */; path = MasterPassword.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; diff --git a/platform-darwin/Source/MPAlgorithm.h b/platform-darwin/Source/MPAlgorithm.h index 93372566..1b69c039 100644 --- a/platform-darwin/Source/MPAlgorithm.h +++ b/platform-darwin/Source/MPAlgorithm.h @@ -17,9 +17,9 @@ //============================================================================== #import "MPKey.h" -#import "MPStoredSiteEntity.h" -#import "MPGeneratedSiteEntity.h" -#import "MPSiteQuestionEntity.h" +#import "MPStoredSiteEntity+CoreDataClass.h" +#import "MPGeneratedSiteEntity+CoreDataClass.h" +#import "MPSiteQuestionEntity+CoreDataClass.h" #import "mpw-algorithm.h" #define MPAlgorithmDefaultVersion MPAlgorithmVersionCurrent diff --git a/platform-darwin/Source/MPAppDelegate_Store.m b/platform-darwin/Source/MPAppDelegate_Store.m index 71e732b6..42e3948a 100644 --- a/platform-darwin/Source/MPAppDelegate_Store.m +++ b/platform-darwin/Source/MPAppDelegate_Store.m @@ -378,7 +378,7 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted ); NSError *error = nil; if (![NSPersistentStore migrateStore:oldLocalStoreURL withOptions:@{ STORE_OPTIONS } toStore:newLocalStoreURL withOptions:@{ STORE_OPTIONS } - model:nil error:&error]) { + error:&error]) { MPError( error, @"Couldn't migrate the old store to the new location." ); return NO; } @@ -425,7 +425,7 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted ); NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption : @YES, STORE_OPTIONS - } model:nil error:&error]) { + } error:&error]) { MPError( error, @"Couldn't migrate the old store to the new location." ); return NO; } @@ -433,6 +433,44 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted ); return YES; } +//- (BOOL)migrateV3LocalStore { +// +// inf( @"Migrating V3 local store" ); +// NSURL *localStoreURL = [self localStoreURL]; +// if (![[NSFileManager defaultManager] fileExistsAtPath:localStoreURL.path isDirectory:NULL]) { +// inf( @"No V3 local store to migrate." ); +// return YES; +// } +// +// NSError *error = nil; +// NSDictionary *metadata = [NSPersistentStore metadataForPersistentStoreWithURL:localStoreURL error:&error]; +// if (!metadata) { +// MPError( error, @"Couldn't inspect metadata for store: %@", localStoreURL ); +// return NO; +// } +// NSPersistentStoreCoordinator *coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: +// [NSManagedObjectModel mergedModelFromBundles:nil forStoreMetadata:metadata]]; +// if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil +// URL:localStoreURL options:@{ STORE_OPTIONS } +// error:&error]) { +// MPError( error, @"Couldn't open V3 local store to migrate." ); +// return NO; +// } +// +// NSManagedObjectContext *context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType]; +// [context performBlockAndWait:^{ +// context.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy; +// context.persistentStoreCoordinator = coordinator; +// for (MPStoredSiteEntity *storedSite in [[MPStoredSiteEntity fetchRequest] execute:&error]) { +// id contentObject = [storedSite valueForKey:@"contentObject"]; +// if ([contentObject isKindOfClass:[NSData class]]) +// storedSite.contentObject = contentObject; +// } +// }]; +// +// return YES; +//} + #pragma mark - Utilities - (void)addSiteNamed:(NSString *)siteName completion:(void ( ^ )(MPSiteEntity *site, NSManagedObjectContext *context))completion { diff --git a/platform-darwin/Source/MPEntities.h b/platform-darwin/Source/MPEntities.h index 0d89c2a2..274fb676 100644 --- a/platform-darwin/Source/MPEntities.h +++ b/platform-darwin/Source/MPEntities.h @@ -7,10 +7,10 @@ // #import -#import "MPSiteEntity.h" -#import "MPStoredSiteEntity.h" -#import "MPGeneratedSiteEntity.h" -#import "MPUserEntity.h" +#import "MPSiteEntity+CoreDataClass.h" +#import "MPStoredSiteEntity+CoreDataClass.h" +#import "MPGeneratedSiteEntity+CoreDataClass.h" +#import "MPUserEntity+CoreDataClass.h" #import "MPAlgorithm.h" #import "MPFixable.h" diff --git a/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.h b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.h new file mode 100644 index 00000000..7826dca3 --- /dev/null +++ b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.h @@ -0,0 +1,20 @@ +// +// MPGeneratedSiteEntity+CoreDataClass.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import +#import "MPSiteEntity+CoreDataClass.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MPGeneratedSiteEntity : MPSiteEntity + +@end + +NS_ASSUME_NONNULL_END + +#import "MPGeneratedSiteEntity+CoreDataProperties.h" diff --git a/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.m b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.m new file mode 100644 index 00000000..f90ac388 --- /dev/null +++ b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataClass.m @@ -0,0 +1,13 @@ +// +// MPGeneratedSiteEntity+CoreDataClass.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPGeneratedSiteEntity+CoreDataClass.h" + +@implementation MPGeneratedSiteEntity + +@end diff --git a/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.h b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.h new file mode 100644 index 00000000..b80cc749 --- /dev/null +++ b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.h @@ -0,0 +1,22 @@ +// +// MPGeneratedSiteEntity+CoreDataProperties.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPGeneratedSiteEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MPGeneratedSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nullable, nonatomic, copy) NSNumber *counter_; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.m b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.m new file mode 100644 index 00000000..ecddbde7 --- /dev/null +++ b/platform-darwin/Source/MPGeneratedSiteEntity+CoreDataProperties.m @@ -0,0 +1,19 @@ +// +// MPGeneratedSiteEntity+CoreDataProperties.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPGeneratedSiteEntity+CoreDataProperties.h" + +@implementation MPGeneratedSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [[NSFetchRequest alloc] initWithEntityName:@"MPGeneratedSiteEntity"]; +} + +@dynamic counter_; + +@end diff --git a/platform-darwin/Source/MPGeneratedSiteEntity.h b/platform-darwin/Source/MPGeneratedSiteEntity.h deleted file mode 100644 index c50cbcfd..00000000 --- a/platform-darwin/Source/MPGeneratedSiteEntity.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPGeneratedSiteEntity.h -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import -#import -#import "MPSiteEntity.h" - -@interface MPGeneratedSiteEntity : MPSiteEntity - -@property(nonatomic, retain) NSNumber *counter_; - -@end diff --git a/platform-darwin/Source/MPGeneratedSiteEntity.m b/platform-darwin/Source/MPGeneratedSiteEntity.m deleted file mode 100644 index 5a6dca94..00000000 --- a/platform-darwin/Source/MPGeneratedSiteEntity.m +++ /dev/null @@ -1,15 +0,0 @@ -// -// MPGeneratedSiteEntity.m -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import "MPGeneratedSiteEntity.h" - -@implementation MPGeneratedSiteEntity - -@dynamic counter_; - -@end diff --git a/platform-darwin/Source/MPSiteEntity+CoreDataClass.h b/platform-darwin/Source/MPSiteEntity+CoreDataClass.h new file mode 100644 index 00000000..f73f79ae --- /dev/null +++ b/platform-darwin/Source/MPSiteEntity+CoreDataClass.h @@ -0,0 +1,22 @@ +// +// MPSiteEntity+CoreDataClass.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import +#import + +@class MPSiteQuestionEntity, MPUserEntity, NSObject; + +NS_ASSUME_NONNULL_BEGIN + +@interface MPSiteEntity : NSManagedObject + +@end + +NS_ASSUME_NONNULL_END + +#import "MPSiteEntity+CoreDataProperties.h" diff --git a/platform-darwin/Source/MPSiteEntity+CoreDataClass.m b/platform-darwin/Source/MPSiteEntity+CoreDataClass.m new file mode 100644 index 00000000..dba76005 --- /dev/null +++ b/platform-darwin/Source/MPSiteEntity+CoreDataClass.m @@ -0,0 +1,16 @@ +// +// MPSiteEntity+CoreDataClass.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteEntity+CoreDataClass.h" +#import "MPSiteQuestionEntity+CoreDataClass.h" + +#import "MPUserEntity+CoreDataClass.h" + +@implementation MPSiteEntity + +@end diff --git a/platform-darwin/Source/MPSiteEntity+CoreDataProperties.h b/platform-darwin/Source/MPSiteEntity+CoreDataProperties.h new file mode 100644 index 00000000..8126bf7e --- /dev/null +++ b/platform-darwin/Source/MPSiteEntity+CoreDataProperties.h @@ -0,0 +1,48 @@ +// +// MPSiteEntity+CoreDataProperties.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MPSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nullable, nonatomic, retain) NSObject *content; +@property (nullable, nonatomic, copy) NSDate *lastUsed; +@property (nullable, nonatomic, copy) NSNumber *loginGenerated_; +@property (nullable, nonatomic, copy) NSString *loginName; +@property (nullable, nonatomic, copy) NSString *name; +@property (nullable, nonatomic, copy) NSNumber *requiresExplicitMigration_; +@property (nullable, nonatomic, copy) NSNumber *type_; +@property (nullable, nonatomic, copy) NSNumber *uses_; +@property (nullable, nonatomic, copy) NSNumber *version_; +@property (nullable, nonatomic, copy) NSString *url; +@property (nullable, nonatomic, retain) NSOrderedSet *questions; +@property (nullable, nonatomic, retain) MPUserEntity *user; + +@end + +@interface MPSiteEntity (CoreDataGeneratedAccessors) + +- (void)insertObject:(MPSiteQuestionEntity *)value inQuestionsAtIndex:(NSUInteger)idx; +- (void)removeObjectFromQuestionsAtIndex:(NSUInteger)idx; +- (void)insertQuestions:(NSArray *)value atIndexes:(NSIndexSet *)indexes; +- (void)removeQuestionsAtIndexes:(NSIndexSet *)indexes; +- (void)replaceObjectInQuestionsAtIndex:(NSUInteger)idx withObject:(MPSiteQuestionEntity *)value; +- (void)replaceQuestionsAtIndexes:(NSIndexSet *)indexes withQuestions:(NSArray *)values; +- (void)addQuestionsObject:(MPSiteQuestionEntity *)value; +- (void)removeQuestionsObject:(MPSiteQuestionEntity *)value; +- (void)addQuestions:(NSOrderedSet *)values; +- (void)removeQuestions:(NSOrderedSet *)values; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform-darwin/Source/MPSiteEntity+CoreDataProperties.m b/platform-darwin/Source/MPSiteEntity+CoreDataProperties.m new file mode 100644 index 00000000..bf77cd53 --- /dev/null +++ b/platform-darwin/Source/MPSiteEntity+CoreDataProperties.m @@ -0,0 +1,30 @@ +// +// MPSiteEntity+CoreDataProperties.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteEntity+CoreDataProperties.h" + +@implementation MPSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [[NSFetchRequest alloc] initWithEntityName:@"MPSiteEntity"]; +} + +@dynamic content; +@dynamic lastUsed; +@dynamic loginGenerated_; +@dynamic loginName; +@dynamic name; +@dynamic requiresExplicitMigration_; +@dynamic type_; +@dynamic uses_; +@dynamic version_; +@dynamic url; +@dynamic questions; +@dynamic user; + +@end diff --git a/platform-darwin/Source/MPSiteEntity.h b/platform-darwin/Source/MPSiteEntity.h deleted file mode 100644 index 1591f732..00000000 --- a/platform-darwin/Source/MPSiteEntity.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// MPSiteEntity.h -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import -#import - -@class MPSiteQuestionEntity, MPUserEntity; - -@interface MPSiteEntity : NSManagedObject - -//@property (nonatomic, retain) id content; // Hide here, reveal in MPStoredSiteEntity -@property(nonatomic, retain) NSDate *lastUsed; -@property(nonatomic, retain) NSNumber *loginGenerated_; -@property(nonatomic, retain) NSString *loginName; -@property(nonatomic, retain) NSString *name; -@property(nonatomic, retain) NSNumber *requiresExplicitMigration_; -@property(nonatomic, retain) NSNumber *type_; -@property(nonatomic, retain) NSNumber *uses_; -@property(nonatomic, retain) NSNumber *version_; -@property(nonatomic, retain) NSOrderedSet *questions; -@property(nonatomic, retain) MPUserEntity *user; -@end - -@interface MPSiteEntity(CoreDataGeneratedAccessors) - -- (void)insertObject:(MPSiteQuestionEntity *)value inQuestionsAtIndex:(NSUInteger)idx; -- (void)removeObjectFromQuestionsAtIndex:(NSUInteger)idx; -- (void)insertQuestions:(NSArray *)value atIndexes:(NSIndexSet *)indexes; -- (void)removeQuestionsAtIndexes:(NSIndexSet *)indexes; -- (void)replaceObjectInQuestionsAtIndex:(NSUInteger)idx withObject:(MPSiteQuestionEntity *)value; -- (void)replaceQuestionsAtIndexes:(NSIndexSet *)indexes withQuestions:(NSArray *)values; -- (void)addQuestionsObject:(MPSiteQuestionEntity *)value; -- (void)removeQuestionsObject:(MPSiteQuestionEntity *)value; -- (void)addQuestions:(NSOrderedSet *)values; -- (void)removeQuestions:(NSOrderedSet *)values; -@end diff --git a/platform-darwin/Source/MPSiteEntity.m b/platform-darwin/Source/MPSiteEntity.m deleted file mode 100644 index 7ad2b02c..00000000 --- a/platform-darwin/Source/MPSiteEntity.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// MPSiteEntity.m -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import "MPSiteEntity.h" -#import "MPSiteQuestionEntity.h" -#import "MPUserEntity.h" - -@implementation MPSiteEntity - -//@dynamic content; -@dynamic lastUsed; -@dynamic loginGenerated_; -@dynamic loginName; -@dynamic name; -@dynamic requiresExplicitMigration_; -@dynamic type_; -@dynamic uses_; -@dynamic version_; -@dynamic questions; -@dynamic user; - -@end diff --git a/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.h b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.h new file mode 100644 index 00000000..70295889 --- /dev/null +++ b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.h @@ -0,0 +1,22 @@ +// +// MPSiteQuestionEntity+CoreDataClass.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import +#import + +@class MPSiteEntity; + +NS_ASSUME_NONNULL_BEGIN + +@interface MPSiteQuestionEntity : NSManagedObject + +@end + +NS_ASSUME_NONNULL_END + +#import "MPSiteQuestionEntity+CoreDataProperties.h" diff --git a/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.m b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.m new file mode 100644 index 00000000..2acc6819 --- /dev/null +++ b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataClass.m @@ -0,0 +1,14 @@ +// +// MPSiteQuestionEntity+CoreDataClass.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteQuestionEntity+CoreDataClass.h" +#import "MPSiteEntity+CoreDataClass.h" + +@implementation MPSiteQuestionEntity + +@end diff --git a/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.h b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.h new file mode 100644 index 00000000..4de6ccef --- /dev/null +++ b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.h @@ -0,0 +1,23 @@ +// +// MPSiteQuestionEntity+CoreDataProperties.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteQuestionEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MPSiteQuestionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nullable, nonatomic, copy) NSString *keyword; +@property (nullable, nonatomic, retain) MPSiteEntity *site; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.m b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.m new file mode 100644 index 00000000..2dff79ee --- /dev/null +++ b/platform-darwin/Source/MPSiteQuestionEntity+CoreDataProperties.m @@ -0,0 +1,20 @@ +// +// MPSiteQuestionEntity+CoreDataProperties.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPSiteQuestionEntity+CoreDataProperties.h" + +@implementation MPSiteQuestionEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [[NSFetchRequest alloc] initWithEntityName:@"MPSiteQuestionEntity"]; +} + +@dynamic keyword; +@dynamic site; + +@end diff --git a/platform-darwin/Source/MPSiteQuestionEntity.h b/platform-darwin/Source/MPSiteQuestionEntity.h deleted file mode 100644 index a7c1c8ee..00000000 --- a/platform-darwin/Source/MPSiteQuestionEntity.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// MPSiteQuestionEntity.h -// MasterPassword-iOS -// -// Created by Maarten Billemont on 2014-09-27. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import -#import - -@class MPSiteEntity; - -@interface MPSiteQuestionEntity : NSManagedObject - -@property(nonatomic, retain) NSString *keyword; -@property(nonatomic, retain) MPSiteEntity *site; - -@end diff --git a/platform-darwin/Source/MPSiteQuestionEntity.m b/platform-darwin/Source/MPSiteQuestionEntity.m deleted file mode 100644 index c59f9ad9..00000000 --- a/platform-darwin/Source/MPSiteQuestionEntity.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPSiteQuestionEntity.m -// MasterPassword-iOS -// -// Created by Maarten Billemont on 2014-09-27. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import "MPSiteQuestionEntity.h" -#import "MPSiteEntity.h" - -@implementation MPSiteQuestionEntity - -@dynamic keyword; -@dynamic site; - -@end diff --git a/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.h b/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.h new file mode 100644 index 00000000..61184bd7 --- /dev/null +++ b/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.h @@ -0,0 +1,22 @@ +// +// MPStoredSiteEntity+CoreDataClass.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import +#import "MPSiteEntity+CoreDataClass.h" + +@class NSObject; + +NS_ASSUME_NONNULL_BEGIN + +@interface MPStoredSiteEntity : MPSiteEntity + +@end + +NS_ASSUME_NONNULL_END + +#import "MPStoredSiteEntity+CoreDataProperties.h" diff --git a/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.m b/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.m new file mode 100644 index 00000000..6513ccab --- /dev/null +++ b/platform-darwin/Source/MPStoredSiteEntity+CoreDataClass.m @@ -0,0 +1,13 @@ +// +// MPStoredSiteEntity+CoreDataClass.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPStoredSiteEntity+CoreDataClass.h" + +@implementation MPStoredSiteEntity + +@end diff --git a/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.h b/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.h new file mode 100644 index 00000000..c46a3558 --- /dev/null +++ b/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.h @@ -0,0 +1,22 @@ +// +// MPStoredSiteEntity+CoreDataProperties.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-05-01. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPStoredSiteEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MPStoredSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nullable, nonatomic, retain) NSData *contentObject; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.m b/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.m new file mode 100644 index 00000000..1e4fec07 --- /dev/null +++ b/platform-darwin/Source/MPStoredSiteEntity+CoreDataProperties.m @@ -0,0 +1,19 @@ +// +// MPStoredSiteEntity+CoreDataProperties.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-05-01. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPStoredSiteEntity+CoreDataProperties.h" + +@implementation MPStoredSiteEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [[NSFetchRequest alloc] initWithEntityName:@"MPStoredSiteEntity"]; +} + +@dynamic contentObject; + +@end diff --git a/platform-darwin/Source/MPStoredSiteEntity.h b/platform-darwin/Source/MPStoredSiteEntity.h deleted file mode 100644 index ec078a76..00000000 --- a/platform-darwin/Source/MPStoredSiteEntity.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MPStoredSiteEntity.h -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import -#import -#import "MPSiteEntity.h" - -@interface MPStoredSiteEntity : MPSiteEntity - -@property(nonatomic, retain) NSData *contentObject; - -@end diff --git a/platform-darwin/Source/MPStoredSiteEntity.m b/platform-darwin/Source/MPStoredSiteEntity.m deleted file mode 100644 index f4323600..00000000 --- a/platform-darwin/Source/MPStoredSiteEntity.m +++ /dev/null @@ -1,15 +0,0 @@ -// -// MPStoredSiteEntity.m -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import "MPStoredSiteEntity.h" - -@implementation MPStoredSiteEntity - -@dynamic contentObject; - -@end diff --git a/platform-darwin/Source/MPUserEntity+CoreDataClass.h b/platform-darwin/Source/MPUserEntity+CoreDataClass.h new file mode 100644 index 00000000..34566474 --- /dev/null +++ b/platform-darwin/Source/MPUserEntity+CoreDataClass.h @@ -0,0 +1,22 @@ +// +// MPUserEntity+CoreDataClass.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import +#import + +@class MPSiteEntity; + +NS_ASSUME_NONNULL_BEGIN + +@interface MPUserEntity : NSManagedObject + +@end + +NS_ASSUME_NONNULL_END + +#import "MPUserEntity+CoreDataProperties.h" diff --git a/platform-darwin/Source/MPUserEntity+CoreDataClass.m b/platform-darwin/Source/MPUserEntity+CoreDataClass.m new file mode 100644 index 00000000..addd5331 --- /dev/null +++ b/platform-darwin/Source/MPUserEntity+CoreDataClass.m @@ -0,0 +1,14 @@ +// +// MPUserEntity+CoreDataClass.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPUserEntity+CoreDataClass.h" +#import "MPSiteEntity+CoreDataClass.h" + +@implementation MPUserEntity + +@end diff --git a/platform-darwin/Source/MPUserEntity+CoreDataProperties.h b/platform-darwin/Source/MPUserEntity+CoreDataProperties.h new file mode 100644 index 00000000..285c6cfb --- /dev/null +++ b/platform-darwin/Source/MPUserEntity+CoreDataProperties.h @@ -0,0 +1,39 @@ +// +// MPUserEntity+CoreDataProperties.h +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPUserEntity+CoreDataClass.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface MPUserEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest; + +@property (nullable, nonatomic, copy) NSNumber *avatar_; +@property (nullable, nonatomic, copy) NSNumber *defaultType_; +@property (nullable, nonatomic, retain) NSData *keyID; +@property (nullable, nonatomic, copy) NSDate *lastUsed; +@property (nullable, nonatomic, copy) NSString *name; +@property (nullable, nonatomic, copy) NSNumber *saveKey_; +@property (nullable, nonatomic, copy) NSNumber *touchID_; +@property (nullable, nonatomic, copy) NSNumber *version_; +@property (nullable, nonatomic, retain) NSSet *sites; + +@end + +@interface MPUserEntity (CoreDataGeneratedAccessors) + +- (void)addSitesObject:(MPSiteEntity *)value; +- (void)removeSitesObject:(MPSiteEntity *)value; +- (void)addSites:(NSSet *)values; +- (void)removeSites:(NSSet *)values; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform-darwin/Source/MPUserEntity+CoreDataProperties.m b/platform-darwin/Source/MPUserEntity+CoreDataProperties.m new file mode 100644 index 00000000..4a096255 --- /dev/null +++ b/platform-darwin/Source/MPUserEntity+CoreDataProperties.m @@ -0,0 +1,27 @@ +// +// MPUserEntity+CoreDataProperties.m +// MasterPassword-iOS +// +// Created by Maarten Billemont on 2017-04-30. +// Copyright © 2017 Lyndir. All rights reserved. +// + +#import "MPUserEntity+CoreDataProperties.h" + +@implementation MPUserEntity (CoreDataProperties) + ++ (NSFetchRequest *)fetchRequest { + return [[NSFetchRequest alloc] initWithEntityName:@"MPUserEntity"]; +} + +@dynamic avatar_; +@dynamic defaultType_; +@dynamic keyID; +@dynamic lastUsed; +@dynamic name; +@dynamic saveKey_; +@dynamic touchID_; +@dynamic version_; +@dynamic sites; + +@end diff --git a/platform-darwin/Source/MPUserEntity.h b/platform-darwin/Source/MPUserEntity.h deleted file mode 100644 index a05cdb03..00000000 --- a/platform-darwin/Source/MPUserEntity.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// MPUserEntity.h -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import -#import - -@class MPSiteEntity; - -@interface MPUserEntity : NSManagedObject - -@property(nonatomic, retain) NSNumber *avatar_; -@property(nonatomic, retain) NSNumber *defaultType_; -@property(nonatomic, retain) NSData *keyID; -@property(nonatomic, retain) NSDate *lastUsed; -@property(nonatomic, retain) NSString *name; -@property(nonatomic, retain) NSNumber *saveKey_; -@property(nonatomic, retain) NSNumber *touchID_; -@property(nonatomic, retain) NSNumber *version_; -@property(nonatomic, retain) NSSet *sites; -@end - -@interface MPUserEntity(CoreDataGeneratedAccessors) - -- (void)addSitesObject:(MPSiteEntity *)value; -- (void)removeSitesObject:(MPSiteEntity *)value; -- (void)addSites:(NSSet *)values; -- (void)removeSites:(NSSet *)values; - -@end diff --git a/platform-darwin/Source/MPUserEntity.m b/platform-darwin/Source/MPUserEntity.m deleted file mode 100644 index 8c752277..00000000 --- a/platform-darwin/Source/MPUserEntity.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// MPUserEntity.m -// MasterPassword-Mac -// -// Created by Maarten Billemont on 2014-09-21. -// Copyright (c) 2014 Lyndir. All rights reserved. -// - -#import "MPUserEntity.h" -#import "MPSiteEntity.h" - -@implementation MPUserEntity - -@dynamic avatar_; -@dynamic defaultType_; -@dynamic keyID; -@dynamic lastUsed; -@dynamic name; -@dynamic saveKey_; -@dynamic touchID_; -@dynamic version_; -@dynamic sites; - -@end diff --git a/platform-darwin/Source/MasterPassword.xcdatamodeld/.xccurrentversion b/platform-darwin/Source/MasterPassword.xcdatamodeld/.xccurrentversion index e06bb915..f65f9474 100644 --- a/platform-darwin/Source/MasterPassword.xcdatamodeld/.xccurrentversion +++ b/platform-darwin/Source/MasterPassword.xcdatamodeld/.xccurrentversion @@ -3,6 +3,6 @@ _XCCurrentVersionName - MasterPassword 8.xcdatamodel + MasterPassword 9.xcdatamodel diff --git a/platform-darwin/Source/MasterPassword.xcdatamodeld/MasterPassword 9.xcdatamodel/contents b/platform-darwin/Source/MasterPassword.xcdatamodeld/MasterPassword 9.xcdatamodel/contents new file mode 100644 index 00000000..edc3212a --- /dev/null +++ b/platform-darwin/Source/MasterPassword.xcdatamodeld/MasterPassword 9.xcdatamodel/contents @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform-darwin/Source/iOS/MPAnswersViewController.h b/platform-darwin/Source/iOS/MPAnswersViewController.h index 25a421c7..0883826c 100644 --- a/platform-darwin/Source/iOS/MPAnswersViewController.h +++ b/platform-darwin/Source/iOS/MPAnswersViewController.h @@ -18,7 +18,7 @@ #import #import "MPTypeViewController.h" -#import "MPSiteQuestionEntity.h" +#import "MPSiteQuestionEntity+CoreDataClass.h" @interface MPAnswersViewController : UIViewController diff --git a/platform-darwin/Source/iOS/MPPasswordCell.m b/platform-darwin/Source/iOS/MPPasswordCell.m index 6462d23d..16dda370 100644 --- a/platform-darwin/Source/iOS/MPPasswordCell.m +++ b/platform-darwin/Source/iOS/MPPasswordCell.m @@ -367,6 +367,31 @@ }]; } +- (IBAction)doAction:(UIButton *)sender { + + [MPiOSAppDelegate managedObjectContextForMainThreadPerformBlock:^(NSManagedObjectContext *mainContext) { + MPSiteEntity *mainSite = [self siteInContext:mainContext]; + [PearlAlert showAlertWithTitle:@"Login Page" message:nil + viewStyle:UIAlertViewStylePlainTextInput + initAlert:^(UIAlertView *alert, UITextField *firstField) { + firstField.placeholder = strf( @"Login URL for %@", mainSite.name ); + firstField.text = mainSite.url; + } + tappedButtonBlock:^(UIAlertView *alert, NSInteger buttonIndex) { + if (buttonIndex == alert.cancelButtonIndex) + return; + + [MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { + MPSiteEntity *site = [self siteInContext:context]; + NSURL *url = [NSURL URLWithString:[alert textFieldAtIndex:0].text]; + site.url = [url.host? url: nil absoluteString]; + [context saveToStore]; + }]; + } + cancelTitle:@"Cancel" otherTitles:@"Save", nil]; + }]; +} + - (IBAction)doIncrementCounter:(UIButton *)sender { [MPiOSAppDelegate managedObjectContextPerformBlock:^(NSManagedObjectContext *context) { @@ -506,6 +531,7 @@ MPSiteEntity *mainSite = [self siteInContext:[MPiOSAppDelegate managedObjectContextForMainThreadIfReady]]; // UI + self.backgroundColor = mainSite.url? [UIColor greenColor]: [UIColor redColor]; self.upgradeButton.gone = !mainSite.requiresExplicitMigration && ![[MPiOSConfig get].allowDowngrade boolValue]; self.answersButton.gone = ![[MPiOSAppDelegate get] isFeatureUnlocked:MPProductGenerateAnswers]; BOOL settingsMode = self.mode == MPPasswordCellModeSettings; diff --git a/platform-darwin/Source/iOS/Storyboard.storyboard b/platform-darwin/Source/iOS/Storyboard.storyboard index 2d8477c2..db245a10 100644 --- a/platform-darwin/Source/iOS/Storyboard.storyboard +++ b/platform-darwin/Source/iOS/Storyboard.storyboard @@ -526,7 +526,7 @@ - + @@ -806,7 +806,7 @@