diff --git a/platform-darwin/External/Pearl b/platform-darwin/External/Pearl index f513a4a6..4afa8cb1 160000 --- a/platform-darwin/External/Pearl +++ b/platform-darwin/External/Pearl @@ -1 +1 @@ -Subproject commit f513a4a63c90400b33adce2c6a8fa03cd80105fd +Subproject commit 4afa8cb1e865a54d038264372cac840f6ce576e5 diff --git a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj index b1e72c15..77406764 100644 --- a/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -20,7 +20,6 @@ 93D39359B0DF9823F6C56A05 /* PearlHangDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D39D8508BF868907E9732E /* PearlHangDetector.h */; }; 93D39392DEDA376F93C6C718 /* MPCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39BAA71DE51B4D8A1286C /* MPCell.m */; }; 93D3939661CE37180AF7CD6A /* MPStoreViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3957D76F71A652716EECC /* MPStoreViewController.m */; }; - 93D393AA69A1193401160418 /* UIView+AlphaScale.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39488AB33616661725929 /* UIView+AlphaScale.m */; }; 93D393DB5325820241BA90A7 /* PearlSizedTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D39A4759186F6D2D34AA6B /* PearlSizedTextView.h */; }; 93D3942C1B117EE4851AA7B6 /* UIView+Visible.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3952910EDB8E0EBC94BA9 /* UIView+Visible.m */; }; 93D394982CBD25D46692DD7C /* MPWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3990E0CD1B5CF9FBB2C07 /* MPWebViewController.m */; }; @@ -32,7 +31,6 @@ 93D3954FCE045A3CC7E804B7 /* MPUsersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D399E571F61E50A9BF8FAF /* MPUsersViewController.m */; }; 93D3957237D303DE2D38C267 /* MPAvatarCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39B381350802A194BF332 /* MPAvatarCell.m */; }; 93D39577FD8BB0945DB2F0A3 /* MPAlgorithmV3.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39FD9623E8D5571C0AEB3 /* MPAlgorithmV3.m */; }; - 93D3959696396A91961C6148 /* UIView+AlphaScale.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D392D76C091DEA3319F11D /* UIView+AlphaScale.h */; }; 93D395B715D15F2B56F2A2EE /* mpw-types.c in Sources */ = {isa = PBXBuildFile; fileRef = 93D392C5A6572DB0EB5B82C8 /* mpw-types.c */; }; 93D395F08A087F8A24689347 /* NSArray+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */; }; 93D39673DDC085BE72C34D7C /* MPPopdownSegue.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39B050DD5F55E9794EFD4 /* MPPopdownSegue.m */; }; @@ -40,9 +38,7 @@ 93D396BA1C74C4A06FD86437 /* PearlOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D3942A356B639724157982 /* PearlOverlay.h */; }; 93D396D8B67DA6522CDBA142 /* MPCoachmarkViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D3995B1D4DCE5A30D882BA /* MPCoachmarkViewController.m */; }; 93D397952F5635C793C24DF1 /* NSError+PearlFullDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39F9106F2CCFB94283188 /* NSError+PearlFullDescription.m */; }; - 93D397FCAAC6FA885247A4F9 /* PearlLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39FEFC296AF6E7DF8E468 /* PearlLinks.m */; }; 93D3980046016EFD05B35BC5 /* PearlUICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D39B1D8177A86C5B9EDDE3 /* PearlUICollectionView.h */; }; - 93D39861AEE621B287EA93E9 /* PearlLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D399C408B705172FA0FA02 /* PearlLinks.h */; }; 93D398ECD7D1A0DEDDADF516 /* MPEmergencyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39ACBA9F4878B6A1CC33B /* MPEmergencyViewController.m */; }; 93D399246DC90F50913A1287 /* UIResponder+PearlFirstResponder.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D39A1DDFA09AE2E14D26DC /* UIResponder+PearlFirstResponder.m */; }; 93D3992FA1546E01F498F665 /* PearlNavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D398567FD02DB2647B8CF3 /* PearlNavigationController.h */; }; @@ -134,8 +130,6 @@ DA2C3D651BD9612F001137B3 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA2C3D641BD9612F001137B3 /* libz.tbd */; }; DA2CA4DD18D28859007798F8 /* NSArray+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */; }; DA2CA4DE18D28859007798F8 /* NSArray+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */; }; - DA2CA4DF18D28859007798F8 /* NSTimer+PearlBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */; }; - DA2CA4E018D28859007798F8 /* NSTimer+PearlBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4DC18D28859007798F8 /* NSTimer+PearlBlock.h */; }; DA2CA4E418D28866007798F8 /* NSLayoutConstraint+PearlUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4E218D28866007798F8 /* NSLayoutConstraint+PearlUIKit.h */; }; DA2CA4E618D2AC10007798F8 /* NSLayoutConstraint+PearlUIKit.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4E518D2AC10007798F8 /* NSLayoutConstraint+PearlUIKit.m */; }; DA30E9D015722ECA00A68B4C /* Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9CD15722ECA00A68B4C /* Pearl.m */; }; @@ -174,7 +168,6 @@ DA45224A190628A1008F650A /* icon_wrench@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD386B1711E29700CF925C /* icon_wrench@2x.png */; }; DA45224B190628B2008F650A /* icon_gear.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37821711E29500CF925C /* icon_gear.png */; }; DA45224C190628B2008F650A /* icon_gear@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DABD37831711E29500CF925C /* icon_gear@2x.png */; }; - DA45711D1F572F1E00D54152 /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA45711B1F572F1E00D54152 /* PearlCryptUtils.m */; }; DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC6326C148680650075AEA5 /* libjrswizzle.a */; }; DA4DA1DA1564471F00F6F596 /* libuicolor-utilities.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC6325D1486805C0075AEA5 /* libuicolor-utilities.a */; }; DA5A09DF171A70E4005284AB /* play.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5A09DD171A70E4005284AB /* play.png */; }; @@ -211,7 +204,6 @@ DA92614E1BE1A57500369DE5 /* MPAppDelegate_InApp.m in Sources */ = {isa = PBXBuildFile; fileRef = DA92614D1BE1A57500369DE5 /* MPAppDelegate_InApp.m */; }; 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 */; }; 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 */; }; @@ -251,6 +243,21 @@ DAA449D21EEC4B5800E7BDD5 /* mpw-marshal.c in Sources */ = {isa = PBXBuildFile; fileRef = DAA449D01EEC4B5800E7BDD5 /* mpw-marshal.c */; }; DAADBFE01A68763B00F7A756 /* mpw-algorithm.c in Sources */ = {isa = PBXBuildFile; fileRef = 93D3969393A3A46BD27D7078 /* mpw-algorithm.c */; }; DAB07C9D1F7725C500CC6D43 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = DAB07C9B1F7725C500CC6D43 /* aes.c */; }; + DAB4FBC4202FDDDD002768FB /* NSInvocation+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBC2202FDDDC002768FB /* NSInvocation+Pearl.h */; }; + DAB4FBC5202FDDDD002768FB /* NSInvocation+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBC3202FDDDD002768FB /* NSInvocation+Pearl.m */; }; + DAB4FBC6202FDDEC002768FB /* NSMutableSet+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA95B50D1C4776F00067F5EF /* NSMutableSet+Pearl.h */; }; + DAB4FBC7202FDDEF002768FB /* NSMutableSet+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA95B50E1C4776F00067F5EF /* NSMutableSet+Pearl.m */; }; + DAB4FBC8202FDDF3002768FB /* NSNotificationCenter+PearlEasyCleanup.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D391AA32F24290C424438E /* NSNotificationCenter+PearlEasyCleanup.h */; }; + DAB4FBC9202FDE0F002768FB /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA45711C1F572F1E00D54152 /* PearlCryptUtils.h */; }; + DAB4FBCA202FDE13002768FB /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA45711B1F572F1E00D54152 /* PearlCryptUtils.m */; }; + DAB4FBD3202FDE48002768FB /* PearlLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBCB202FDE47002768FB /* PearlLinks.m */; }; + DAB4FBD4202FDE48002768FB /* UIView+PearlLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBCC202FDE47002768FB /* UIView+PearlLayout.h */; }; + DAB4FBD5202FDE48002768FB /* UIView+PearlSize.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBCD202FDE47002768FB /* UIView+PearlSize.h */; }; + DAB4FBD6202FDE48002768FB /* PearlLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBCE202FDE47002768FB /* PearlLinks.h */; }; + DAB4FBD7202FDE48002768FB /* UIView+PearlLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBCF202FDE47002768FB /* UIView+PearlLayout.m */; }; + DAB4FBD8202FDE48002768FB /* WTFViews.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBD0202FDE47002768FB /* WTFViews.h */; }; + DAB4FBD9202FDE48002768FB /* UIView+PearlSize.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBD1202FDE48002768FB /* UIView+PearlSize.m */; }; + DAB4FBDA202FDE48002768FB /* WTFViews.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBD2202FDE48002768FB /* WTFViews.m */; }; DAB7AE5D1F3D752900C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE5C1F3D752900C856B1 /* libjson-c.a */; }; DAB7AE771F3D755B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE761F3D755B00C856B1 /* libjson-c.a */; }; DAB7AE991F3DDEE000C856B1 /* mpw-marshal-util.c in Sources */ = {isa = PBXBuildFile; fileRef = DAB7AE981F3DDEE000C856B1 /* mpw-marshal-util.c */; }; @@ -503,7 +510,6 @@ 93D3924EE15017F8A12CB436 /* MPSitesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSitesViewController.m; sourceTree = ""; }; 93D392876BE5C011DE73B43F /* MPPopdownSegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPopdownSegue.h; sourceTree = ""; }; 93D392C5A6572DB0EB5B82C8 /* mpw-types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mpw-types.c"; sourceTree = ""; }; - 93D392D76C091DEA3319F11D /* UIView+AlphaScale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+AlphaScale.h"; sourceTree = ""; }; 93D393310223DDB35218467A /* MPCombinedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCombinedViewController.m; sourceTree = ""; }; 93D393B97158D7BE9332EA53 /* NSDictionary+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Indexing.h"; sourceTree = ""; }; 93D393BB973253D4BAAC84AA /* PearlEMail.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlEMail.m; sourceTree = ""; }; @@ -511,7 +517,6 @@ 93D394077F8FAB8167647187 /* Twitter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Twitter.framework; path = System/Library/Frameworks/Twitter.framework; sourceTree = SDKROOT; }; 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 = ""; }; - 93D39488AB33616661725929 /* UIView+AlphaScale.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+AlphaScale.m"; sourceTree = ""; }; 93D394D73F5BC92297CE8D7B /* MPAlgorithmV3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAlgorithmV3.h; sourceTree = ""; }; 93D395105935859D71679931 /* MPOverlayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPOverlayViewController.m; sourceTree = ""; }; 93D3952910EDB8E0EBC94BA9 /* UIView+Visible.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Visible.m"; sourceTree = ""; }; @@ -539,7 +544,6 @@ 93D399A8E3181B442D347CD7 /* MPAlgorithmV2.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithmV2.m; sourceTree = ""; }; 93D399B36CDB2004D7C51391 /* MPMessageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMessageViewController.m; sourceTree = ""; }; 93D399C2F3D48E57C4803BDC /* NSPersistentStore+PearlMigration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSPersistentStore+PearlMigration.m"; sourceTree = ""; }; - 93D399C408B705172FA0FA02 /* PearlLinks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLinks.h; sourceTree = ""; }; 93D399E571F61E50A9BF8FAF /* MPUsersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUsersViewController.m; sourceTree = ""; }; 93D399F244BB522A317811BB /* MPFixable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPFixable.h; sourceTree = ""; }; 93D39A1DDFA09AE2E14D26DC /* UIResponder+PearlFirstResponder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIResponder+PearlFirstResponder.m"; sourceTree = ""; }; @@ -581,7 +585,6 @@ 93D39F9106F2CCFB94283188 /* NSError+PearlFullDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+PearlFullDescription.m"; sourceTree = ""; }; 93D39FBF8FCEB4C106272334 /* NSOrderedSetOrArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSOrderedSetOrArray.h; sourceTree = ""; }; 93D39FD9623E8D5571C0AEB3 /* MPAlgorithmV3.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithmV3.m; sourceTree = ""; }; - 93D39FEFC296AF6E7DF8E468 /* PearlLinks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLinks.m; sourceTree = ""; }; DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; DA071BF1190187FE00179766 /* empty@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "empty@2x.png"; sourceTree = ""; }; DA071BF2190187FE00179766 /* empty.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = empty.png; sourceTree = ""; }; @@ -761,8 +764,6 @@ DA2C3D641BD9612F001137B3 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; DA2CA4D918D28859007798F8 /* NSArray+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Pearl.m"; sourceTree = ""; }; DA2CA4DA18D28859007798F8 /* NSArray+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Pearl.h"; sourceTree = ""; }; - DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+PearlBlock.m"; sourceTree = ""; }; - DA2CA4DC18D28859007798F8 /* NSTimer+PearlBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSTimer+PearlBlock.h"; sourceTree = ""; }; DA2CA4E218D28866007798F8 /* NSLayoutConstraint+PearlUIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSLayoutConstraint+PearlUIKit.h"; sourceTree = ""; }; DA2CA4E518D2AC10007798F8 /* NSLayoutConstraint+PearlUIKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSLayoutConstraint+PearlUIKit.m"; sourceTree = ""; }; DA30E9CD15722ECA00A68B4C /* Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Pearl.m; sourceTree = ""; }; @@ -874,6 +875,17 @@ DAAC35DD156BD77D00C5FD93 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; }; DAB07C9B1F7725C500CC6D43 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = ""; }; DAB07C9C1F7725C500CC6D43 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = ""; }; + DAB4FBC2202FDDDC002768FB /* NSInvocation+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSInvocation+Pearl.h"; sourceTree = ""; }; + DAB4FBC3202FDDDD002768FB /* NSInvocation+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSInvocation+Pearl.m"; sourceTree = ""; }; + DAB4FBCB202FDE47002768FB /* PearlLinks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLinks.m; sourceTree = ""; }; + DAB4FBCC202FDE47002768FB /* UIView+PearlLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+PearlLayout.h"; sourceTree = ""; }; + DAB4FBCD202FDE47002768FB /* UIView+PearlSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+PearlSize.h"; sourceTree = ""; }; + DAB4FBCE202FDE47002768FB /* PearlLinks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLinks.h; sourceTree = ""; }; + DAB4FBCF202FDE47002768FB /* UIView+PearlLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+PearlLayout.m"; sourceTree = ""; }; + DAB4FBD0202FDE47002768FB /* WTFViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WTFViews.h; sourceTree = ""; }; + DAB4FBD1202FDE48002768FB /* UIView+PearlSize.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+PearlSize.m"; sourceTree = ""; }; + DAB4FBD2202FDE48002768FB /* WTFViews.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WTFViews.m; sourceTree = ""; }; + DAB4FBDB202FDE5E002768FB /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pearl-Prefix.pch"; sourceTree = ""; }; DAB7AE5C1F3D752900C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libjson-c.a"; path = "External/libjson-c/libjson-c-ios/lib/libjson-c.a"; sourceTree = ""; }; DAB7AE611F3D755B00C856B1 /* arraylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraylist.h; sourceTree = ""; }; DAB7AE621F3D755B00C856B1 /* bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bits.h; sourceTree = ""; }; @@ -1511,7 +1523,7 @@ DABD38C11711E29700CF925C /* tip_location_teal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tip_location_teal@2x.png"; sourceTree = ""; }; DABD38C21711E29700CF925C /* tip_location_wood.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tip_location_wood.png; sourceTree = ""; }; DABD38C31711E29700CF925C /* tip_location_wood@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tip_location_wood@2x.png"; sourceTree = ""; }; - DABD38C81711E29700CF925C /* jquery-1.6.1.min.js */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = sourcecode.javascript; path = "jquery-1.6.1.min.js"; sourceTree = ""; }; + DABD38C81711E29700CF925C /* jquery-1.6.1.min.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = "jquery-1.6.1.min.js"; sourceTree = ""; }; DABD38C91711E29700CF925C /* keypad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = keypad.png; sourceTree = ""; }; DABD38CA1711E29700CF925C /* logo-bare.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo-bare.png"; sourceTree = ""; }; DABD38CB1711E29700CF925C /* menu-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu-icon.png"; sourceTree = ""; }; @@ -1562,7 +1574,6 @@ DAC6326C148680650075AEA5 /* libjrswizzle.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libjrswizzle.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAC632871486D95D0075AEA5 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; DAC77CAD148291A600BCF976 /* libPearl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPearl.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DAC77CB1148291A600BCF976 /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Pearl-Prefix.pch"; path = "../../Source/Pearl/Pearl-Prefix.pch"; sourceTree = ""; }; DACA29721705E1A8002C6C22 /* dictionary.lst */ = {isa = PBXFileReference; fileEncoding = 1; lastKnownFileType = text; path = dictionary.lst; sourceTree = ""; }; DACA29771705E2BD002C6C22 /* JRSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRSwizzle.h; sourceTree = ""; }; DACA298C1705E2BD002C6C22 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JRSwizzle.m; sourceTree = ""; }; @@ -2994,7 +3005,6 @@ 93D39F556F2F142740A65E59 /* MPWebViewController.h */, 93D3990E0CD1B5CF9FBB2C07 /* MPWebViewController.m */, DABD3BF91711E2DC00CF925C /* Settings.bundle */, - DA38D6A218CCB5BF009AEB3E /* Storyboard.storyboard */, ); path = iOS; sourceTree = ""; @@ -3005,7 +3015,7 @@ DAFE45D715039823003ABA7C /* Pearl */, DAFE45FC15039823003ABA7C /* Pearl-Crypto */, DAFE460715039823003ABA7C /* Pearl-UIKit */, - DAC77CB1148291A600BCF976 /* Pearl-Prefix.pch */, + DAB4FBDB202FDE5E002768FB /* Pearl-Prefix.pch */, ); path = Pearl; sourceTree = ""; @@ -3091,6 +3101,8 @@ 93D39AA1EE2E1E7B81372240 /* NSDictionary+Indexing.m */, 93D398C95847261903D781D3 /* NSError+PearlFullDescription.h */, 93D39F9106F2CCFB94283188 /* NSError+PearlFullDescription.m */, + DAB4FBC2202FDDDC002768FB /* NSInvocation+Pearl.h */, + DAB4FBC3202FDDDD002768FB /* NSInvocation+Pearl.m */, DAF4EF4F190A81E400023C90 /* NSManagedObject+Pearl.h */, DAF4EF4E190A81E400023C90 /* NSManagedObject+Pearl.m */, DA95B50D1C4776F00067F5EF /* NSMutableSet+Pearl.h */, @@ -3100,14 +3112,14 @@ DAFE45D915039823003ABA7C /* NSObject+PearlExport.m */, DAFE4A63150399FF003ABA87 /* NSObject+PearlKVO.h */, DAFE4A63150399FF003ABA85 /* NSObject+PearlKVO.m */, + 93D39FBF8FCEB4C106272334 /* NSOrderedSetOrArray.h */, + 93D39789AAF49338F8AC8B02 /* NSOrderedSetOrArray.m */, 93D397F4BAFFF7CF3F1B21A4 /* NSPersistentStore+PearlMigration.h */, 93D399C2F3D48E57C4803BDC /* NSPersistentStore+PearlMigration.m */, DAFE45DA15039823003ABA7C /* NSString+PearlNSArrayFormat.h */, DAFE45DB15039823003ABA7C /* NSString+PearlNSArrayFormat.m */, DAFE45DC15039823003ABA7C /* NSString+PearlSEL.h */, DAFE45DD15039823003ABA7C /* NSString+PearlSEL.m */, - DA2CA4DC18D28859007798F8 /* NSTimer+PearlBlock.h */, - DA2CA4DB18D28859007798F8 /* NSTimer+PearlBlock.m */, DAFE45DE15039823003ABA7C /* Pearl.h */, DA30E9CD15722ECA00A68B4C /* Pearl.m */, DAFE45DF15039823003ABA7C /* PearlAbstractStrings.h */, @@ -3118,6 +3130,8 @@ DAFE45E615039823003ABA7C /* PearlConfig.m */, DAFE45E715039823003ABA7C /* PearlDeviceUtils.h */, DAFE45E815039823003ABA7C /* PearlDeviceUtils.m */, + 93D39D8508BF868907E9732E /* PearlHangDetector.h */, + 93D39BDA5DB85FCDE4E6450A /* PearlHangDetector.m */, DAFE45E915039823003ABA7C /* PearlInfoPlist.h */, DAFE45EA15039823003ABA7C /* PearlInfoPlist.m */, DA30E9D515723E6900A68B4C /* PearlLazy.h */, @@ -3141,10 +3155,6 @@ DAA1411C1922FF020032B392 /* PearlTween.m */, DAFE45F815039823003ABA7C /* README */, DAFE45F915039823003ABA7C /* Resources */, - 93D39FBF8FCEB4C106272334 /* NSOrderedSetOrArray.h */, - 93D39789AAF49338F8AC8B02 /* NSOrderedSetOrArray.m */, - 93D39BDA5DB85FCDE4E6450A /* PearlHangDetector.m */, - 93D39D8508BF868907E9732E /* PearlHangDetector.h */, ); path = Pearl; sourceTree = ""; @@ -3193,6 +3203,8 @@ DA32D01819D046E1004F3F0E /* PearlFixedTableView.m */, DAFE461015039823003ABA7C /* PearlGradientView.h */, DAFE461115039823003ABA7C /* PearlGradientView.m */, + DAB4FBCE202FDE47002768FB /* PearlLinks.h */, + DAB4FBCB202FDE47002768FB /* PearlLinks.m */, DAFE461615039823003ABA7C /* PearlMessageView.h */, DAFE461715039823003ABA7C /* PearlMessageView.m */, DACE2F6919BA6A2A0010F92E /* PearlMutableStaticTableViewController.h */, @@ -3245,16 +3257,16 @@ DACE2F6719BA6A2A0010F92E /* UIView+FontScale.m */, DAEFB01D19BCBD9E00525079 /* UIView+LayoutGone.h */, DAEFB01C19BCBD9E00525079 /* UIView+LayoutGone.m */, - DAB4FBA6202FCA54002768FB /* UIView+PearlLayout.h */, - DAB4FBA7202FCA54002768FB /* UIView+PearlLayout.m */, - DAB4FBAA202FCA55002768FB /* UIView+PearlSize.h */, - DAB4FBA9202FCA55002768FB /* UIView+PearlSize.m */, + DAB4FBCC202FDE47002768FB /* UIView+PearlLayout.h */, + DAB4FBCF202FDE47002768FB /* UIView+PearlLayout.m */, + DAB4FBCD202FDE47002768FB /* UIView+PearlSize.h */, + DAB4FBD1202FDE48002768FB /* UIView+PearlSize.m */, DAEC85B418E3DD9A007FC0DF /* UIView+Touches.h */, DAEC85B118E3DD9A007FC0DF /* UIView+Touches.m */, 93D39B7B765546B1F1900CB7 /* UIView+Visible.h */, 93D3952910EDB8E0EBC94BA9 /* UIView+Visible.m */, - DAB4FBA8202FCA55002768FB /* WTFViews.h */, - DAB4FBA5202FCA54002768FB /* WTFViews.m */, + DAB4FBD0202FDE47002768FB /* WTFViews.h */, + DAB4FBD2202FDE48002768FB /* WTFViews.m */, ); path = "Pearl-UIKit"; sourceTree = ""; @@ -3290,7 +3302,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DAB4FBB6202FD814002768FB /* UIView+PearlLayout.h in Headers */, DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */, DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */, DAFE4A1715039824003ABA7C /* NSString+PearlSEL.h in Headers */, @@ -3298,15 +3309,16 @@ DAFE4A1915039824003ABA7C /* Pearl.h in Headers */, DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */, DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */, + DAB4FBD8202FDE48002768FB /* WTFViews.h in Headers */, DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */, DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */, DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */, DA2CA4E418D28866007798F8 /* NSLayoutConstraint+PearlUIKit.h in Headers */, + DAB4FBD5202FDE48002768FB /* UIView+PearlSize.h in Headers */, DACE2F6D19BA6A2A0010F92E /* PearlMutableStaticTableViewController.h in Headers */, DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */, DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */, DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */, - DAB4FBBE202FD84A002768FB /* NSMutableSet+Pearl.h in Headers */, DA250A18195665A100AC23F1 /* UITableView+PearlReloadItems.h in Headers */, DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */, DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */, @@ -3317,6 +3329,7 @@ DACE2F6E19BA6A2A0010F92E /* UIView+FontScale.h in Headers */, DA32D01B19D046E1004F3F0E /* PearlFixedTableView.h in Headers */, DAFE4A3C15039824003ABA7C /* Pearl-UIKit-Dependencies.h in Headers */, + DAB4FBD6202FDE48002768FB /* PearlLinks.h in Headers */, DAEC85B818E3DD9A007FC0DF /* UIView+Touches.h in Headers */, DAFE4A3D15039824003ABA7C /* Pearl-UIKit.h in Headers */, DAFE4A3E15039824003ABA7C /* PearlAlert.h in Headers */, @@ -3324,19 +3337,17 @@ DAFE4A4215039824003ABA7C /* PearlBoxView.h in Headers */, DAEFB01F19BCBD9E00525079 /* UIView+LayoutGone.h in Headers */, DAFE4A4415039824003ABA7C /* PearlGradientView.h in Headers */, - DAB4FBBA202FD82A002768FB /* WTFViews.h in Headers */, + DAB4FBC6202FDDEC002768FB /* NSMutableSet+Pearl.h in Headers */, DAFE4A4A15039824003ABA7C /* PearlMessageView.h in Headers */, DACE2F6619BA6A0A0010F92E /* PearlProfiler.h in Headers */, DAFE4A4C15039824003ABA7C /* PearlRootViewController.h in Headers */, + DAB4FBC9202FDE0F002768FB /* PearlCryptUtils.h in Headers */, DAFE4A4E15039824003ABA7C /* PearlSheet.h in Headers */, DAFE4A5015039824003ABA7C /* PearlUIDebug.h in Headers */, DAFE4A5215039824003ABA7C /* PearlUIUtils.h in Headers */, DAFE4A5415039824003ABA7C /* PearlValidatingTextField.h in Headers */, - DAB4FBB8202FD81F002768FB /* UIView+PearlSize.h in Headers */, - DAB4FBB5202FD7D8002768FB /* PearlCryptUtils.h in Headers */, DAFE4A5815039824003ABA7C /* UIImage+PearlScaling.h in Headers */, DAFE4A63150399FF003ABA7C /* PearlAppDelegate.h in Headers */, - DAB4FBC0202FD853002768FB /* NSNotificationCenter+PearlEasyCleanup.h in Headers */, DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */, DAA141211922FF020032B392 /* PearlTween.h in Headers */, DAFE4A63150399FF003ABA84 /* UIControl+PearlBlocks.h in Headers */, @@ -3348,10 +3359,10 @@ DA2CA4DE18D28859007798F8 /* NSArray+Pearl.h in Headers */, 93D392EC39DA43C46C692C12 /* NSDictionary+Indexing.h in Headers */, 93D3932889B6B4206E66A6D6 /* PearlEMail.h in Headers */, + DAB4FBC8202FDDF3002768FB /* NSNotificationCenter+PearlEasyCleanup.h in Headers */, DA3509FE15F101A500C14A8E /* PearlQueue.h in Headers */, DAEC85B718E3DD9A007FC0DF /* PearlUINavigationBar.h in Headers */, 93D396BA1C74C4A06FD86437 /* PearlOverlay.h in Headers */, - DAB4FBBC202FD841002768FB /* NSInvocation+Pearl.h in Headers */, 93D3992FA1546E01F498F665 /* PearlNavigationController.h in Headers */, 93D39B842AB9A5D072810D76 /* NSError+PearlFullDescription.h in Headers */, DAF4EF51190A81E400023C90 /* NSManagedObject+Pearl.h in Headers */, @@ -3361,11 +3372,12 @@ 93D39536EB550E811CCD04BC /* UIResponder+PearlFirstResponder.h in Headers */, 93D393DB5325820241BA90A7 /* PearlSizedTextView.h in Headers */, 93D392A8777DC30C11361647 /* UITextView+PearlAttributes.h in Headers */, + DAB4FBC4202FDDDD002768FB /* NSInvocation+Pearl.h in Headers */, 93D39A53D76CA70786423458 /* UICollectionView+PearlReloadItems.h in Headers */, 93D39AA4A0BE66A872CCC02E /* NSPersistentStore+PearlMigration.h in Headers */, 93D399E4BC1E092A8C8B12AE /* NSOrderedSetOrArray.h in Headers */, 93D39BFB5F5F9337F6565DE3 /* UIView+Visible.h in Headers */, - 93D39861AEE621B287EA93E9 /* PearlLinks.h in Headers */, + DAB4FBD4202FDE48002768FB /* UIView+PearlLayout.h in Headers */, 93D39359B0DF9823F6C56A05 /* PearlHangDetector.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -3537,6 +3549,9 @@ LastUpgradeCheck = 0820; ORGANIZATIONNAME = Lyndir; TargetAttributes = { + DA32D01F19D111C6004F3F0E = { + DevelopmentTeam = HL3Q45LX9N; + }; DA5BFA43147E415C00F98B1E = { DevelopmentTeam = HL3Q45LX9N; LastSwiftMigration = 0920; @@ -3556,6 +3571,9 @@ }; }; }; + DAA1757C19D86BE70044227B = { + DevelopmentTeam = HL3Q45LX9N; + }; DAB7AE3D1F3D464A00C856B1 = { CreatedOnToolsVersion = 8.3.3; DevelopmentTeam = HL3Q45LX9N; @@ -3566,9 +3584,18 @@ DevelopmentTeam = HL3Q45LX9N; ProvisioningStyle = Automatic; }; + DAC6325C1486805C0075AEA5 = { + DevelopmentTeam = HL3Q45LX9N; + }; + DAC6326B148680650075AEA5 = { + DevelopmentTeam = HL3Q45LX9N; + }; DAC77CAC148291A600BCF976 = { DevelopmentTeam = HL3Q45LX9N; }; + DAFC5654172C573B00CB5CC5 = { + DevelopmentTeam = HL3Q45LX9N; + }; }; }; buildConfigurationList = DA5BFA3E147E415C00F98B1E /* Build configuration list for PBXProject "MasterPassword-iOS" */; @@ -3859,7 +3886,6 @@ DA8495311A93049300B3053D /* icon_down.png in Resources */, DA25C5FF197DBF200046CDCF /* icon_thumbs-up@2x.png in Resources */, DAE1EF2217E942DE00BC0086 /* Localizable.strings in Resources */, - DA38D6A318CCB5BF009AEB3E /* Storyboard.storyboard in Resources */, DA5A09DF171A70E4005284AB /* play.png in Resources */, DA24EBEC19DAD6EE00FF010B /* Icon-Small@3x.png in Resources */, DA5A09E0171A70E4005284AB /* play@2x.png in Resources */, @@ -3979,7 +4005,6 @@ 93D39A5FF670957C0AF8298D /* MPSiteCell.m in Sources */, 93D398ECD7D1A0DEDDADF516 /* MPEmergencyViewController.m in Sources */, DAB7AE991F3DDEE000C856B1 /* mpw-marshal-util.c in Sources */, - DA95B50F1C4776F00067F5EF /* NSMutableSet+Pearl.m in Sources */, 93D394B5036C882B33C71872 /* MPSitesSegue.m in Sources */, DA0CC5911EB6B030009A8ED9 /* MPStoredSiteEntity+CoreDataProperties.m in Sources */, 93D39673DDC085BE72C34D7C /* MPPopdownSegue.m in Sources */, @@ -3994,7 +4019,6 @@ 93D39D8F78978196D6ABDEDE /* MPNavigationController.m in Sources */, 93D3939661CE37180AF7CD6A /* MPStoreViewController.m in Sources */, 93D390C1B93F9D3AE37DD0A5 /* MPAnswersViewController.m in Sources */, - DA45711D1F572F1E00D54152 /* PearlCryptUtils.m in Sources */, 93D399D7E08A142776A74CB8 /* MPOverlayViewController.m in Sources */, 93D39A27F2506C6FEEF9C588 /* MPAlgorithmV2.m in Sources */, 93D39B429C67A62E29DC02DA /* MPRootSegue.m in Sources */, @@ -4049,11 +4073,8 @@ DAEFB01E19BCBD9E00525079 /* UIView+LayoutGone.m in Sources */, DAFE4A2115039824003ABA7C /* PearlConfig.m in Sources */, DAFE4A2315039824003ABA7C /* PearlDeviceUtils.m in Sources */, - DAB4FBB0202FD1E9002768FB /* PearlLogger.swift in Sources */, - DAB4FBBF202FD84E002768FB /* NSMutableSet+Pearl.m in Sources */, DAFE4A2515039824003ABA7C /* PearlInfoPlist.m in Sources */, DAFE4A2715039824003ABA7C /* PearlLogger.m in Sources */, - DAB4FBBD202FD845002768FB /* NSInvocation+Pearl.m in Sources */, DAFE4A2915039824003ABA7C /* PearlMathUtils.m in Sources */, DAFE4A2B15039824003ABA7C /* PearlObjectUtils.m in Sources */, DAFE4A2E15039824003ABA7C /* PearlStrings.m in Sources */, @@ -4065,7 +4086,6 @@ DAFE4A4115039824003ABA7C /* PearlArrayTVC.m in Sources */, DAFE4A4315039824003ABA7C /* PearlBoxView.m in Sources */, DAFE4A4515039824003ABA7C /* PearlGradientView.m in Sources */, - DAB4FBB1202FD1FD002768FB /* PearlStringUtils.swift in Sources */, DA250A19195665A100AC23F1 /* UICollectionReusableView+PearlDequeue.m in Sources */, DAE2726319CE9CB3007C5262 /* UITableViewCell+PearlDeque.m in Sources */, DAFE4A4B15039824003ABA7C /* PearlMessageView.m in Sources */, @@ -4075,7 +4095,6 @@ DAFE4A5115039824003ABA7C /* PearlUIDebug.m in Sources */, DAFE4A5315039824003ABA7C /* PearlUIUtils.m in Sources */, DAFE4A5515039824003ABA7C /* PearlValidatingTextField.m in Sources */, - DAB4FBB9202FD823002768FB /* UIView+PearlSize.m in Sources */, DAEC85B618E3DD9A007FC0DF /* PearlUINavigationBar.m in Sources */, DACE2F6C19BA6A2A0010F92E /* PearlMutableStaticTableViewController.m in Sources */, DAFE4A5915039824003ABA7C /* UIImage+PearlScaling.m in Sources */, @@ -4096,25 +4115,28 @@ 93D39E281E3658B30550CB55 /* NSDictionary+Indexing.m in Sources */, DAF4EF50190A81E400023C90 /* NSManagedObject+Pearl.m in Sources */, 93D39262A8A97DB748213309 /* PearlEMail.m in Sources */, + DAB4FBD9202FDE48002768FB /* UIView+PearlSize.m in Sources */, DA3509FF15F101A500C14A8E /* PearlQueue.m in Sources */, + DAB4FBDA202FDE48002768FB /* WTFViews.m in Sources */, + DAB4FBC7202FDDEF002768FB /* NSMutableSet+Pearl.m in Sources */, 93D3922A53E41A54832E90D9 /* PearlOverlay.m in Sources */, DA32D01A19D046E1004F3F0E /* PearlFixedTableView.m in Sources */, 93D396AA30690B256F30378A /* PearlNavigationController.m in Sources */, 93D397952F5635C793C24DF1 /* NSError+PearlFullDescription.m in Sources */, - DAB4FBB4202FD7CD002768FB /* PearlCryptUtils.m in Sources */, 93D3954E96236384AFA00453 /* UIScrollView+PearlAdjustInsets.m in Sources */, + DAB4FBCA202FDE13002768FB /* PearlCryptUtils.m in Sources */, 93D39A8EA1C49CE43B63F47B /* PearlUICollectionView.m in Sources */, 93D399246DC90F50913A1287 /* UIResponder+PearlFirstResponder.m in Sources */, DAA141201922FF020032B392 /* PearlTween.m in Sources */, + DAB4FBD7202FDE48002768FB /* UIView+PearlLayout.m in Sources */, 93D391ECBD9BD2C64115B5DD /* PearlSizedTextView.m in Sources */, + DAB4FBD3202FDE48002768FB /* PearlLinks.m in Sources */, 93D39E34FD28D24FE3442C48 /* UITextView+PearlAttributes.m in Sources */, - DAB4FBBB202FD82E002768FB /* WTFViews.m in Sources */, - DAB4FBB7202FD81B002768FB /* UIView+PearlLayout.m in Sources */, 93D39D47FC623E91FC39D20C /* UICollectionView+PearlReloadItems.m in Sources */, 93D3928D629EA563F9EC4909 /* NSPersistentStore+PearlMigration.m in Sources */, 93D392A33CCE85431E910C7B /* NSOrderedSetOrArray.m in Sources */, 93D3942C1B117EE4851AA7B6 /* UIView+Visible.m in Sources */, - 93D397FCAAC6FA885247A4F9 /* PearlLinks.m in Sources */, + DAB4FBC5202FDDDD002768FB /* NSInvocation+Pearl.m in Sources */, 93D395373A425B05C86B2268 /* PearlHangDetector.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -4260,6 +4282,7 @@ PEARL, PEARL_UIKIT, PEARL_CRYPTO, + PEARL_WITH_MESSAGEUI, ); GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; @@ -4325,6 +4348,8 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_C_LANGUAGE_STANDARD = c11; + 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; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -4464,6 +4489,7 @@ PEARL, PEARL_UIKIT, PEARL_CRYPTO, + PEARL_WITH_MESSAGEUI, ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; @@ -4568,6 +4594,7 @@ PEARL, PEARL_UIKIT, PEARL_CRYPTO, + PEARL_WITH_MESSAGEUI, ); GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; @@ -4632,6 +4659,8 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_C_LANGUAGE_STANDARD = c11; + 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; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -4669,6 +4698,8 @@ "\"$(SRCROOT)/External/iOS\"", ); GCC_C_LANGUAGE_STANDARD = c11; + 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; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -4880,7 +4911,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; - GCC_PREFIX_HEADER = "Source/Pearl/Pearl-Prefix.pch"; + GCC_PREFIX_HEADER = "External/Pearl/Pearl-Prefix.pch"; LIBRARY_SEARCH_PATHS = ( "\"$(SRCROOT)/External/Pearl/Pearl-Crypto/lib\"", "$(inherited)", diff --git a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj index d5122bec..bc411acb 100644 --- a/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj +++ b/platform-darwin/MasterPassword-macOS.xcodeproj/project.pbxproj @@ -64,8 +64,6 @@ DA2CA4EE18D323D3007798F8 /* NSError+PearlFullDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4E818D323D3007798F8 /* NSError+PearlFullDescription.h */; }; DA2CA4EF18D323D3007798F8 /* NSArray+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4E918D323D3007798F8 /* NSArray+Pearl.m */; }; DA2CA4F018D323D3007798F8 /* NSArray+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4EA18D323D3007798F8 /* NSArray+Pearl.h */; }; - DA2CA4F118D323D3007798F8 /* NSTimer+PearlBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2CA4EB18D323D3007798F8 /* NSTimer+PearlBlock.m */; }; - DA2CA4F218D323D3007798F8 /* NSTimer+PearlBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = DA2CA4EC18D323D3007798F8 /* NSTimer+PearlBlock.h */; }; DA30E9D015722ECA00A68B4C /* Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9CD15722ECA00A68B4C /* Pearl.m */; }; DA30E9D215722EE500A68B4C /* Pearl-Crypto.m in Sources */ = {isa = PBXBuildFile; fileRef = DA30E9D115722EE500A68B4C /* Pearl-Crypto.m */; }; DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */ = {isa = PBXBuildFile; fileRef = DA30E9D515723E6900A68B4C /* PearlLazy.h */; }; @@ -77,7 +75,6 @@ DA3B8453190FC86F00246EEA /* NSManagedObject+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA3B8451190FC86F00246EEA /* NSManagedObject+Pearl.h */; }; DA3B8456190FC89700246EEA /* MPFixable.m in Sources */ = {isa = PBXBuildFile; fileRef = DA3B8454190FC89700246EEA /* MPFixable.m */; }; DA3BCFCD19BD09E0006B2681 /* SourceCodePro-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = DA3BCFCC19BD09E0006B2681 /* SourceCodePro-Regular.otf */; }; - DA4571201F572F3200D54152 /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA45711E1F572F3200D54152 /* PearlCryptUtils.m */; }; DA4DA1D91564471A00F6F596 /* libjrswizzle.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC6326C148680650075AEA5 /* libjrswizzle.a */; }; DA4DAE941A7D8117003E5423 /* MPAlgorithmV3.m in Sources */ = {isa = PBXBuildFile; fileRef = DA4DAE921A7D8117003E5423 /* MPAlgorithmV3.m */; }; DA4DAE951A7D8117003E5423 /* MPTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = DA4DAE931A7D8117003E5423 /* MPTypes.m */; }; @@ -134,6 +131,16 @@ DAB07CA31F77261400CC6D43 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = DAB07C9E1F7725D400CC6D43 /* aes.c */; }; DAB07CA51F77261C00CC6D43 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = DAB07C9E1F7725D400CC6D43 /* aes.c */; }; DAB07CA61F77262400CC6D43 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = DAB07C9E1F7725D400CC6D43 /* aes.c */; }; + DAB4FBE3202FF93E002768FB /* PearlHangDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBDD202FF93D002768FB /* PearlHangDetector.h */; }; + DAB4FBE4202FF93E002768FB /* PearlHangDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBDE202FF93D002768FB /* PearlHangDetector.m */; }; + DAB4FBE5202FF93E002768FB /* NSInvocation+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBDF202FF93D002768FB /* NSInvocation+Pearl.h */; }; + DAB4FBE6202FF93E002768FB /* NSInvocation+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBE0202FF93D002768FB /* NSInvocation+Pearl.m */; }; + DAB4FBE7202FF93E002768FB /* NSOrderedSetOrArray.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB4FBE1202FF93D002768FB /* NSOrderedSetOrArray.h */; }; + DAB4FBE8202FF93E002768FB /* NSOrderedSetOrArray.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB4FBE2202FF93D002768FB /* NSOrderedSetOrArray.m */; }; + DAB4FBE9202FF94C002768FB /* NSMutableSet+Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DACBFCDB1C59B22E007EF90F /* NSMutableSet+Pearl.h */; }; + DAB4FBEA202FF951002768FB /* NSMutableSet+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DACBFCDC1C59B22E007EF90F /* NSMutableSet+Pearl.m */; }; + DAB4FBEB202FF975002768FB /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA45711F1F572F3200D54152 /* PearlCryptUtils.h */; }; + DAB4FBEC202FF979002768FB /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA45711E1F572F3200D54152 /* PearlCryptUtils.m */; }; DAB7AE5A1F3D74E700C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE591F3D74E700C856B1 /* libjson-c.a */; }; DAB7AE5B1F3D750B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE591F3D74E700C856B1 /* libjson-c.a */; }; DAB7AE941F3D757B00C856B1 /* libjson-c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB7AE901F3D757B00C856B1 /* libjson-c.a */; }; @@ -184,7 +191,6 @@ DACA29741705E1A8002C6C22 /* dictionary.lst in Resources */ = {isa = PBXBuildFile; fileRef = DACA29721705E1A8002C6C22 /* dictionary.lst */; }; DACA298D1705E2BD002C6C22 /* JRSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = DACA29771705E2BD002C6C22 /* JRSwizzle.h */; }; DACA299A1705E2BD002C6C22 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = DACA298C1705E2BD002C6C22 /* JRSwizzle.m */; }; - DACBFCDF1C59B22E007EF90F /* NSMutableSet+Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DACBFCDC1C59B22E007EF90F /* NSMutableSet+Pearl.m */; }; DAD9B5F01762CAA4001835F9 /* ServiceManagement.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAD9B5EF1762CAA4001835F9 /* ServiceManagement.framework */; }; DAD9B5F11762CAB9001835F9 /* MasterPassword-Mac-LoginHelper.app in Copy LoginHelper */ = {isa = PBXBuildFile; fileRef = DAD9B5E6176299BA001835F9 /* MasterPassword-Mac-LoginHelper.app */; }; DADD5DFA1EA173B0005E7D96 /* libsodium.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA0979571E9A824700F0BFE8 /* libsodium.a */; }; @@ -483,8 +489,6 @@ DA2CA4E818D323D3007798F8 /* NSError+PearlFullDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+PearlFullDescription.h"; sourceTree = ""; }; DA2CA4E918D323D3007798F8 /* NSArray+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Pearl.m"; sourceTree = ""; }; DA2CA4EA18D323D3007798F8 /* NSArray+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Pearl.h"; sourceTree = ""; }; - DA2CA4EB18D323D3007798F8 /* NSTimer+PearlBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSTimer+PearlBlock.m"; sourceTree = ""; }; - DA2CA4EC18D323D3007798F8 /* NSTimer+PearlBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSTimer+PearlBlock.h"; sourceTree = ""; }; DA30E9CD15722ECA00A68B4C /* Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Pearl.m; sourceTree = ""; }; DA30E9D115722EE500A68B4C /* Pearl-Crypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Pearl-Crypto.m"; sourceTree = ""; }; DA30E9D515723E6900A68B4C /* PearlLazy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLazy.h; sourceTree = ""; }; @@ -983,6 +987,12 @@ DAB07C9E1F7725D400CC6D43 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = ""; }; DAB07C9F1F7725D400CC6D43 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = ""; }; DAB4FBB3202FD60A002768FB /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pearl-Prefix.pch"; sourceTree = ""; }; + DAB4FBDD202FF93D002768FB /* PearlHangDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlHangDetector.h; sourceTree = ""; }; + DAB4FBDE202FF93D002768FB /* PearlHangDetector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlHangDetector.m; sourceTree = ""; }; + DAB4FBDF202FF93D002768FB /* NSInvocation+Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSInvocation+Pearl.h"; sourceTree = ""; }; + DAB4FBE0202FF93D002768FB /* NSInvocation+Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSInvocation+Pearl.m"; sourceTree = ""; }; + DAB4FBE1202FF93D002768FB /* NSOrderedSetOrArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSOrderedSetOrArray.h; sourceTree = ""; }; + DAB4FBE2202FF93D002768FB /* NSOrderedSetOrArray.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSOrderedSetOrArray.m; sourceTree = ""; }; DAB7AE591F3D74E700C856B1 /* libjson-c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libjson-c.a"; path = "External/libjson-c/libjson-c-osx/lib/libjson-c.a"; sourceTree = ""; }; DAB7AE7B1F3D757B00C856B1 /* arraylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arraylist.h; sourceTree = ""; }; DAB7AE7C1F3D757B00C856B1 /* bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bits.h; sourceTree = ""; }; @@ -2152,6 +2162,12 @@ DAFE45D715039823003ABA7C /* Pearl */ = { isa = PBXGroup; children = ( + DAB4FBDF202FF93D002768FB /* NSInvocation+Pearl.h */, + DAB4FBE0202FF93D002768FB /* NSInvocation+Pearl.m */, + DAB4FBE1202FF93D002768FB /* NSOrderedSetOrArray.h */, + DAB4FBE2202FF93D002768FB /* NSOrderedSetOrArray.m */, + DAB4FBDD202FF93D002768FB /* PearlHangDetector.h */, + DAB4FBDE202FF93D002768FB /* PearlHangDetector.m */, DA8ED893192906920099B726 /* include */, 93D396D04E57792A54D437AC /* NSArray+Indexing.h */, 93D39067C0AFDC581794E2B8 /* NSArray+Indexing.m */, @@ -2178,8 +2194,6 @@ DAFE45DB15039823003ABA7C /* NSString+PearlNSArrayFormat.m */, DAFE45DC15039823003ABA7C /* NSString+PearlSEL.h */, DAFE45DD15039823003ABA7C /* NSString+PearlSEL.m */, - DA2CA4EC18D323D3007798F8 /* NSTimer+PearlBlock.h */, - DA2CA4EB18D323D3007798F8 /* NSTimer+PearlBlock.m */, DAFE45DE15039823003ABA7C /* Pearl.h */, DA30E9CD15722ECA00A68B4C /* Pearl.m */, DAFE45DF15039823003ABA7C /* PearlAbstractStrings.h */, @@ -2255,15 +2269,16 @@ buildActionMask = 2147483647; files = ( DA89D4EC1A51EABD00AC64D7 /* Pearl-Cocoa.h in Headers */, - DA2CA4F218D323D3007798F8 /* NSTimer+PearlBlock.h in Headers */, DAFE4A1315039824003ABA7C /* NSObject+PearlExport.h in Headers */, DAFE4A1515039824003ABA7C /* NSString+PearlNSArrayFormat.h in Headers */, DAFE4A1715039824003ABA7C /* NSString+PearlSEL.h in Headers */, DA3B8453190FC86F00246EEA /* NSManagedObject+Pearl.h in Headers */, DA8ED897192906920099B726 /* map-macro.h in Headers */, DAFE4A1915039824003ABA7C /* Pearl.h in Headers */, + DAB4FBE9202FF94C002768FB /* NSMutableSet+Pearl.h in Headers */, DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */, DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */, + DAB4FBE3202FF93E002768FB /* PearlHangDetector.h in Headers */, DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */, DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */, DA8ED896192906920099B726 /* PearlTween.h in Headers */, @@ -2271,13 +2286,16 @@ DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */, DA2CA4F018D323D3007798F8 /* NSArray+Pearl.h in Headers */, DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */, + DAB4FBE7202FF93E002768FB /* NSOrderedSetOrArray.h in Headers */, DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */, DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */, DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */, DAFE4A2F15039824003ABA7C /* PearlStringUtils.h in Headers */, DAFE4A3315039824003ABA7C /* Pearl-Crypto.h in Headers */, + DAB4FBEB202FF975002768FB /* PearlCryptUtils.h in Headers */, DAFE4A3615039824003ABA7C /* PearlKeyChain.h in Headers */, DA30E9D715723E6900A68B4C /* PearlLazy.h in Headers */, + DAB4FBE5202FF93E002768FB /* NSInvocation+Pearl.h in Headers */, DAADCC4719FAFFAD00987B1D /* NSNotificationCenter+PearlEasyCleanup.h in Headers */, DAFE4A63150399FF003ABA88 /* NSObject+PearlKVO.h in Headers */, DAFE4A63150399FF003ABA94 /* NSDateFormatter+RFC3339.h in Headers */, @@ -2712,8 +2730,6 @@ DA5E5CF81724A667003798D8 /* MPAlgorithmV1.m in Sources */, DA2686231EBFD7A40001E37E /* MPStoredSiteEntity+CoreDataClass.m in Sources */, DA2686221EBFD7A40001E37E /* MPSiteQuestionEntity+CoreDataProperties.m in Sources */, - DA4571201F572F3200D54152 /* PearlCryptUtils.m in Sources */, - DACBFCDF1C59B22E007EF90F /* NSMutableSet+Pearl.m in Sources */, DAB07CA01F7725D400CC6D43 /* aes.c in Sources */, DA2686241EBFD7A40001E37E /* MPStoredSiteEntity+CoreDataProperties.m in Sources */, DA6774311A4746AF004F356A /* mpw-util.c in Sources */, @@ -2786,6 +2802,7 @@ files = ( DAFE4A1415039824003ABA7C /* NSObject+PearlExport.m in Sources */, DAADCC4919FAFFAD00987B1D /* NSPersistentStore+PearlMigration.m in Sources */, + DAB4FBE8202FF93E002768FB /* NSOrderedSetOrArray.m in Sources */, DAFE4A1615039824003ABA7C /* NSString+PearlNSArrayFormat.m in Sources */, DAFE4A1815039824003ABA7C /* NSString+PearlSEL.m in Sources */, DA2CA4ED18D323D3007798F8 /* NSError+PearlFullDescription.m in Sources */, @@ -2793,6 +2810,7 @@ DAFE4A1F15039824003ABA7C /* PearlCodeUtils.m in Sources */, DAFE4A2115039824003ABA7C /* PearlConfig.m in Sources */, DAFE4A2315039824003ABA7C /* PearlDeviceUtils.m in Sources */, + DAB4FBE6202FF93E002768FB /* NSInvocation+Pearl.m in Sources */, DAFE4A2515039824003ABA7C /* PearlInfoPlist.m in Sources */, DAFE4A2715039824003ABA7C /* PearlLogger.m in Sources */, DA2C3D691BD9665B001137B3 /* PearlProfiler.m in Sources */, @@ -2803,12 +2821,14 @@ DA89D4ED1A51EABD00AC64D7 /* Pearl-Cocoa.m in Sources */, DAFE4A3715039824003ABA7C /* PearlKeyChain.m in Sources */, DA8ED895192906920099B726 /* PearlTween.m in Sources */, - DA2CA4F118D323D3007798F8 /* NSTimer+PearlBlock.m in Sources */, + DAB4FBE4202FF93E002768FB /* PearlHangDetector.m in Sources */, + DAB4FBEC202FF979002768FB /* PearlCryptUtils.m in Sources */, DA3B8452190FC86F00246EEA /* NSManagedObject+Pearl.m in Sources */, DA30E9D015722ECA00A68B4C /* Pearl.m in Sources */, DA30E9D215722EE500A68B4C /* Pearl-Crypto.m in Sources */, DA2CA4EF18D323D3007798F8 /* NSArray+Pearl.m in Sources */, DA30E9D815723E6900A68B4C /* PearlLazy.m in Sources */, + DAB4FBEA202FF951002768FB /* NSMutableSet+Pearl.m in Sources */, DAFE4A63150399FF003ABA86 /* NSObject+PearlKVO.m in Sources */, DAFE4A63150399FF003ABA92 /* NSDateFormatter+RFC3339.m in Sources */, 93D395F08A087F8A24689347 /* NSArray+Indexing.m in Sources */, @@ -2934,6 +2954,9 @@ "NDEBUG=1", "NS_BLOCK_ASSERTIONS=1", "CRASHLYTICS=1", + PEARL, + PEARL_COCOA, + PEARL_CRYPTO, ); GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; @@ -3276,6 +3299,10 @@ GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", + "CRASHLYTICS=1", + PEARL, + PEARL_COCOA, + PEARL_CRYPTO, ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; @@ -3370,6 +3397,9 @@ "NDEBUG=1", "NS_BLOCK_ASSERTIONS=1", "CRASHLYTICS=1", + PEARL, + PEARL_COCOA, + PEARL_CRYPTO, ); GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES; GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; diff --git a/platform-darwin/Scripts/build_libjson-c-ios b/platform-darwin/Scripts/build_libjson-c-ios index 28a5ee15..3647916b 100755 --- a/platform-darwin/Scripts/build_libjson-c-ios +++ b/platform-darwin/Scripts/build_libjson-c-ios @@ -6,6 +6,7 @@ hash autoreconf || { echo >&2 "Missing autoconf."; exit 1; } hash libtool || hash glibtool || { echo >&2 "Missing libtool."; exit 1; } cd "${BASH_SOURCE%/*}/../External/libjson-c" +[[ $1 = clean ]] && { [[ ! -e Makefile ]] || make -s distclean; exit; } [[ -e "${prefix=$PWD/libjson-c-ios}/lib/libjson-c.a" ]] && exit # Prepare diff --git a/platform-darwin/Scripts/build_libjson-c-osx b/platform-darwin/Scripts/build_libjson-c-osx index 2b6d013f..41bc1c02 100755 --- a/platform-darwin/Scripts/build_libjson-c-osx +++ b/platform-darwin/Scripts/build_libjson-c-osx @@ -6,6 +6,7 @@ hash autoreconf || { echo >&2 "Missing autoconf."; exit 1; } hash libtool || hash glibtool || { echo >&2 "Missing libtool."; exit 1; } cd "${BASH_SOURCE%/*}/../External/libjson-c" +[[ $1 = clean ]] && { [[ ! -e Makefile ]] || make -s distclean; exit; } [[ -e "${prefix=$PWD/libjson-c-osx}/lib/libjson-c.a" ]] && exit # Prepare diff --git a/platform-darwin/Scripts/build_libsodium-ios b/platform-darwin/Scripts/build_libsodium-ios index abd4b8f1..721acfde 100755 --- a/platform-darwin/Scripts/build_libsodium-ios +++ b/platform-darwin/Scripts/build_libsodium-ios @@ -6,6 +6,7 @@ hash autoreconf || { echo >&2 "Missing autoconf."; exit 1; } hash libtool || hash glibtool || { echo >&2 "Missing libtool."; exit 1; } cd "${BASH_SOURCE%/*}/../External/libsodium" +[[ $1 = clean ]] && { [[ ! -e Makefile ]] || make -s distclean; exit; } [[ -e "${prefix=$PWD/libsodium-ios}/lib/libsodium.a" ]] && exit # Prepare diff --git a/platform-darwin/Scripts/build_libsodium-osx b/platform-darwin/Scripts/build_libsodium-osx index 31b64fd9..93a718fe 100755 --- a/platform-darwin/Scripts/build_libsodium-osx +++ b/platform-darwin/Scripts/build_libsodium-osx @@ -6,6 +6,7 @@ hash autoreconf || { echo >&2 "Missing autoconf."; exit 1; } hash libtool || hash glibtool || { echo >&2 "Missing libtool."; exit 1; } cd "${BASH_SOURCE%/*}/../External/libsodium" +[[ $1 = clean ]] && { [[ ! -e Makefile ]] || make -s distclean; exit; } [[ -e "${prefix=$PWD/libsodium-osx}/lib/libsodium.a" ]] && exit # Inspired by libsodium/dist-build/osx.sh diff --git a/platform-darwin/Source/MPAppDelegate_Store.h b/platform-darwin/Source/MPAppDelegate_Store.h index cf1801b3..408cc6ff 100644 --- a/platform-darwin/Source/MPAppDelegate_Store.h +++ b/platform-darwin/Source/MPAppDelegate_Store.h @@ -27,7 +27,7 @@ + (BOOL)managedObjectContextForMainThreadPerformBlockAndWait:(void ( ^ )(NSManagedObjectContext *mainContext))mocBlock; + (BOOL)managedObjectContextPerformBlock:(void ( ^ )(NSManagedObjectContext *context))mocBlock; + (BOOL)managedObjectContextPerformBlockAndWait:(void ( ^ )(NSManagedObjectContext *context))mocBlock; -+ (id)managedObjectContextChanged:(void ( ^ )(NSDictionary *affectedObjects))changedBlock; +- (id)managedObjectContextChanged:(void ( ^ )(NSDictionary *affectedObjects))changedBlock; - (MPFixableResult)findAndFixInconsistenciesSaveInContext:(NSManagedObjectContext *)context; - (void)deleteAndResetStore; diff --git a/platform-darwin/Source/MPAppDelegate_Store.m b/platform-darwin/Source/MPAppDelegate_Store.m index 8f7f245e..8bd66942 100644 --- a/platform-darwin/Source/MPAppDelegate_Store.m +++ b/platform-darwin/Source/MPAppDelegate_Store.m @@ -133,12 +133,11 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted ); return YES; } -+ (id)managedObjectContextChanged:(void ( ^ )(NSDictionary *affectedObjects))changedBlock { +- (id)managedObjectContextChanged:(void ( ^ )(NSDictionary *affectedObjects))changedBlock { - NSManagedObjectContext *privateManagedObjectContextIfReady = [[self get] privateManagedObjectContextIfReady]; + NSManagedObjectContext *privateManagedObjectContextIfReady = [self privateManagedObjectContextIfReady]; if (!privateManagedObjectContextIfReady) return nil; - return PearlAddNotificationObserver( NSManagedObjectContextObjectsDidChangeNotification, privateManagedObjectContextIfReady, nil, ^(id host, NSNotification *note) { NSMutableDictionary *affectedObjects = [NSMutableDictionary new]; @@ -217,7 +216,7 @@ PearlAssociatedObjectProperty( NSNumber*, StoreCorrupted, storeCorrupted ); self.mainManagedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; self.mainManagedObjectContext.parentContext = self.privateManagedObjectContext; - if ([self.mainManagedObjectContext respondsToSelector:@selector( automaticallyMergesChangesFromParent )]) // iOS 10+ + if (@available(iOS 10.0, *)) self.mainManagedObjectContext.automaticallyMergesChangesFromParent = YES; else // When privateManagedObjectContext is saved, import the changes into mainManagedObjectContext. diff --git a/platform-darwin/Source/Pearl/Pearl-Prefix.pch b/platform-darwin/Source/Pearl/Pearl-Prefix.pch deleted file mode 100644 index ac530244..00000000 --- a/platform-darwin/Source/Pearl/Pearl-Prefix.pch +++ /dev/null @@ -1,25 +0,0 @@ -// -// Prefix header for all source files of the 'Pearl' target in the 'Pearl' project -// - -#ifdef __OBJC__ -#import - -#define PEARL_WITH_MESSAGEUI - -#define PEARL -#define PEARL_CRYPTO -#if TARGET_OS_IOS -#define PEARL_UIKIT -#elif TARGET_OS_OSX -#define PEARL_COCOA -#endif - -#import "Pearl.h" -#import "Pearl-Crypto.h" -#if TARGET_OS_IOS -#import "Pearl-UIKit.h" -#elif TARGET_OS_OSX -#import "Pearl-Cocoa.h" -#endif -#endif diff --git a/platform-darwin/Source/iOS/MPAnswersViewController.m b/platform-darwin/Source/iOS/MPAnswersViewController.m index 59981825..0b3ca98e 100644 --- a/platform-darwin/Source/iOS/MPAnswersViewController.m +++ b/platform-darwin/Source/iOS/MPAnswersViewController.m @@ -225,7 +225,7 @@ - (void)copyAnswer:(NSString *)answer { UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - if ([pasteboard respondsToSelector:@selector( setItems:options: )]) { + if (@available(iOS 10.0, *)) { [pasteboard setItems:@[ @{ UIPasteboardTypeAutomatic: answer } ] options:@{ UIPasteboardOptionLocalOnly : @NO, diff --git a/platform-darwin/Source/iOS/MPCoachmarkViewController.m b/platform-darwin/Source/iOS/MPCoachmarkViewController.m index a37d0c7d..73d1259d 100644 --- a/platform-darwin/Source/iOS/MPCoachmarkViewController.m +++ b/platform-darwin/Source/iOS/MPCoachmarkViewController.m @@ -55,20 +55,21 @@ [self.views[self.nextView++] setVisible:YES]; }]; - self.viewTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 block:^(NSTimer *timer) { - self.viewProgress.progress += 1.0f / 50; - - if (self.viewProgress.progress == 1) - [UIView animateWithDuration:0.3f animations:^{ - self.viewProgress.progress = 0; - [self.views[self.nextView++] setVisible:YES]; - - if (self.nextView >= [self.views count]) { - [self.viewTimer invalidate]; - self.viewProgress.visible = NO; - } - }]; - } repeats:YES]; + if (@available(iOS 10.0, *)) + self.viewTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer *timer) { + self.viewProgress.progress += 1.0f / 50; + + if (self.viewProgress.progress == 1) + [UIView animateWithDuration:0.3f animations:^{ + self.viewProgress.progress = 0; + [self.views[self.nextView++] setVisible:YES]; + + if (self.nextView >= [self.views count]) { + [self.viewTimer invalidate]; + self.viewProgress.visible = NO; + } + }]; + }]; } - (UIStatusBarStyle)preferredStatusBarStyle { diff --git a/platform-darwin/Source/iOS/MPEmergencyViewController.m b/platform-darwin/Source/iOS/MPEmergencyViewController.m index 66da1fdb..b4ce327d 100644 --- a/platform-darwin/Source/iOS/MPEmergencyViewController.m +++ b/platform-darwin/Source/iOS/MPEmergencyViewController.m @@ -92,7 +92,7 @@ return; UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - if ([pasteboard respondsToSelector:@selector( setItems:options: )]) + if (@available(iOS 10.0, *)) [pasteboard setItems:@[ @{ UIPasteboardTypeAutomatic: sitePassword } ] options:@{ UIPasteboardOptionLocalOnly : @NO, diff --git a/platform-darwin/Source/iOS/MPSiteCell.m b/platform-darwin/Source/iOS/MPSiteCell.m index b6687fb2..b0d690dd 100644 --- a/platform-darwin/Source/iOS/MPSiteCell.m +++ b/platform-darwin/Source/iOS/MPSiteCell.m @@ -677,7 +677,7 @@ [self.window endEditing:YES]; UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - if ([pasteboard respondsToSelector:@selector( setItems:options: )]) { + if (@available(iOS 10.0, *)) { [pasteboard setItems:@[ @{ UIPasteboardTypeAutomatic: password } ] options:@{ UIPasteboardOptionLocalOnly : @NO, diff --git a/platform-darwin/Source/iOS/MPSitesViewController.m b/platform-darwin/Source/iOS/MPSitesViewController.m index eb85d524..02767caf 100644 --- a/platform-darwin/Source/iOS/MPSitesViewController.m +++ b/platform-darwin/Source/iOS/MPSitesViewController.m @@ -83,7 +83,7 @@ typedef NS_OPTIONS( NSUInteger, MPPasswordsTips ) { NSURL *pasteboardURL = nil; UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; - if ([pasteboard respondsToSelector:@selector( hasURLs )]) + if (@available(iOS 10.0, *)) pasteboardURL = pasteboard.hasURLs? pasteboard.URL: nil; else pasteboardURL = [NSURL URLWithString:pasteboard.string]; @@ -352,7 +352,7 @@ typedef NS_OPTIONS( NSUInteger, MPPasswordsTips ) { } ); } ); - [MPiOSAppDelegate managedObjectContextChanged:^(NSDictionary *affectedObjects) { + [[MPiOSAppDelegate get] managedObjectContextChanged:^(NSDictionary *affectedObjects) { [MPiOSAppDelegate managedObjectContextForMainThreadPerformBlock:^(NSManagedObjectContext *mainContext) { // TODO: either move this into the app delegate or remove the duplicate signOutAnimated: call from the app delegate. if (![[MPiOSAppDelegate get] activeUserInContext:mainContext]) diff --git a/platform-darwin/Source/iOS/MPUsersViewController.m b/platform-darwin/Source/iOS/MPUsersViewController.m index 93e93e6f..1f66a530 100644 --- a/platform-darwin/Source/iOS/MPUsersViewController.m +++ b/platform-darwin/Source/iOS/MPUsersViewController.m @@ -697,7 +697,7 @@ referenceSizeForFooterInSection:(NSInteger)section { } ); if ((self.contextChangedObserver - = [MPiOSAppDelegate managedObjectContextChanged:^(NSDictionary *affectedObjects) { + = [[MPiOSAppDelegate get] managedObjectContextChanged:^(NSDictionary *affectedObjects) { if ([[[affectedObjects allKeys] filteredArrayUsingPredicate: [NSPredicate predicateWithBlock:^BOOL(NSManagedObjectID *objectID, NSDictionary *bindings) { return [objectID.entity.name isEqualToString:NSStringFromClass( [MPUserEntity class] )];