diff --git a/External/facebook-ios-sdk b/External/facebook-ios-sdk index 68253505..2a030e79 160000 --- a/External/facebook-ios-sdk +++ b/External/facebook-ios-sdk @@ -1 +1 @@ -Subproject commit 682535050207c771706823cbf0fc31a206b12956 +Subproject commit 2a030e795aed343e7614e149a5ebdfa78b223a72 diff --git a/MasterPassword-Mac.xcodeproj/project.pbxproj b/MasterPassword-Mac.xcodeproj/project.pbxproj index 2b2b83ad..e1b8f22b 100644 --- a/MasterPassword-Mac.xcodeproj/project.pbxproj +++ b/MasterPassword-Mac.xcodeproj/project.pbxproj @@ -7,107 +7,66 @@ objects = { /* Begin PBXBuildFile section */ + DA34F0CC163B8C31006FFC95 /* NSArray+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F08D163B8C31006FFC95 /* NSArray+Indexing.h */; }; + DA34F0CD163B8C31006FFC95 /* NSArray+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F08E163B8C31006FFC95 /* NSArray+Indexing.m */; }; + DA34F0CE163B8C31006FFC95 /* NSBundle+PearlMutableInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F08F163B8C31006FFC95 /* NSBundle+PearlMutableInfo.h */; }; + DA34F0CF163B8C31006FFC95 /* NSBundle+PearlMutableInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F090163B8C31006FFC95 /* NSBundle+PearlMutableInfo.m */; }; + DA34F0D0163B8C31006FFC95 /* NSDateFormatter+RFC3339.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F091163B8C31006FFC95 /* NSDateFormatter+RFC3339.h */; }; + DA34F0D1163B8C31006FFC95 /* NSDateFormatter+RFC3339.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F092163B8C31006FFC95 /* NSDateFormatter+RFC3339.m */; }; + DA34F0D2163B8C31006FFC95 /* NSDictionary+Indexing.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F093163B8C31006FFC95 /* NSDictionary+Indexing.h */; }; + DA34F0D3163B8C31006FFC95 /* NSDictionary+Indexing.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F094163B8C31006FFC95 /* NSDictionary+Indexing.m */; }; + DA34F0D4163B8C31006FFC95 /* NSObject+PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F095163B8C31006FFC95 /* NSObject+PearlExport.h */; }; + DA34F0D5163B8C31006FFC95 /* NSObject+PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F096163B8C31006FFC95 /* NSObject+PearlExport.m */; }; + DA34F0D6163B8C31006FFC95 /* NSObject+PearlKVO.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F097163B8C31006FFC95 /* NSObject+PearlKVO.h */; }; + DA34F0D7163B8C31006FFC95 /* NSObject+PearlKVO.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F098163B8C31006FFC95 /* NSObject+PearlKVO.m */; }; + DA34F0D8163B8C31006FFC95 /* NSString+PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F099163B8C31006FFC95 /* NSString+PearlNSArrayFormat.h */; }; + DA34F0D9163B8C31006FFC95 /* NSString+PearlNSArrayFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F09A163B8C31006FFC95 /* NSString+PearlNSArrayFormat.m */; }; + DA34F0DA163B8C31006FFC95 /* NSString+PearlSEL.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F09B163B8C31006FFC95 /* NSString+PearlSEL.h */; }; + DA34F0DB163B8C31006FFC95 /* NSString+PearlSEL.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F09C163B8C31006FFC95 /* NSString+PearlSEL.m */; }; + DA34F0DC163B8C31006FFC95 /* Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F09D163B8C31006FFC95 /* Pearl.h */; }; + DA34F0DD163B8C31006FFC95 /* Pearl.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F09E163B8C31006FFC95 /* Pearl.m */; }; + DA34F0DE163B8C31006FFC95 /* PearlAbstractStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F09F163B8C31006FFC95 /* PearlAbstractStrings.h */; }; + DA34F0DF163B8C31006FFC95 /* PearlAbstractStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0A0163B8C31006FFC95 /* PearlAbstractStrings.m */; }; + DA34F0E0163B8C31006FFC95 /* PearlCodeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0A1163B8C31006FFC95 /* PearlCodeUtils.h */; }; + DA34F0E1163B8C31006FFC95 /* PearlCodeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0A2163B8C31006FFC95 /* PearlCodeUtils.m */; }; + DA34F0E2163B8C31006FFC95 /* PearlConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0A3163B8C31006FFC95 /* PearlConfig.h */; }; + DA34F0E3163B8C31006FFC95 /* PearlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0A4163B8C31006FFC95 /* PearlConfig.m */; }; + DA34F0E4163B8C31006FFC95 /* PearlDeviceUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0A5163B8C31006FFC95 /* PearlDeviceUtils.h */; }; + DA34F0E5163B8C31006FFC95 /* PearlDeviceUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0A6163B8C31006FFC95 /* PearlDeviceUtils.m */; }; + DA34F0E6163B8C31006FFC95 /* PearlInfoPlist.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0A7163B8C31006FFC95 /* PearlInfoPlist.h */; }; + DA34F0E7163B8C31006FFC95 /* PearlInfoPlist.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0A8163B8C31006FFC95 /* PearlInfoPlist.m */; }; + DA34F0E8163B8C31006FFC95 /* PearlLazy.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0A9163B8C31006FFC95 /* PearlLazy.h */; }; + DA34F0E9163B8C31006FFC95 /* PearlLazy.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0AA163B8C31006FFC95 /* PearlLazy.m */; }; + DA34F0EA163B8C31006FFC95 /* PearlLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0AB163B8C31006FFC95 /* PearlLogger.h */; }; + DA34F0EB163B8C31006FFC95 /* PearlLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0AC163B8C31006FFC95 /* PearlLogger.m */; }; + DA34F0EC163B8C31006FFC95 /* PearlMathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0AD163B8C31006FFC95 /* PearlMathUtils.h */; }; + DA34F0ED163B8C31006FFC95 /* PearlMathUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0AE163B8C31006FFC95 /* PearlMathUtils.m */; }; + DA34F0EE163B8C31006FFC95 /* PearlObjectUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0AF163B8C31006FFC95 /* PearlObjectUtils.h */; }; + DA34F0EF163B8C31006FFC95 /* PearlObjectUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0B0163B8C31006FFC95 /* PearlObjectUtils.m */; }; + DA34F0F0163B8C31006FFC95 /* PearlQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0B1163B8C31006FFC95 /* PearlQueue.h */; }; + DA34F0F1163B8C31006FFC95 /* PearlQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0B2163B8C31006FFC95 /* PearlQueue.m */; }; + DA34F0F2163B8C31006FFC95 /* PearlResettable.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0B3163B8C31006FFC95 /* PearlResettable.h */; }; + DA34F0F3163B8C31006FFC95 /* PearlStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0B4163B8C31006FFC95 /* PearlStrings.h */; }; + DA34F0F4163B8C31006FFC95 /* PearlStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0B5163B8C31006FFC95 /* PearlStrings.m */; }; + DA34F0F5163B8C31006FFC95 /* PearlStringUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0B6163B8C31006FFC95 /* PearlStringUtils.h */; }; + DA34F0F6163B8C31006FFC95 /* PearlStringUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0B7163B8C31006FFC95 /* PearlStringUtils.m */; }; + DA34F0FA163B8C31006FFC95 /* libscryptenc-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA34F0C0163B8C31006FFC95 /* libscryptenc-osx.a */; }; + DA34F0FB163B8C31006FFC95 /* Pearl-Crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0C1163B8C31006FFC95 /* Pearl-Crypto.h */; }; + DA34F0FC163B8C31006FFC95 /* Pearl-Crypto.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0C2163B8C31006FFC95 /* Pearl-Crypto.m */; }; + DA34F0FD163B8C31006FFC95 /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0C3163B8C31006FFC95 /* PearlCryptUtils.h */; }; + DA34F0FE163B8C31006FFC95 /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0C4163B8C31006FFC95 /* PearlCryptUtils.m */; }; + DA34F0FF163B8C31006FFC95 /* PearlKeyChain.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0C5163B8C31006FFC95 /* PearlKeyChain.h */; }; + DA34F100163B8C31006FFC95 /* PearlKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0C6163B8C31006FFC95 /* PearlKeyChain.m */; }; + DA34F101163B8C31006FFC95 /* PearlRSAKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0C7163B8C31006FFC95 /* PearlRSAKey.h */; }; + DA34F102163B8C31006FFC95 /* PearlRSAKey.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0C8163B8C31006FFC95 /* PearlRSAKey.m */; }; + DA34F103163B8C31006FFC95 /* PearlSCrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F0C9163B8C31006FFC95 /* PearlSCrypt.h */; }; + DA34F104163B8C31006FFC95 /* PearlSCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F0CA163B8C31006FFC95 /* PearlSCrypt.m */; }; + DA34F11C163B8EA3006FFC95 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB8D98C150374AD00CED3BC /* Cocoa.framework */; }; + DA34F145163B8EDD006FFC95 /* JRSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = DA34F127163B8EDD006FFC95 /* JRSwizzle.h */; }; + DA34F146163B8EDD006FFC95 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = DA34F128163B8EDD006FFC95 /* JRSwizzle.m */; }; DA44255715546C580052177D /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA44255615546C570052177D /* Carbon.framework */; }; DA44255A15548F2C0052177D /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = DA44255915548F2C0052177D /* Icon.icns */; }; DA44255C15548F980052177D /* libscryptenc-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA44255B15548F970052177D /* libscryptenc-osx.a */; }; - DA600BEB150420AC008E9AB6 /* MPPasswordWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA600BE9150420AC008E9AB6 /* MPPasswordWindowController.m */; }; - DA600BEC150420AC008E9AB6 /* MPPasswordWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DA600BEA150420AC008E9AB6 /* MPPasswordWindowController.xib */; }; - DA600C2D150565FC008E9AB6 /* MPConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA600C2A150565FC008E9AB6 /* MPConfig.m */; }; - DA600C2E150565FC008E9AB6 /* MPAppDelegate_Key.m in Sources */ = {isa = PBXBuildFile; fileRef = DA600C2B150565FC008E9AB6 /* MPAppDelegate_Key.m */; }; - DA600C5615057631008E9AB6 /* Pearl.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAB8DA061503972100CED3BC /* Pearl.strings */; }; - DA600EE415057F10008E9AB6 /* ui_background.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C5B15057F0F008E9AB6 /* ui_background.png */; }; - DA600EE515057F10008E9AB6 /* ui_background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C5C15057F0F008E9AB6 /* ui_background@2x.png */; }; - DA600EE615057F10008E9AB6 /* ui_box_checked.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C5D15057F0F008E9AB6 /* ui_box_checked.png */; }; - DA600EE715057F10008E9AB6 /* ui_box_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C5E15057F0F008E9AB6 /* ui_box_checked@2x.png */; }; - DA600EE815057F10008E9AB6 /* ui_box_empty.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C5F15057F0F008E9AB6 /* ui_box_empty.png */; }; - DA600EE915057F10008E9AB6 /* ui_box_empty@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6015057F0F008E9AB6 /* ui_box_empty@2x.png */; }; - DA600EEA15057F10008E9AB6 /* ui_box_filled.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6115057F0F008E9AB6 /* ui_box_filled.png */; }; - DA600EEB15057F10008E9AB6 /* ui_box_filled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6215057F0F008E9AB6 /* ui_box_filled@2x.png */; }; - DA600EEC15057F10008E9AB6 /* ui_button_green_large.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6315057F0F008E9AB6 /* ui_button_green_large.png */; }; - DA600EED15057F10008E9AB6 /* ui_button_green_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6415057F0F008E9AB6 /* ui_button_green_large@2x.png */; }; - DA600EEE15057F10008E9AB6 /* ui_button_green_small.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6515057F0F008E9AB6 /* ui_button_green_small.png */; }; - DA600EEF15057F10008E9AB6 /* ui_button_green_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6615057F0F008E9AB6 /* ui_button_green_small@2x.png */; }; - DA600EF015057F10008E9AB6 /* ui_button_red_large.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6715057F0F008E9AB6 /* ui_button_red_large.png */; }; - DA600EF115057F10008E9AB6 /* ui_button_red_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6815057F0F008E9AB6 /* ui_button_red_large@2x.png */; }; - DA600EF215057F10008E9AB6 /* ui_button_red_small.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6915057F0F008E9AB6 /* ui_button_red_small.png */; }; - DA600EF315057F10008E9AB6 /* ui_button_red_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6A15057F0F008E9AB6 /* ui_button_red_small@2x.png */; }; - DA600EF415057F10008E9AB6 /* ui_button_standard_large.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6B15057F0F008E9AB6 /* ui_button_standard_large.png */; }; - DA600EF515057F10008E9AB6 /* ui_button_standard_large@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6C15057F0F008E9AB6 /* ui_button_standard_large@2x.png */; }; - DA600EF615057F10008E9AB6 /* ui_button_standard_small.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6D15057F0F008E9AB6 /* ui_button_standard_small.png */; }; - DA600EF715057F10008E9AB6 /* ui_button_standard_small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6E15057F0F008E9AB6 /* ui_button_standard_small@2x.png */; }; - DA600EF815057F10008E9AB6 /* ui_dropdown.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C6F15057F0F008E9AB6 /* ui_dropdown.png */; }; - DA600EF915057F10008E9AB6 /* ui_dropdown@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7015057F0F008E9AB6 /* ui_dropdown@2x.png */; }; - DA600EFA15057F10008E9AB6 /* ui_list_arrow.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7115057F0F008E9AB6 /* ui_list_arrow.png */; }; - DA600EFB15057F10008E9AB6 /* ui_list_arrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7215057F0F008E9AB6 /* ui_list_arrow@2x.png */; }; - DA600EFC15057F10008E9AB6 /* ui_list_arrow_active.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7315057F0F008E9AB6 /* ui_list_arrow_active.png */; }; - DA600EFD15057F10008E9AB6 /* ui_list_arrow_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7415057F0F008E9AB6 /* ui_list_arrow_active@2x.png */; }; - DA600EFE15057F10008E9AB6 /* ui_list_first.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7515057F0F008E9AB6 /* ui_list_first.png */; }; - DA600EFF15057F10008E9AB6 /* ui_list_first@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7615057F0F008E9AB6 /* ui_list_first@2x.png */; }; - DA600F0015057F10008E9AB6 /* ui_list_last.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7715057F0F008E9AB6 /* ui_list_last.png */; }; - DA600F0115057F10008E9AB6 /* ui_list_last@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7815057F0F008E9AB6 /* ui_list_last@2x.png */; }; - DA600F0215057F10008E9AB6 /* ui_list_middle.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7915057F0F008E9AB6 /* ui_list_middle.png */; }; - DA600F0315057F10008E9AB6 /* ui_list_middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7A15057F0F008E9AB6 /* ui_list_middle@2x.png */; }; - DA600F0415057F10008E9AB6 /* ui_navbar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7B15057F0F008E9AB6 /* ui_navbar@2x.png */; }; - DA600F0515057F10008E9AB6 /* ui_navbar_back.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7C15057F0F008E9AB6 /* ui_navbar_back.png */; }; - DA600F0615057F10008E9AB6 /* ui_navbar_back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7D15057F0F008E9AB6 /* ui_navbar_back@2x.png */; }; - DA600F0715057F10008E9AB6 /* ui_navbar_button.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7E15057F0F008E9AB6 /* ui_navbar_button.png */; }; - DA600F0815057F10008E9AB6 /* ui_navbar_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C7F15057F0F008E9AB6 /* ui_navbar_button@2x.png */; }; - DA600F0915057F10008E9AB6 /* ui_navbar_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8015057F0F008E9AB6 /* ui_navbar_container.png */; }; - DA600F0A15057F10008E9AB6 /* ui_navbar_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8115057F0F008E9AB6 /* ui_navbar_container@2x.png */; }; - DA600F0B15057F10008E9AB6 /* ui_panel_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8215057F0F008E9AB6 /* ui_panel_container.png */; }; - DA600F0C15057F10008E9AB6 /* ui_panel_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8315057F0F008E9AB6 /* ui_panel_container@2x.png */; }; - DA600F0D15057F10008E9AB6 /* ui_panel_display.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8415057F0F008E9AB6 /* ui_panel_display.png */; }; - DA600F0E15057F10008E9AB6 /* ui_panel_display@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8515057F0F008E9AB6 /* ui_panel_display@2x.png */; }; - DA600F0F15057F10008E9AB6 /* ui_progress_bar_label-in_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8615057F0F008E9AB6 /* ui_progress_bar_label-in_container.png */; }; - DA600F1015057F10008E9AB6 /* ui_progress_bar_label-in_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8715057F0F008E9AB6 /* ui_progress_bar_label-in_container@2x.png */; }; - DA600F1115057F10008E9AB6 /* ui_progress_bar_label-in_fill.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8815057F0F008E9AB6 /* ui_progress_bar_label-in_fill.png */; }; - DA600F1215057F10008E9AB6 /* ui_progress_bar_label-in_fill@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8915057F0F008E9AB6 /* ui_progress_bar_label-in_fill@2x.png */; }; - DA600F1315057F10008E9AB6 /* ui_progress_bar_label-out_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8A15057F0F008E9AB6 /* ui_progress_bar_label-out_container.png */; }; - DA600F1415057F10008E9AB6 /* ui_progress_bar_label-out_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8B15057F0F008E9AB6 /* ui_progress_bar_label-out_container@2x.png */; }; - DA600F1515057F10008E9AB6 /* ui_progress_bar_label-out_fill.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8C15057F0F008E9AB6 /* ui_progress_bar_label-out_fill.png */; }; - DA600F1615057F10008E9AB6 /* ui_progress_bar_label-out_fill@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8D15057F0F008E9AB6 /* ui_progress_bar_label-out_fill@2x.png */; }; - DA600F1715057F10008E9AB6 /* ui_progress_bar_unlabelled_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8E15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container.png */; }; - DA600F1815057F10008E9AB6 /* ui_progress_bar_unlabelled_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C8F15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container@2x.png */; }; - DA600F1915057F10008E9AB6 /* ui_progress_bar_unlabelled_fill.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9015057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill.png */; }; - DA600F1A15057F10008E9AB6 /* ui_progress_bar_unlabelled_fill@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9115057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill@2x.png */; }; - DA600F1B15057F10008E9AB6 /* ui_progress_unlabelled_marks.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9215057F0F008E9AB6 /* ui_progress_unlabelled_marks.png */; }; - DA600F1C15057F10008E9AB6 /* ui_progress_unlabelled_marks@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9315057F0F008E9AB6 /* ui_progress_unlabelled_marks@2x.png */; }; - DA600F1D15057F10008E9AB6 /* ui_slider-knob_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9415057F0F008E9AB6 /* ui_slider-knob_container.png */; }; - DA600F1E15057F10008E9AB6 /* ui_slider-knob_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9515057F0F008E9AB6 /* ui_slider-knob_container@2x.png */; }; - DA600F1F15057F10008E9AB6 /* ui_slider-knob_fill_dark.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9615057F0F008E9AB6 /* ui_slider-knob_fill_dark.png */; }; - DA600F2015057F10008E9AB6 /* ui_slider-knob_fill_dark@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9715057F0F008E9AB6 /* ui_slider-knob_fill_dark@2x.png */; }; - DA600F2115057F10008E9AB6 /* ui_slider-knob_fill_light.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9815057F0F008E9AB6 /* ui_slider-knob_fill_light.png */; }; - DA600F2215057F10008E9AB6 /* ui_slider-knob_fill_light@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9915057F0F008E9AB6 /* ui_slider-knob_fill_light@2x.png */; }; - DA600F2315057F10008E9AB6 /* ui_slider-stops_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9A15057F0F008E9AB6 /* ui_slider-stops_container.png */; }; - DA600F2415057F10008E9AB6 /* ui_slider-stops_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9B15057F0F008E9AB6 /* ui_slider-stops_container@2x.png */; }; - DA600F2515057F10008E9AB6 /* ui_slider-stops_fill.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9C15057F0F008E9AB6 /* ui_slider-stops_fill.png */; }; - DA600F2615057F10008E9AB6 /* ui_slider-stops_fill@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9D15057F0F008E9AB6 /* ui_slider-stops_fill@2x.png */; }; - DA600F2715057F10008E9AB6 /* ui_spinner.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9E15057F0F008E9AB6 /* ui_spinner.png */; }; - DA600F2815057F10008E9AB6 /* ui_spinner@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600C9F15057F0F008E9AB6 /* ui_spinner@2x.png */; }; - DA600F2915057F10008E9AB6 /* ui_switch_off.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA015057F0F008E9AB6 /* ui_switch_off.png */; }; - DA600F2A15057F10008E9AB6 /* ui_switch_off@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA115057F0F008E9AB6 /* ui_switch_off@2x.png */; }; - DA600F2B15057F10008E9AB6 /* ui_switch_on.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA215057F0F008E9AB6 /* ui_switch_on.png */; }; - DA600F2C15057F10008E9AB6 /* ui_switch_on@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA315057F0F008E9AB6 /* ui_switch_on@2x.png */; }; - DA600F2D15057F10008E9AB6 /* ui_tabbar_active.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA415057F0F008E9AB6 /* ui_tabbar_active.png */; }; - DA600F2E15057F10008E9AB6 /* ui_tabbar_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA515057F0F008E9AB6 /* ui_tabbar_active@2x.png */; }; - DA600F2F15057F10008E9AB6 /* ui_tabbar_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA615057F0F008E9AB6 /* ui_tabbar_container.png */; }; - DA600F3015057F10008E9AB6 /* ui_tabbar_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA715057F0F008E9AB6 /* ui_tabbar_container@2x.png */; }; - DA600F3115057F10008E9AB6 /* ui_textfield.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA815057F0F008E9AB6 /* ui_textfield.png */; }; - DA600F3215057F10008E9AB6 /* ui_textfield@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CA915057F0F008E9AB6 /* ui_textfield@2x.png */; }; - DA600F3315057F10008E9AB6 /* ui_toolbar_container.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAA15057F0F008E9AB6 /* ui_toolbar_container.png */; }; - DA600F3415057F10008E9AB6 /* ui_toolbar_container@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAB15057F0F008E9AB6 /* ui_toolbar_container@2x.png */; }; - DA600F3515057F10008E9AB6 /* ui_toolbar_tab_first.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAC15057F0F008E9AB6 /* ui_toolbar_tab_first.png */; }; - DA600F3615057F10008E9AB6 /* ui_toolbar_tab_first@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAD15057F0F008E9AB6 /* ui_toolbar_tab_first@2x.png */; }; - DA600F3715057F10008E9AB6 /* ui_toolbar_tab_first_active.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAE15057F0F008E9AB6 /* ui_toolbar_tab_first_active.png */; }; - DA600F3815057F10008E9AB6 /* ui_toolbar_tab_first_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CAF15057F0F008E9AB6 /* ui_toolbar_tab_first_active@2x.png */; }; - DA600F3915057F10008E9AB6 /* ui_toolbar_tab_last.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB015057F0F008E9AB6 /* ui_toolbar_tab_last.png */; }; - DA600F3A15057F10008E9AB6 /* ui_toolbar_tab_last@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB115057F0F008E9AB6 /* ui_toolbar_tab_last@2x.png */; }; - DA600F3B15057F10008E9AB6 /* ui_toolbar_tab_last_active.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB215057F0F008E9AB6 /* ui_toolbar_tab_last_active.png */; }; - DA600F3C15057F10008E9AB6 /* ui_toolbar_tab_last_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB315057F0F008E9AB6 /* ui_toolbar_tab_last_active@2x.png */; }; - DA600F3D15057F10008E9AB6 /* ui_toolbar_tab_middle.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB415057F0F008E9AB6 /* ui_toolbar_tab_middle.png */; }; - DA600F3E15057F10008E9AB6 /* ui_toolbar_tab_middle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB515057F0F008E9AB6 /* ui_toolbar_tab_middle@2x.png */; }; - DA600F3F15057F10008E9AB6 /* ui_toolbar_tab_middle_active.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB615057F0F008E9AB6 /* ui_toolbar_tab_middle_active.png */; }; - DA600F4015057F10008E9AB6 /* ui_toolbar_tab_middle_active@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB715057F0F008E9AB6 /* ui_toolbar_tab_middle_active@2x.png */; }; DA600F4115057F10008E9AB6 /* background.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CB915057F0F008E9AB6 /* background.png */; }; DA600F4315057F10008E9AB6 /* background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600CBB15057F0F008E9AB6 /* background@2x.png */; }; DA600F4415057F10008E9AB6 /* ciphers.plist in Resources */ = {isa = PBXBuildFile; fileRef = DA600CBC15057F0F008E9AB6 /* ciphers.plist */; }; @@ -654,64 +613,38 @@ DA60116515057F10008E9AB6 /* tip_location_wood@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA600EE315057F10008E9AB6 /* tip_location_wood@2x.png */; }; DA60116715057FDD008E9AB6 /* iTunesArtwork-Rounded.png in Resources */ = {isa = PBXBuildFile; fileRef = DA60116615057FDD008E9AB6 /* iTunesArtwork-Rounded.png */; }; DA60116C15060F28008E9AB6 /* Pearl.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = DAB8D9D81503940100CED3BC /* Pearl.dylib */; }; - DA79A9E3155821BB00BAA07A /* MPAppDelegate_Shared.m in Sources */ = {isa = PBXBuildFile; fileRef = DA79A9E0155821BB00BAA07A /* MPAppDelegate_Shared.m */; }; - DA79A9E4155821BB00BAA07A /* MPAppDelegate_Store.m in Sources */ = {isa = PBXBuildFile; fileRef = DA79A9E2155821BB00BAA07A /* MPAppDelegate_Store.m */; }; + DA6701B61640515700B61001 /* MPMacConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6701B51640515700B61001 /* MPMacConfig.m */; }; DA79A9EC155821E500BAA07A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA79A9EB155821E500BAA07A /* Foundation.framework */; }; DA79AA201558221200BAA07A /* UbiquityStoreManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DA79AA111558221200BAA07A /* UbiquityStoreManager.h */; }; DA79AA211558221200BAA07A /* UbiquityStoreManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DA79AA121558221200BAA07A /* UbiquityStoreManager.m */; }; DA79AA2415582F3900BAA07A /* libiCloudStoreManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA79A9EA155821E500BAA07A /* libiCloudStoreManager.a */; }; DAB8D98D150374AD00CED3BC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB8D98C150374AD00CED3BC /* Cocoa.framework */; }; - DAB8D9C8150375C800CED3BC /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9B2150375C800CED3BC /* MasterPassword.xcdatamodeld */; }; - DAB8D9C9150375C800CED3BC /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DAB8D9B5150375C800CED3BC /* Credits.rtf */; }; - DAB8D9CA150375C800CED3BC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAB8D9B7150375C800CED3BC /* InfoPlist.strings */; }; - DAB8D9CB150375C800CED3BC /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAB8D9B9150375C800CED3BC /* MainMenu.xib */; }; - DAB8D9CC150375C800CED3BC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9BB150375C800CED3BC /* main.m */; }; - DAB8D9CE150375C800CED3BC /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9BF150375C800CED3BC /* MPAppDelegate.m */; }; - DAB8D9CF150375C800CED3BC /* MPElementStoredEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9C0150375C800CED3BC /* MPElementStoredEntity.m */; }; - DAB8D9D0150375C800CED3BC /* MPTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9C1150375C800CED3BC /* MPTypes.m */; }; - DAB8D9D1150375C800CED3BC /* MPElementEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9C3150375C800CED3BC /* MPElementEntity.m */; }; - DAB8D9D2150375C800CED3BC /* MPElementGeneratedEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9C6150375C800CED3BC /* MPElementGeneratedEntity.m */; }; DAB8D9D91503940100CED3BC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB8D98C150374AD00CED3BC /* Cocoa.framework */; }; - DAB8DA131503972100CED3BC /* NSObject_PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9E41503972100CED3BC /* NSObject_PearlExport.h */; }; - DAB8DA141503972100CED3BC /* NSObject_PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9E51503972100CED3BC /* NSObject_PearlExport.m */; }; - DAB8DA151503972100CED3BC /* NSString_PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9E61503972100CED3BC /* NSString_PearlNSArrayFormat.h */; }; - DAB8DA161503972100CED3BC /* NSString_PearlNSArrayFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9E71503972100CED3BC /* NSString_PearlNSArrayFormat.m */; }; - DAB8DA171503972100CED3BC /* NSString_PearlSEL.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9E81503972100CED3BC /* NSString_PearlSEL.h */; }; - DAB8DA181503972100CED3BC /* NSString_PearlSEL.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9E91503972100CED3BC /* NSString_PearlSEL.m */; }; - DAB8DA191503972100CED3BC /* Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9EA1503972100CED3BC /* Pearl.h */; }; - DAB8DA1A1503972100CED3BC /* PearlAbstractStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9EB1503972100CED3BC /* PearlAbstractStrings.h */; }; - DAB8DA1B1503972100CED3BC /* PearlAbstractStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9EC1503972100CED3BC /* PearlAbstractStrings.m */; }; - DAB8DA1E1503972100CED3BC /* PearlCodeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9EF1503972100CED3BC /* PearlCodeUtils.h */; }; - DAB8DA1F1503972100CED3BC /* PearlCodeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9F01503972100CED3BC /* PearlCodeUtils.m */; }; - DAB8DA201503972100CED3BC /* PearlConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9F11503972100CED3BC /* PearlConfig.h */; }; - DAB8DA211503972100CED3BC /* PearlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9F21503972100CED3BC /* PearlConfig.m */; }; - DAB8DA221503972100CED3BC /* PearlDeviceUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9F31503972100CED3BC /* PearlDeviceUtils.h */; }; - DAB8DA231503972100CED3BC /* PearlDeviceUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9F41503972100CED3BC /* PearlDeviceUtils.m */; }; - DAB8DA241503972100CED3BC /* PearlInfoPlist.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9F51503972100CED3BC /* PearlInfoPlist.h */; }; - DAB8DA251503972100CED3BC /* PearlInfoPlist.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9F61503972100CED3BC /* PearlInfoPlist.m */; }; - DAB8DA261503972100CED3BC /* PearlLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9F71503972100CED3BC /* PearlLogger.h */; }; - DAB8DA271503972100CED3BC /* PearlLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9F81503972100CED3BC /* PearlLogger.m */; }; - DAB8DA281503972100CED3BC /* PearlMathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9F91503972100CED3BC /* PearlMathUtils.h */; }; - DAB8DA291503972100CED3BC /* PearlMathUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9FA1503972100CED3BC /* PearlMathUtils.m */; }; - DAB8DA2A1503972100CED3BC /* PearlObjectUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9FB1503972100CED3BC /* PearlObjectUtils.h */; }; - DAB8DA2B1503972100CED3BC /* PearlObjectUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9FC1503972100CED3BC /* PearlObjectUtils.m */; }; - DAB8DA2C1503972100CED3BC /* PearlResettable.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9FD1503972100CED3BC /* PearlResettable.h */; }; - DAB8DA2D1503972100CED3BC /* PearlStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8D9FE1503972100CED3BC /* PearlStrings.h */; }; - DAB8DA2E1503972100CED3BC /* PearlStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8D9FF1503972100CED3BC /* PearlStrings.m */; }; - DAB8DA2F1503972100CED3BC /* PearlStringUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA001503972100CED3BC /* PearlStringUtils.h */; }; - DAB8DA301503972100CED3BC /* PearlStringUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA011503972100CED3BC /* PearlStringUtils.m */; }; - DAB8DA331503972100CED3BC /* Pearl-Crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA091503972100CED3BC /* Pearl-Crypto.h */; }; - DAB8DA341503972100CED3BC /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA0A1503972100CED3BC /* PearlCryptUtils.h */; }; - DAB8DA351503972100CED3BC /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA0B1503972100CED3BC /* PearlCryptUtils.m */; }; - DAB8DA361503972100CED3BC /* PearlKeyChain.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA0C1503972100CED3BC /* PearlKeyChain.h */; }; - DAB8DA371503972100CED3BC /* PearlKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA0D1503972100CED3BC /* PearlKeyChain.m */; }; - DAB8DA381503972100CED3BC /* PearlRSAKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA0E1503972100CED3BC /* PearlRSAKey.h */; }; - DAB8DA391503972100CED3BC /* PearlRSAKey.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA0F1503972100CED3BC /* PearlRSAKey.m */; }; - DAB8DA3A1503972100CED3BC /* PearlSCrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA101503972100CED3BC /* PearlSCrypt.h */; }; - DAB8DA3B1503972100CED3BC /* PearlSCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA111503972100CED3BC /* PearlSCrypt.m */; }; DAC0F184150D643C00D4AB0A /* jquery-1.6.1.min.js in Resources */ = {isa = PBXBuildFile; fileRef = DA600E9515057F10008E9AB6 /* jquery-1.6.1.min.js */; }; DADEA5D51503EEDF00FD084E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DADEA5D31503EEA700FD084E /* Security.framework */; }; DADEA5D61503EF0200FD084E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DADEA5D31503EEA700FD084E /* Security.framework */; }; + DAF236B8163B24D5008AF5B5 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DAF2368A163B24D5008AF5B5 /* Credits.rtf */; }; + DAF236B9163B24D5008AF5B5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAF2368C163B24D5008AF5B5 /* InfoPlist.strings */; }; + DAF236BA163B24D5008AF5B5 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAF2368E163B24D5008AF5B5 /* MainMenu.xib */; }; + DAF236BB163B24D5008AF5B5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF23690163B24D5008AF5B5 /* main.m */; }; + DAF236BD163B24D5008AF5B5 /* MasterPassword.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = DAF23693163B24D5008AF5B5 /* MasterPassword.entitlements */; }; + DAF236BE163B24D5008AF5B5 /* MPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF23695163B24D5008AF5B5 /* MPAppDelegate.m */; }; + DAF236BF163B24D5008AF5B5 /* MPPasswordWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF23697163B24D5008AF5B5 /* MPPasswordWindowController.m */; }; + DAF236C0163B24D5008AF5B5 /* MPPasswordWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAF23698163B24D5008AF5B5 /* MPPasswordWindowController.xib */; }; + DAF236C1163B24D5008AF5B5 /* MasterPassword.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DAF23699163B24D5008AF5B5 /* MasterPassword.xcdatamodeld */; }; + DAF236C2163B24D5008AF5B5 /* MPAlgorithm.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF2369E163B24D5008AF5B5 /* MPAlgorithm.m */; }; + DAF236C3163B24D5008AF5B5 /* MPAlgorithmV0.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236A0163B24D5008AF5B5 /* MPAlgorithmV0.m */; }; + DAF236C4163B24D5008AF5B5 /* MPAlgorithmV1.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236A2163B24D5008AF5B5 /* MPAlgorithmV1.m */; }; + DAF236C5163B24D5008AF5B5 /* MPAppDelegate_Key.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236A4163B24D5008AF5B5 /* MPAppDelegate_Key.m */; }; + DAF236C6163B24D5008AF5B5 /* MPAppDelegate_Shared.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236A6163B24D5008AF5B5 /* MPAppDelegate_Shared.m */; }; + DAF236C7163B24D5008AF5B5 /* MPAppDelegate_Store.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236A8163B24D5008AF5B5 /* MPAppDelegate_Store.m */; }; + DAF236C8163B24D5008AF5B5 /* MPConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236AA163B24D5008AF5B5 /* MPConfig.m */; }; + DAF236C9163B24D5008AF5B5 /* MPElementEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236AC163B24D5008AF5B5 /* MPElementEntity.m */; }; + DAF236CA163B24D5008AF5B5 /* MPElementGeneratedEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236AE163B24D5008AF5B5 /* MPElementGeneratedEntity.m */; }; + DAF236CB163B24D5008AF5B5 /* MPElementStoredEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236B0163B24D5008AF5B5 /* MPElementStoredEntity.m */; }; + DAF236CC163B24D5008AF5B5 /* MPEntities.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236B2163B24D5008AF5B5 /* MPEntities.m */; }; + DAF236CD163B24D5008AF5B5 /* MPKey.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236B4163B24D5008AF5B5 /* MPKey.m */; }; + DAF236CE163B24D5008AF5B5 /* MPUserEntity.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF236B7163B24D5008AF5B5 /* MPUserEntity.m */; }; DAFE4A6415039CDC003ABA7C /* Pearl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB8D9D81503940100CED3BC /* Pearl.dylib */; }; /* End PBXBuildFile section */ @@ -729,109 +662,69 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + DA34F08D163B8C31006FFC95 /* NSArray+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Indexing.h"; sourceTree = ""; }; + DA34F08E163B8C31006FFC95 /* NSArray+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Indexing.m"; sourceTree = ""; }; + DA34F08F163B8C31006FFC95 /* NSBundle+PearlMutableInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+PearlMutableInfo.h"; sourceTree = ""; }; + DA34F090163B8C31006FFC95 /* NSBundle+PearlMutableInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+PearlMutableInfo.m"; sourceTree = ""; }; + DA34F091163B8C31006FFC95 /* NSDateFormatter+RFC3339.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDateFormatter+RFC3339.h"; sourceTree = ""; }; + DA34F092163B8C31006FFC95 /* NSDateFormatter+RFC3339.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDateFormatter+RFC3339.m"; sourceTree = ""; }; + DA34F093163B8C31006FFC95 /* NSDictionary+Indexing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Indexing.h"; sourceTree = ""; }; + DA34F094163B8C31006FFC95 /* NSDictionary+Indexing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Indexing.m"; sourceTree = ""; }; + DA34F095163B8C31006FFC95 /* NSObject+PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+PearlExport.h"; sourceTree = ""; }; + DA34F096163B8C31006FFC95 /* NSObject+PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+PearlExport.m"; sourceTree = ""; }; + DA34F097163B8C31006FFC95 /* NSObject+PearlKVO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+PearlKVO.h"; sourceTree = ""; }; + DA34F098163B8C31006FFC95 /* NSObject+PearlKVO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+PearlKVO.m"; sourceTree = ""; }; + DA34F099163B8C31006FFC95 /* NSString+PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+PearlNSArrayFormat.h"; sourceTree = ""; }; + DA34F09A163B8C31006FFC95 /* NSString+PearlNSArrayFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+PearlNSArrayFormat.m"; sourceTree = ""; }; + DA34F09B163B8C31006FFC95 /* NSString+PearlSEL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+PearlSEL.h"; sourceTree = ""; }; + DA34F09C163B8C31006FFC95 /* NSString+PearlSEL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+PearlSEL.m"; sourceTree = ""; }; + DA34F09D163B8C31006FFC95 /* Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pearl.h; sourceTree = ""; }; + DA34F09E163B8C31006FFC95 /* Pearl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Pearl.m; sourceTree = ""; }; + DA34F09F163B8C31006FFC95 /* PearlAbstractStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAbstractStrings.h; sourceTree = ""; }; + DA34F0A0163B8C31006FFC95 /* PearlAbstractStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAbstractStrings.m; sourceTree = ""; }; + DA34F0A1163B8C31006FFC95 /* PearlCodeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCodeUtils.h; sourceTree = ""; }; + DA34F0A2163B8C31006FFC95 /* PearlCodeUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCodeUtils.m; sourceTree = ""; }; + DA34F0A3163B8C31006FFC95 /* PearlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlConfig.h; sourceTree = ""; }; + DA34F0A4163B8C31006FFC95 /* PearlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlConfig.m; sourceTree = ""; }; + DA34F0A5163B8C31006FFC95 /* PearlDeviceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlDeviceUtils.h; sourceTree = ""; }; + DA34F0A6163B8C31006FFC95 /* PearlDeviceUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlDeviceUtils.m; sourceTree = ""; }; + DA34F0A7163B8C31006FFC95 /* PearlInfoPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlInfoPlist.h; sourceTree = ""; }; + DA34F0A8163B8C31006FFC95 /* PearlInfoPlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlInfoPlist.m; sourceTree = ""; }; + DA34F0A9163B8C31006FFC95 /* PearlLazy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLazy.h; sourceTree = ""; }; + DA34F0AA163B8C31006FFC95 /* PearlLazy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLazy.m; sourceTree = ""; }; + DA34F0AB163B8C31006FFC95 /* PearlLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLogger.h; sourceTree = ""; }; + DA34F0AC163B8C31006FFC95 /* PearlLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLogger.m; sourceTree = ""; }; + DA34F0AD163B8C31006FFC95 /* PearlMathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMathUtils.h; sourceTree = ""; }; + DA34F0AE163B8C31006FFC95 /* PearlMathUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMathUtils.m; sourceTree = ""; }; + DA34F0AF163B8C31006FFC95 /* PearlObjectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlObjectUtils.h; sourceTree = ""; }; + DA34F0B0163B8C31006FFC95 /* PearlObjectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlObjectUtils.m; sourceTree = ""; }; + DA34F0B1163B8C31006FFC95 /* PearlQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlQueue.h; sourceTree = ""; }; + DA34F0B2163B8C31006FFC95 /* PearlQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlQueue.m; sourceTree = ""; }; + DA34F0B3163B8C31006FFC95 /* PearlResettable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlResettable.h; sourceTree = ""; }; + DA34F0B4163B8C31006FFC95 /* PearlStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStrings.h; sourceTree = ""; }; + DA34F0B5163B8C31006FFC95 /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = ""; }; + DA34F0B6163B8C31006FFC95 /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = ""; }; + DA34F0B7163B8C31006FFC95 /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = ""; }; + DA34F0B8163B8C31006FFC95 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DA34F0BB163B8C31006FFC95 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; + DA34F0C0163B8C31006FFC95 /* libscryptenc-osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-osx.a"; sourceTree = ""; }; + DA34F0C1163B8C31006FFC95 /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = ""; }; + DA34F0C2163B8C31006FFC95 /* Pearl-Crypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Pearl-Crypto.m"; sourceTree = ""; }; + DA34F0C3163B8C31006FFC95 /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = ""; }; + DA34F0C4163B8C31006FFC95 /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = ""; }; + DA34F0C5163B8C31006FFC95 /* PearlKeyChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlKeyChain.h; sourceTree = ""; }; + DA34F0C6163B8C31006FFC95 /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = ""; }; + DA34F0C7163B8C31006FFC95 /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = ""; }; + DA34F0C8163B8C31006FFC95 /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = ""; }; + DA34F0C9163B8C31006FFC95 /* PearlSCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSCrypt.h; sourceTree = ""; }; + DA34F0CA163B8C31006FFC95 /* PearlSCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSCrypt.m; sourceTree = ""; }; + DA34F0CB163B8C31006FFC95 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DA34F11B163B8EA3006FFC95 /* libjrswizzle.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libjrswizzle.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DA34F127163B8EDD006FFC95 /* JRSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JRSwizzle.h; path = ../External/Pearl/External/jrswizzle/JRSwizzle.h; sourceTree = ""; }; + DA34F128163B8EDD006FFC95 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JRSwizzle.m; path = ../External/Pearl/External/jrswizzle/JRSwizzle.m; sourceTree = ""; }; DA44255615546C570052177D /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; DA44255915548F2C0052177D /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = ""; }; DA44255B15548F970052177D /* libscryptenc-osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libscryptenc-osx.a"; path = "External/Pearl/Pearl-Crypto/libscryptenc-osx.a"; sourceTree = ""; }; - DA600BE8150420AC008E9AB6 /* MPPasswordWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordWindowController.h; sourceTree = ""; }; - DA600BE9150420AC008E9AB6 /* MPPasswordWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordWindowController.m; sourceTree = ""; }; - DA600BEA150420AC008E9AB6 /* MPPasswordWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPPasswordWindowController.xib; sourceTree = ""; }; - DA600C29150565FC008E9AB6 /* MPConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPConfig.h; path = MasterPassword/MPConfig.h; sourceTree = SOURCE_ROOT; }; - DA600C2A150565FC008E9AB6 /* MPConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPConfig.m; path = MasterPassword/MPConfig.m; sourceTree = SOURCE_ROOT; }; - DA600C2B150565FC008E9AB6 /* MPAppDelegate_Key.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MPAppDelegate_Key.m; path = MasterPassword/MPAppDelegate_Key.m; sourceTree = SOURCE_ROOT; }; - DA600C2C150565FC008E9AB6 /* MPAppDelegate_Key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MPAppDelegate_Key.h; path = MasterPassword/MPAppDelegate_Key.h; sourceTree = SOURCE_ROOT; }; - DA600C5B15057F0F008E9AB6 /* ui_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_background.png; sourceTree = ""; }; - DA600C5C15057F0F008E9AB6 /* ui_background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_background@2x.png"; sourceTree = ""; }; - DA600C5D15057F0F008E9AB6 /* ui_box_checked.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_box_checked.png; sourceTree = ""; }; - DA600C5E15057F0F008E9AB6 /* ui_box_checked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_box_checked@2x.png"; sourceTree = ""; }; - DA600C5F15057F0F008E9AB6 /* ui_box_empty.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_box_empty.png; sourceTree = ""; }; - DA600C6015057F0F008E9AB6 /* ui_box_empty@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_box_empty@2x.png"; sourceTree = ""; }; - DA600C6115057F0F008E9AB6 /* ui_box_filled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_box_filled.png; sourceTree = ""; }; - DA600C6215057F0F008E9AB6 /* ui_box_filled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_box_filled@2x.png"; sourceTree = ""; }; - DA600C6315057F0F008E9AB6 /* ui_button_green_large.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_green_large.png; sourceTree = ""; }; - DA600C6415057F0F008E9AB6 /* ui_button_green_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_green_large@2x.png"; sourceTree = ""; }; - DA600C6515057F0F008E9AB6 /* ui_button_green_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_green_small.png; sourceTree = ""; }; - DA600C6615057F0F008E9AB6 /* ui_button_green_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_green_small@2x.png"; sourceTree = ""; }; - DA600C6715057F0F008E9AB6 /* ui_button_red_large.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_red_large.png; sourceTree = ""; }; - DA600C6815057F0F008E9AB6 /* ui_button_red_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_red_large@2x.png"; sourceTree = ""; }; - DA600C6915057F0F008E9AB6 /* ui_button_red_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_red_small.png; sourceTree = ""; }; - DA600C6A15057F0F008E9AB6 /* ui_button_red_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_red_small@2x.png"; sourceTree = ""; }; - DA600C6B15057F0F008E9AB6 /* ui_button_standard_large.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_standard_large.png; sourceTree = ""; }; - DA600C6C15057F0F008E9AB6 /* ui_button_standard_large@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_standard_large@2x.png"; sourceTree = ""; }; - DA600C6D15057F0F008E9AB6 /* ui_button_standard_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_button_standard_small.png; sourceTree = ""; }; - DA600C6E15057F0F008E9AB6 /* ui_button_standard_small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_button_standard_small@2x.png"; sourceTree = ""; }; - DA600C6F15057F0F008E9AB6 /* ui_dropdown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_dropdown.png; sourceTree = ""; }; - DA600C7015057F0F008E9AB6 /* ui_dropdown@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_dropdown@2x.png"; sourceTree = ""; }; - DA600C7115057F0F008E9AB6 /* ui_list_arrow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_list_arrow.png; sourceTree = ""; }; - DA600C7215057F0F008E9AB6 /* ui_list_arrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_list_arrow@2x.png"; sourceTree = ""; }; - DA600C7315057F0F008E9AB6 /* ui_list_arrow_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_list_arrow_active.png; sourceTree = ""; }; - DA600C7415057F0F008E9AB6 /* ui_list_arrow_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_list_arrow_active@2x.png"; sourceTree = ""; }; - DA600C7515057F0F008E9AB6 /* ui_list_first.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_list_first.png; sourceTree = ""; }; - DA600C7615057F0F008E9AB6 /* ui_list_first@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_list_first@2x.png"; sourceTree = ""; }; - DA600C7715057F0F008E9AB6 /* ui_list_last.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_list_last.png; sourceTree = ""; }; - DA600C7815057F0F008E9AB6 /* ui_list_last@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_list_last@2x.png"; sourceTree = ""; }; - DA600C7915057F0F008E9AB6 /* ui_list_middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_list_middle.png; sourceTree = ""; }; - DA600C7A15057F0F008E9AB6 /* ui_list_middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_list_middle@2x.png"; sourceTree = ""; }; - DA600C7B15057F0F008E9AB6 /* ui_navbar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_navbar@2x.png"; sourceTree = ""; }; - DA600C7C15057F0F008E9AB6 /* ui_navbar_back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_navbar_back.png; sourceTree = ""; }; - DA600C7D15057F0F008E9AB6 /* ui_navbar_back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_navbar_back@2x.png"; sourceTree = ""; }; - DA600C7E15057F0F008E9AB6 /* ui_navbar_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_navbar_button.png; sourceTree = ""; }; - DA600C7F15057F0F008E9AB6 /* ui_navbar_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_navbar_button@2x.png"; sourceTree = ""; }; - DA600C8015057F0F008E9AB6 /* ui_navbar_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_navbar_container.png; sourceTree = ""; }; - DA600C8115057F0F008E9AB6 /* ui_navbar_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_navbar_container@2x.png"; sourceTree = ""; }; - DA600C8215057F0F008E9AB6 /* ui_panel_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_panel_container.png; sourceTree = ""; }; - DA600C8315057F0F008E9AB6 /* ui_panel_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_panel_container@2x.png"; sourceTree = ""; }; - DA600C8415057F0F008E9AB6 /* ui_panel_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_panel_display.png; sourceTree = ""; }; - DA600C8515057F0F008E9AB6 /* ui_panel_display@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_panel_display@2x.png"; sourceTree = ""; }; - DA600C8615057F0F008E9AB6 /* ui_progress_bar_label-in_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-in_container.png"; sourceTree = ""; }; - DA600C8715057F0F008E9AB6 /* ui_progress_bar_label-in_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-in_container@2x.png"; sourceTree = ""; }; - DA600C8815057F0F008E9AB6 /* ui_progress_bar_label-in_fill.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-in_fill.png"; sourceTree = ""; }; - DA600C8915057F0F008E9AB6 /* ui_progress_bar_label-in_fill@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-in_fill@2x.png"; sourceTree = ""; }; - DA600C8A15057F0F008E9AB6 /* ui_progress_bar_label-out_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-out_container.png"; sourceTree = ""; }; - DA600C8B15057F0F008E9AB6 /* ui_progress_bar_label-out_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-out_container@2x.png"; sourceTree = ""; }; - DA600C8C15057F0F008E9AB6 /* ui_progress_bar_label-out_fill.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-out_fill.png"; sourceTree = ""; }; - DA600C8D15057F0F008E9AB6 /* ui_progress_bar_label-out_fill@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_label-out_fill@2x.png"; sourceTree = ""; }; - DA600C8E15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_progress_bar_unlabelled_container.png; sourceTree = ""; }; - DA600C8F15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_unlabelled_container@2x.png"; sourceTree = ""; }; - DA600C9015057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_progress_bar_unlabelled_fill.png; sourceTree = ""; }; - DA600C9115057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_bar_unlabelled_fill@2x.png"; sourceTree = ""; }; - DA600C9215057F0F008E9AB6 /* ui_progress_unlabelled_marks.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_progress_unlabelled_marks.png; sourceTree = ""; }; - DA600C9315057F0F008E9AB6 /* ui_progress_unlabelled_marks@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_progress_unlabelled_marks@2x.png"; sourceTree = ""; }; - DA600C9415057F0F008E9AB6 /* ui_slider-knob_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_container.png"; sourceTree = ""; }; - DA600C9515057F0F008E9AB6 /* ui_slider-knob_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_container@2x.png"; sourceTree = ""; }; - DA600C9615057F0F008E9AB6 /* ui_slider-knob_fill_dark.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_fill_dark.png"; sourceTree = ""; }; - DA600C9715057F0F008E9AB6 /* ui_slider-knob_fill_dark@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_fill_dark@2x.png"; sourceTree = ""; }; - DA600C9815057F0F008E9AB6 /* ui_slider-knob_fill_light.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_fill_light.png"; sourceTree = ""; }; - DA600C9915057F0F008E9AB6 /* ui_slider-knob_fill_light@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-knob_fill_light@2x.png"; sourceTree = ""; }; - DA600C9A15057F0F008E9AB6 /* ui_slider-stops_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-stops_container.png"; sourceTree = ""; }; - DA600C9B15057F0F008E9AB6 /* ui_slider-stops_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-stops_container@2x.png"; sourceTree = ""; }; - DA600C9C15057F0F008E9AB6 /* ui_slider-stops_fill.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-stops_fill.png"; sourceTree = ""; }; - DA600C9D15057F0F008E9AB6 /* ui_slider-stops_fill@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_slider-stops_fill@2x.png"; sourceTree = ""; }; - DA600C9E15057F0F008E9AB6 /* ui_spinner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_spinner.png; sourceTree = ""; }; - DA600C9F15057F0F008E9AB6 /* ui_spinner@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_spinner@2x.png"; sourceTree = ""; }; - DA600CA015057F0F008E9AB6 /* ui_switch_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_switch_off.png; sourceTree = ""; }; - DA600CA115057F0F008E9AB6 /* ui_switch_off@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_switch_off@2x.png"; sourceTree = ""; }; - DA600CA215057F0F008E9AB6 /* ui_switch_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_switch_on.png; sourceTree = ""; }; - DA600CA315057F0F008E9AB6 /* ui_switch_on@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_switch_on@2x.png"; sourceTree = ""; }; - DA600CA415057F0F008E9AB6 /* ui_tabbar_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_tabbar_active.png; sourceTree = ""; }; - DA600CA515057F0F008E9AB6 /* ui_tabbar_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_tabbar_active@2x.png"; sourceTree = ""; }; - DA600CA615057F0F008E9AB6 /* ui_tabbar_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_tabbar_container.png; sourceTree = ""; }; - DA600CA715057F0F008E9AB6 /* ui_tabbar_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_tabbar_container@2x.png"; sourceTree = ""; }; - DA600CA815057F0F008E9AB6 /* ui_textfield.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_textfield.png; sourceTree = ""; }; - DA600CA915057F0F008E9AB6 /* ui_textfield@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_textfield@2x.png"; sourceTree = ""; }; - DA600CAA15057F0F008E9AB6 /* ui_toolbar_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_container.png; sourceTree = ""; }; - DA600CAB15057F0F008E9AB6 /* ui_toolbar_container@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_container@2x.png"; sourceTree = ""; }; - DA600CAC15057F0F008E9AB6 /* ui_toolbar_tab_first.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_first.png; sourceTree = ""; }; - DA600CAD15057F0F008E9AB6 /* ui_toolbar_tab_first@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_first@2x.png"; sourceTree = ""; }; - DA600CAE15057F0F008E9AB6 /* ui_toolbar_tab_first_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_first_active.png; sourceTree = ""; }; - DA600CAF15057F0F008E9AB6 /* ui_toolbar_tab_first_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_first_active@2x.png"; sourceTree = ""; }; - DA600CB015057F0F008E9AB6 /* ui_toolbar_tab_last.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_last.png; sourceTree = ""; }; - DA600CB115057F0F008E9AB6 /* ui_toolbar_tab_last@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_last@2x.png"; sourceTree = ""; }; - DA600CB215057F0F008E9AB6 /* ui_toolbar_tab_last_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_last_active.png; sourceTree = ""; }; - DA600CB315057F0F008E9AB6 /* ui_toolbar_tab_last_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_last_active@2x.png"; sourceTree = ""; }; - DA600CB415057F0F008E9AB6 /* ui_toolbar_tab_middle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_middle.png; sourceTree = ""; }; - DA600CB515057F0F008E9AB6 /* ui_toolbar_tab_middle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_middle@2x.png"; sourceTree = ""; }; - DA600CB615057F0F008E9AB6 /* ui_toolbar_tab_middle_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ui_toolbar_tab_middle_active.png; sourceTree = ""; }; - DA600CB715057F0F008E9AB6 /* ui_toolbar_tab_middle_active@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ui_toolbar_tab_middle_active@2x.png"; sourceTree = ""; }; DA600CB915057F0F008E9AB6 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = ""; }; DA600CBB15057F0F008E9AB6 /* background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "background@2x.png"; sourceTree = ""; }; DA600CBC15057F0F008E9AB6 /* ciphers.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ciphers.plist; sourceTree = ""; }; @@ -1378,10 +1271,8 @@ DA600EE215057F10008E9AB6 /* tip_location_wood.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tip_location_wood.png; sourceTree = ""; }; DA600EE315057F10008E9AB6 /* tip_location_wood@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tip_location_wood@2x.png"; sourceTree = ""; }; DA60116615057FDD008E9AB6 /* iTunesArtwork-Rounded.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iTunesArtwork-Rounded.png"; sourceTree = ""; }; - DA79A9DF155821BB00BAA07A /* MPAppDelegate_Shared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate_Shared.h; sourceTree = ""; }; - DA79A9E0155821BB00BAA07A /* MPAppDelegate_Shared.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate_Shared.m; sourceTree = ""; }; - DA79A9E1155821BB00BAA07A /* MPAppDelegate_Store.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate_Store.h; sourceTree = ""; }; - DA79A9E2155821BB00BAA07A /* MPAppDelegate_Store.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate_Store.m; sourceTree = ""; }; + DA6701B41640515700B61001 /* MPMacConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMacConfig.h; sourceTree = ""; }; + DA6701B51640515700B61001 /* MPMacConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMacConfig.m; sourceTree = ""; }; DA79A9EA155821E500BAA07A /* libiCloudStoreManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libiCloudStoreManager.a; sourceTree = BUILT_PRODUCTS_DIR; }; DA79A9EB155821E500BAA07A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; DA79AA111558221200BAA07A /* UbiquityStoreManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UbiquityStoreManager.h; sourceTree = ""; }; @@ -1391,66 +1282,8 @@ DAB8D98F150374AD00CED3BC /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; DAB8D990150374AD00CED3BC /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; DAB8D991150374AD00CED3BC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - DAB8D9B3150375C800CED3BC /* MasterPassword.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MasterPassword.xcdatamodel; sourceTree = ""; }; - DAB8D9B6150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; - DAB8D9B8150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - DAB8D9BA150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; - DAB8D9BB150375C800CED3BC /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - DAB8D9BC150375C800CED3BC /* MasterPassword-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MasterPassword-Info.plist"; sourceTree = ""; }; - DAB8D9BD150375C800CED3BC /* MasterPassword-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MasterPassword-Prefix.pch"; sourceTree = ""; }; - DAB8D9BE150375C800CED3BC /* MPAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = ""; }; - DAB8D9BF150375C800CED3BC /* MPAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = ""; }; - DAB8D9C0150375C800CED3BC /* MPElementStoredEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementStoredEntity.m; sourceTree = ""; }; - DAB8D9C1150375C800CED3BC /* MPTypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTypes.m; sourceTree = ""; }; - DAB8D9C2150375C800CED3BC /* MPElementEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementEntity.h; sourceTree = ""; }; - DAB8D9C3150375C800CED3BC /* MPElementEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementEntity.m; sourceTree = ""; }; - DAB8D9C4150375C800CED3BC /* MPTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTypes.h; sourceTree = ""; }; - DAB8D9C5150375C800CED3BC /* MPElementGeneratedEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementGeneratedEntity.h; sourceTree = ""; }; - DAB8D9C6150375C800CED3BC /* MPElementGeneratedEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementGeneratedEntity.m; sourceTree = ""; }; - DAB8D9C7150375C800CED3BC /* MPElementStoredEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementStoredEntity.h; sourceTree = ""; }; DAB8D9D81503940100CED3BC /* Pearl.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = Pearl.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; DAB8D9DC1503940100CED3BC /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pearl-Prefix.pch"; sourceTree = ""; }; - DAB8D9E41503972100CED3BC /* NSObject_PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSObject_PearlExport.h; sourceTree = ""; }; - DAB8D9E51503972100CED3BC /* NSObject_PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSObject_PearlExport.m; sourceTree = ""; }; - DAB8D9E61503972100CED3BC /* NSString_PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlNSArrayFormat.h; sourceTree = ""; }; - DAB8D9E71503972100CED3BC /* NSString_PearlNSArrayFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlNSArrayFormat.m; sourceTree = ""; }; - DAB8D9E81503972100CED3BC /* NSString_PearlSEL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlSEL.h; sourceTree = ""; }; - DAB8D9E91503972100CED3BC /* NSString_PearlSEL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlSEL.m; sourceTree = ""; }; - DAB8D9EA1503972100CED3BC /* Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pearl.h; sourceTree = ""; }; - DAB8D9EB1503972100CED3BC /* PearlAbstractStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAbstractStrings.h; sourceTree = ""; }; - DAB8D9EC1503972100CED3BC /* PearlAbstractStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAbstractStrings.m; sourceTree = ""; }; - DAB8D9EF1503972100CED3BC /* PearlCodeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCodeUtils.h; sourceTree = ""; }; - DAB8D9F01503972100CED3BC /* PearlCodeUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCodeUtils.m; sourceTree = ""; }; - DAB8D9F11503972100CED3BC /* PearlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlConfig.h; sourceTree = ""; }; - DAB8D9F21503972100CED3BC /* PearlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlConfig.m; sourceTree = ""; }; - DAB8D9F31503972100CED3BC /* PearlDeviceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlDeviceUtils.h; sourceTree = ""; }; - DAB8D9F41503972100CED3BC /* PearlDeviceUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlDeviceUtils.m; sourceTree = ""; }; - DAB8D9F51503972100CED3BC /* PearlInfoPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlInfoPlist.h; sourceTree = ""; }; - DAB8D9F61503972100CED3BC /* PearlInfoPlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlInfoPlist.m; sourceTree = ""; }; - DAB8D9F71503972100CED3BC /* PearlLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLogger.h; sourceTree = ""; }; - DAB8D9F81503972100CED3BC /* PearlLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLogger.m; sourceTree = ""; }; - DAB8D9F91503972100CED3BC /* PearlMathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMathUtils.h; sourceTree = ""; }; - DAB8D9FA1503972100CED3BC /* PearlMathUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMathUtils.m; sourceTree = ""; }; - DAB8D9FB1503972100CED3BC /* PearlObjectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlObjectUtils.h; sourceTree = ""; }; - DAB8D9FC1503972100CED3BC /* PearlObjectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlObjectUtils.m; sourceTree = ""; }; - DAB8D9FD1503972100CED3BC /* PearlResettable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlResettable.h; sourceTree = ""; }; - DAB8D9FE1503972100CED3BC /* PearlStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStrings.h; sourceTree = ""; }; - DAB8D9FF1503972100CED3BC /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = ""; }; - DAB8DA001503972100CED3BC /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = ""; }; - DAB8DA011503972100CED3BC /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = ""; }; - DAB8DA041503972100CED3BC /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; - DAB8DA071503972100CED3BC /* en */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = ""; }; - DAB8DA091503972100CED3BC /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = ""; }; - DAB8DA0A1503972100CED3BC /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = ""; }; - DAB8DA0B1503972100CED3BC /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = ""; }; - DAB8DA0C1503972100CED3BC /* PearlKeyChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlKeyChain.h; sourceTree = ""; }; - DAB8DA0D1503972100CED3BC /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = ""; }; - DAB8DA0E1503972100CED3BC /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = ""; }; - DAB8DA0F1503972100CED3BC /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = ""; }; - DAB8DA101503972100CED3BC /* PearlSCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSCrypt.h; sourceTree = ""; }; - DAB8DA111503972100CED3BC /* PearlSCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSCrypt.m; sourceTree = ""; }; - DAB8DA121503972100CED3BC /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; - DAD312C71553051900A3F9ED /* MasterPassword.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; DADEA5A41503C9DD00FD084E /* e_os.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os.h; sourceTree = ""; }; DADEA5A51503C9DD00FD084E /* e_os2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os2.h; sourceTree = ""; }; DADEA5A91503CE3000FD084E /* _MWERKS_GUSI_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _MWERKS_GUSI_prefix.h; sourceTree = ""; }; @@ -1472,6 +1305,48 @@ DADEA5BA1503CE3000FD084E /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = ""; }; DADEA5D01503ED3700FD084E /* scrypt_platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scrypt_platform.h; path = "External/Pearl/External/iOSPorts/ports/security/scrypt/scrypt-1.1.6/scrypt_platform.h"; sourceTree = SOURCE_ROOT; }; DADEA5D31503EEA700FD084E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + DAF2368B163B24D5008AF5B5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; + DAF2368D163B24D5008AF5B5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + DAF2368F163B24D5008AF5B5 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + DAF23690163B24D5008AF5B5 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + DAF23691163B24D5008AF5B5 /* MasterPassword-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MasterPassword-Info.plist"; sourceTree = ""; }; + DAF23692163B24D5008AF5B5 /* MasterPassword-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MasterPassword-Prefix.pch"; sourceTree = ""; }; + DAF23693163B24D5008AF5B5 /* MasterPassword.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = MasterPassword.entitlements; sourceTree = ""; }; + DAF23694163B24D5008AF5B5 /* MPAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = ""; }; + DAF23695163B24D5008AF5B5 /* MPAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = ""; }; + DAF23696163B24D5008AF5B5 /* MPPasswordWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPasswordWindowController.h; sourceTree = ""; }; + DAF23697163B24D5008AF5B5 /* MPPasswordWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordWindowController.m; sourceTree = ""; }; + DAF23698163B24D5008AF5B5 /* MPPasswordWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MPPasswordWindowController.xib; sourceTree = ""; }; + DAF2369A163B24D5008AF5B5 /* MasterPassword 1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 1.xcdatamodel"; sourceTree = ""; }; + DAF2369B163B24D5008AF5B5 /* MasterPassword 2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 2.xcdatamodel"; sourceTree = ""; }; + DAF2369C163B24D5008AF5B5 /* MasterPassword 3.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MasterPassword 3.xcdatamodel"; sourceTree = ""; }; + DAF2369D163B24D5008AF5B5 /* MPAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAlgorithm.h; sourceTree = ""; }; + DAF2369E163B24D5008AF5B5 /* MPAlgorithm.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithm.m; sourceTree = ""; }; + DAF2369F163B24D5008AF5B5 /* MPAlgorithmV0.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAlgorithmV0.h; sourceTree = ""; }; + DAF236A0163B24D5008AF5B5 /* MPAlgorithmV0.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithmV0.m; sourceTree = ""; }; + DAF236A1163B24D5008AF5B5 /* MPAlgorithmV1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAlgorithmV1.h; sourceTree = ""; }; + DAF236A2163B24D5008AF5B5 /* MPAlgorithmV1.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAlgorithmV1.m; sourceTree = ""; }; + DAF236A3163B24D5008AF5B5 /* MPAppDelegate_Key.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate_Key.h; sourceTree = ""; }; + DAF236A4163B24D5008AF5B5 /* MPAppDelegate_Key.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate_Key.m; sourceTree = ""; }; + DAF236A5163B24D5008AF5B5 /* MPAppDelegate_Shared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate_Shared.h; sourceTree = ""; }; + DAF236A6163B24D5008AF5B5 /* MPAppDelegate_Shared.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate_Shared.m; sourceTree = ""; }; + DAF236A7163B24D5008AF5B5 /* MPAppDelegate_Store.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate_Store.h; sourceTree = ""; }; + DAF236A8163B24D5008AF5B5 /* MPAppDelegate_Store.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate_Store.m; sourceTree = ""; }; + DAF236A9163B24D5008AF5B5 /* MPConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPConfig.h; sourceTree = ""; }; + DAF236AA163B24D5008AF5B5 /* MPConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConfig.m; sourceTree = ""; }; + DAF236AB163B24D5008AF5B5 /* MPElementEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementEntity.h; sourceTree = ""; }; + DAF236AC163B24D5008AF5B5 /* MPElementEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementEntity.m; sourceTree = ""; }; + DAF236AD163B24D5008AF5B5 /* MPElementGeneratedEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementGeneratedEntity.h; sourceTree = ""; }; + DAF236AE163B24D5008AF5B5 /* MPElementGeneratedEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementGeneratedEntity.m; sourceTree = ""; }; + DAF236AF163B24D5008AF5B5 /* MPElementStoredEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementStoredEntity.h; sourceTree = ""; }; + DAF236B0163B24D5008AF5B5 /* MPElementStoredEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementStoredEntity.m; sourceTree = ""; }; + DAF236B1163B24D5008AF5B5 /* MPEntities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEntities.h; sourceTree = ""; }; + DAF236B2163B24D5008AF5B5 /* MPEntities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEntities.m; sourceTree = ""; }; + DAF236B3163B24D5008AF5B5 /* MPKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPKey.h; sourceTree = ""; }; + DAF236B4163B24D5008AF5B5 /* MPKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKey.m; sourceTree = ""; }; + DAF236B5163B24D5008AF5B5 /* MPTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTypes.h; sourceTree = ""; }; + DAF236B6163B24D5008AF5B5 /* MPUserEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPUserEntity.h; sourceTree = ""; }; + DAF236B7163B24D5008AF5B5 /* MPUserEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUserEntity.m; sourceTree = ""; }; DAF56A091503C64400996D85 /* crypto_aesctr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypto_aesctr.c; sourceTree = ""; }; DAF56A0A1503C64400996D85 /* crypto_aesctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aesctr.h; sourceTree = ""; }; DAF56A0B1503C64400996D85 /* crypto_scrypt-nosse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "crypto_scrypt-nosse.c"; sourceTree = ""; }; @@ -2535,6 +2410,14 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + DA34F118163B8EA3006FFC95 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DA34F11C163B8EA3006FFC95 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DA79A9E7155821E500BAA07A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2562,17 +2445,107 @@ DA44255C15548F980052177D /* libscryptenc-osx.a in Frameworks */, DADEA5D61503EF0200FD084E /* Security.framework in Frameworks */, DAB8D9D91503940100CED3BC /* Cocoa.framework in Frameworks */, + DA34F0FA163B8C31006FFC95 /* libscryptenc-osx.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + DA34F08C163B8C31006FFC95 /* Pearl */ = { + isa = PBXGroup; + children = ( + DA34F08D163B8C31006FFC95 /* NSArray+Indexing.h */, + DA34F08E163B8C31006FFC95 /* NSArray+Indexing.m */, + DA34F08F163B8C31006FFC95 /* NSBundle+PearlMutableInfo.h */, + DA34F090163B8C31006FFC95 /* NSBundle+PearlMutableInfo.m */, + DA34F091163B8C31006FFC95 /* NSDateFormatter+RFC3339.h */, + DA34F092163B8C31006FFC95 /* NSDateFormatter+RFC3339.m */, + DA34F093163B8C31006FFC95 /* NSDictionary+Indexing.h */, + DA34F094163B8C31006FFC95 /* NSDictionary+Indexing.m */, + DA34F095163B8C31006FFC95 /* NSObject+PearlExport.h */, + DA34F096163B8C31006FFC95 /* NSObject+PearlExport.m */, + DA34F097163B8C31006FFC95 /* NSObject+PearlKVO.h */, + DA34F098163B8C31006FFC95 /* NSObject+PearlKVO.m */, + DA34F099163B8C31006FFC95 /* NSString+PearlNSArrayFormat.h */, + DA34F09A163B8C31006FFC95 /* NSString+PearlNSArrayFormat.m */, + DA34F09B163B8C31006FFC95 /* NSString+PearlSEL.h */, + DA34F09C163B8C31006FFC95 /* NSString+PearlSEL.m */, + DA34F09D163B8C31006FFC95 /* Pearl.h */, + DA34F09E163B8C31006FFC95 /* Pearl.m */, + DA34F09F163B8C31006FFC95 /* PearlAbstractStrings.h */, + DA34F0A0163B8C31006FFC95 /* PearlAbstractStrings.m */, + DA34F0A1163B8C31006FFC95 /* PearlCodeUtils.h */, + DA34F0A2163B8C31006FFC95 /* PearlCodeUtils.m */, + DA34F0A3163B8C31006FFC95 /* PearlConfig.h */, + DA34F0A4163B8C31006FFC95 /* PearlConfig.m */, + DA34F0A5163B8C31006FFC95 /* PearlDeviceUtils.h */, + DA34F0A6163B8C31006FFC95 /* PearlDeviceUtils.m */, + DA34F0A7163B8C31006FFC95 /* PearlInfoPlist.h */, + DA34F0A8163B8C31006FFC95 /* PearlInfoPlist.m */, + DA34F0A9163B8C31006FFC95 /* PearlLazy.h */, + DA34F0AA163B8C31006FFC95 /* PearlLazy.m */, + DA34F0AB163B8C31006FFC95 /* PearlLogger.h */, + DA34F0AC163B8C31006FFC95 /* PearlLogger.m */, + DA34F0AD163B8C31006FFC95 /* PearlMathUtils.h */, + DA34F0AE163B8C31006FFC95 /* PearlMathUtils.m */, + DA34F0AF163B8C31006FFC95 /* PearlObjectUtils.h */, + DA34F0B0163B8C31006FFC95 /* PearlObjectUtils.m */, + DA34F0B1163B8C31006FFC95 /* PearlQueue.h */, + DA34F0B2163B8C31006FFC95 /* PearlQueue.m */, + DA34F0B3163B8C31006FFC95 /* PearlResettable.h */, + DA34F0B4163B8C31006FFC95 /* PearlStrings.h */, + DA34F0B5163B8C31006FFC95 /* PearlStrings.m */, + DA34F0B6163B8C31006FFC95 /* PearlStringUtils.h */, + DA34F0B7163B8C31006FFC95 /* PearlStringUtils.m */, + DA34F0B8163B8C31006FFC95 /* README */, + DA34F0B9163B8C31006FFC95 /* Resources */, + ); + name = Pearl; + path = External/Pearl/Pearl; + sourceTree = SOURCE_ROOT; + }; + DA34F0B9163B8C31006FFC95 /* Resources */ = { + isa = PBXGroup; + children = ( + DA34F0BA163B8C31006FFC95 /* Pearl.strings */, + ); + path = Resources; + sourceTree = ""; + }; + DA34F0BC163B8C31006FFC95 /* Pearl-Crypto */ = { + isa = PBXGroup; + children = ( + DA34F0C0163B8C31006FFC95 /* libscryptenc-osx.a */, + DA34F0C1163B8C31006FFC95 /* Pearl-Crypto.h */, + DA34F0C2163B8C31006FFC95 /* Pearl-Crypto.m */, + DA34F0C3163B8C31006FFC95 /* PearlCryptUtils.h */, + DA34F0C4163B8C31006FFC95 /* PearlCryptUtils.m */, + DA34F0C5163B8C31006FFC95 /* PearlKeyChain.h */, + DA34F0C6163B8C31006FFC95 /* PearlKeyChain.m */, + DA34F0C7163B8C31006FFC95 /* PearlRSAKey.h */, + DA34F0C8163B8C31006FFC95 /* PearlRSAKey.m */, + DA34F0C9163B8C31006FFC95 /* PearlSCrypt.h */, + DA34F0CA163B8C31006FFC95 /* PearlSCrypt.m */, + DA34F0CB163B8C31006FFC95 /* README */, + ); + name = "Pearl-Crypto"; + path = "External/Pearl/Pearl-Crypto"; + sourceTree = SOURCE_ROOT; + }; + DA34F11D163B8EA3006FFC95 /* jrswizzle */ = { + isa = PBXGroup; + children = ( + DA34F127163B8EDD006FFC95 /* JRSwizzle.h */, + DA34F128163B8EDD006FFC95 /* JRSwizzle.m */, + ); + path = jrswizzle; + sourceTree = ""; + }; DA600C5915057F0F008E9AB6 /* Resources */ = { isa = PBXGroup; children = ( DA44255915548F2C0052177D /* Icon.icns */, - DA600C5A15057F0F008E9AB6 /* Automaton */, DA600CB815057F0F008E9AB6 /* Background */, DA600CBC15057F0F008E9AB6 /* ciphers.plist */, DA600CBD15057F0F008E9AB6 /* Dividers */, @@ -2596,106 +2569,6 @@ path = Resources; sourceTree = ""; }; - DA600C5A15057F0F008E9AB6 /* Automaton */ = { - isa = PBXGroup; - children = ( - DA600C5B15057F0F008E9AB6 /* ui_background.png */, - DA600C5C15057F0F008E9AB6 /* ui_background@2x.png */, - DA600C5D15057F0F008E9AB6 /* ui_box_checked.png */, - DA600C5E15057F0F008E9AB6 /* ui_box_checked@2x.png */, - DA600C5F15057F0F008E9AB6 /* ui_box_empty.png */, - DA600C6015057F0F008E9AB6 /* ui_box_empty@2x.png */, - DA600C6115057F0F008E9AB6 /* ui_box_filled.png */, - DA600C6215057F0F008E9AB6 /* ui_box_filled@2x.png */, - DA600C6315057F0F008E9AB6 /* ui_button_green_large.png */, - DA600C6415057F0F008E9AB6 /* ui_button_green_large@2x.png */, - DA600C6515057F0F008E9AB6 /* ui_button_green_small.png */, - DA600C6615057F0F008E9AB6 /* ui_button_green_small@2x.png */, - DA600C6715057F0F008E9AB6 /* ui_button_red_large.png */, - DA600C6815057F0F008E9AB6 /* ui_button_red_large@2x.png */, - DA600C6915057F0F008E9AB6 /* ui_button_red_small.png */, - DA600C6A15057F0F008E9AB6 /* ui_button_red_small@2x.png */, - DA600C6B15057F0F008E9AB6 /* ui_button_standard_large.png */, - DA600C6C15057F0F008E9AB6 /* ui_button_standard_large@2x.png */, - DA600C6D15057F0F008E9AB6 /* ui_button_standard_small.png */, - DA600C6E15057F0F008E9AB6 /* ui_button_standard_small@2x.png */, - DA600C6F15057F0F008E9AB6 /* ui_dropdown.png */, - DA600C7015057F0F008E9AB6 /* ui_dropdown@2x.png */, - DA600C7115057F0F008E9AB6 /* ui_list_arrow.png */, - DA600C7215057F0F008E9AB6 /* ui_list_arrow@2x.png */, - DA600C7315057F0F008E9AB6 /* ui_list_arrow_active.png */, - DA600C7415057F0F008E9AB6 /* ui_list_arrow_active@2x.png */, - DA600C7515057F0F008E9AB6 /* ui_list_first.png */, - DA600C7615057F0F008E9AB6 /* ui_list_first@2x.png */, - DA600C7715057F0F008E9AB6 /* ui_list_last.png */, - DA600C7815057F0F008E9AB6 /* ui_list_last@2x.png */, - DA600C7915057F0F008E9AB6 /* ui_list_middle.png */, - DA600C7A15057F0F008E9AB6 /* ui_list_middle@2x.png */, - DA600C7B15057F0F008E9AB6 /* ui_navbar@2x.png */, - DA600C7C15057F0F008E9AB6 /* ui_navbar_back.png */, - DA600C7D15057F0F008E9AB6 /* ui_navbar_back@2x.png */, - DA600C7E15057F0F008E9AB6 /* ui_navbar_button.png */, - DA600C7F15057F0F008E9AB6 /* ui_navbar_button@2x.png */, - DA600C8015057F0F008E9AB6 /* ui_navbar_container.png */, - DA600C8115057F0F008E9AB6 /* ui_navbar_container@2x.png */, - DA600C8215057F0F008E9AB6 /* ui_panel_container.png */, - DA600C8315057F0F008E9AB6 /* ui_panel_container@2x.png */, - DA600C8415057F0F008E9AB6 /* ui_panel_display.png */, - DA600C8515057F0F008E9AB6 /* ui_panel_display@2x.png */, - DA600C8615057F0F008E9AB6 /* ui_progress_bar_label-in_container.png */, - DA600C8715057F0F008E9AB6 /* ui_progress_bar_label-in_container@2x.png */, - DA600C8815057F0F008E9AB6 /* ui_progress_bar_label-in_fill.png */, - DA600C8915057F0F008E9AB6 /* ui_progress_bar_label-in_fill@2x.png */, - DA600C8A15057F0F008E9AB6 /* ui_progress_bar_label-out_container.png */, - DA600C8B15057F0F008E9AB6 /* ui_progress_bar_label-out_container@2x.png */, - DA600C8C15057F0F008E9AB6 /* ui_progress_bar_label-out_fill.png */, - DA600C8D15057F0F008E9AB6 /* ui_progress_bar_label-out_fill@2x.png */, - DA600C8E15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container.png */, - DA600C8F15057F0F008E9AB6 /* ui_progress_bar_unlabelled_container@2x.png */, - DA600C9015057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill.png */, - DA600C9115057F0F008E9AB6 /* ui_progress_bar_unlabelled_fill@2x.png */, - DA600C9215057F0F008E9AB6 /* ui_progress_unlabelled_marks.png */, - DA600C9315057F0F008E9AB6 /* ui_progress_unlabelled_marks@2x.png */, - DA600C9415057F0F008E9AB6 /* ui_slider-knob_container.png */, - DA600C9515057F0F008E9AB6 /* ui_slider-knob_container@2x.png */, - DA600C9615057F0F008E9AB6 /* ui_slider-knob_fill_dark.png */, - DA600C9715057F0F008E9AB6 /* ui_slider-knob_fill_dark@2x.png */, - DA600C9815057F0F008E9AB6 /* ui_slider-knob_fill_light.png */, - DA600C9915057F0F008E9AB6 /* ui_slider-knob_fill_light@2x.png */, - DA600C9A15057F0F008E9AB6 /* ui_slider-stops_container.png */, - DA600C9B15057F0F008E9AB6 /* ui_slider-stops_container@2x.png */, - DA600C9C15057F0F008E9AB6 /* ui_slider-stops_fill.png */, - DA600C9D15057F0F008E9AB6 /* ui_slider-stops_fill@2x.png */, - DA600C9E15057F0F008E9AB6 /* ui_spinner.png */, - DA600C9F15057F0F008E9AB6 /* ui_spinner@2x.png */, - DA600CA015057F0F008E9AB6 /* ui_switch_off.png */, - DA600CA115057F0F008E9AB6 /* ui_switch_off@2x.png */, - DA600CA215057F0F008E9AB6 /* ui_switch_on.png */, - DA600CA315057F0F008E9AB6 /* ui_switch_on@2x.png */, - DA600CA415057F0F008E9AB6 /* ui_tabbar_active.png */, - DA600CA515057F0F008E9AB6 /* ui_tabbar_active@2x.png */, - DA600CA615057F0F008E9AB6 /* ui_tabbar_container.png */, - DA600CA715057F0F008E9AB6 /* ui_tabbar_container@2x.png */, - DA600CA815057F0F008E9AB6 /* ui_textfield.png */, - DA600CA915057F0F008E9AB6 /* ui_textfield@2x.png */, - DA600CAA15057F0F008E9AB6 /* ui_toolbar_container.png */, - DA600CAB15057F0F008E9AB6 /* ui_toolbar_container@2x.png */, - DA600CAC15057F0F008E9AB6 /* ui_toolbar_tab_first.png */, - DA600CAD15057F0F008E9AB6 /* ui_toolbar_tab_first@2x.png */, - DA600CAE15057F0F008E9AB6 /* ui_toolbar_tab_first_active.png */, - DA600CAF15057F0F008E9AB6 /* ui_toolbar_tab_first_active@2x.png */, - DA600CB015057F0F008E9AB6 /* ui_toolbar_tab_last.png */, - DA600CB115057F0F008E9AB6 /* ui_toolbar_tab_last@2x.png */, - DA600CB215057F0F008E9AB6 /* ui_toolbar_tab_last_active.png */, - DA600CB315057F0F008E9AB6 /* ui_toolbar_tab_last_active@2x.png */, - DA600CB415057F0F008E9AB6 /* ui_toolbar_tab_middle.png */, - DA600CB515057F0F008E9AB6 /* ui_toolbar_tab_middle@2x.png */, - DA600CB615057F0F008E9AB6 /* ui_toolbar_tab_middle_active.png */, - DA600CB715057F0F008E9AB6 /* ui_toolbar_tab_middle_active@2x.png */, - ); - path = Automaton; - sourceTree = ""; - }; DA600CB815057F0F008E9AB6 /* Background */ = { isa = PBXGroup; children = ( @@ -3298,6 +3171,7 @@ DAF56A071503C64400996D85 /* scrypt */, DAF571EE1503C75C00996D85 /* openssl */, DA79A9F61558221200BAA07A /* iCloudStoreManager */, + DA34F11D163B8EA3006FFC95 /* jrswizzle */, DAB8D98B150374AD00CED3BC /* Frameworks */, DAB8D989150374AD00CED3BC /* Products */, ); @@ -3309,6 +3183,7 @@ DAB8D988150374AD00CED3BC /* MasterPassword.app */, DAB8D9D81503940100CED3BC /* Pearl.dylib */, DA79A9EA155821E500BAA07A /* libiCloudStoreManager.a */, + DA34F11B163B8EA3006FFC95 /* libjrswizzle.a */, ); name = Products; sourceTree = ""; @@ -3339,60 +3214,44 @@ DAB8D992150374AD00CED3BC /* MasterPassword */ = { isa = PBXGroup; children = ( - DAD312C71553051900A3F9ED /* MasterPassword.entitlements */, - DAB8D9B2150375C800CED3BC /* MasterPassword.xcdatamodeld */, - DAB8D9B4150375C800CED3BC /* Mac */, - DA600C2C150565FC008E9AB6 /* MPAppDelegate_Key.h */, - DA600C2B150565FC008E9AB6 /* MPAppDelegate_Key.m */, - DA79A9DF155821BB00BAA07A /* MPAppDelegate_Shared.h */, - DA79A9E0155821BB00BAA07A /* MPAppDelegate_Shared.m */, - DA79A9E1155821BB00BAA07A /* MPAppDelegate_Store.h */, - DA79A9E2155821BB00BAA07A /* MPAppDelegate_Store.m */, - DA600C29150565FC008E9AB6 /* MPConfig.h */, - DA600C2A150565FC008E9AB6 /* MPConfig.m */, - DAB8D9C0150375C800CED3BC /* MPElementStoredEntity.m */, - DAB8D9C2150375C800CED3BC /* MPElementEntity.h */, - DAB8D9C3150375C800CED3BC /* MPElementEntity.m */, - DAB8D9C5150375C800CED3BC /* MPElementGeneratedEntity.h */, - DAB8D9C6150375C800CED3BC /* MPElementGeneratedEntity.m */, - DAB8D9C7150375C800CED3BC /* MPElementStoredEntity.h */, - DAB8D9C4150375C800CED3BC /* MPTypes.h */, - DAB8D9C1150375C800CED3BC /* MPTypes.m */, + DAF23689163B24D5008AF5B5 /* Mac */, + DAF23699163B24D5008AF5B5 /* MasterPassword.xcdatamodeld */, + DAF2369D163B24D5008AF5B5 /* MPAlgorithm.h */, + DAF2369E163B24D5008AF5B5 /* MPAlgorithm.m */, + DAF2369F163B24D5008AF5B5 /* MPAlgorithmV0.h */, + DAF236A0163B24D5008AF5B5 /* MPAlgorithmV0.m */, + DAF236A1163B24D5008AF5B5 /* MPAlgorithmV1.h */, + DAF236A2163B24D5008AF5B5 /* MPAlgorithmV1.m */, + DAF236A3163B24D5008AF5B5 /* MPAppDelegate_Key.h */, + DAF236A4163B24D5008AF5B5 /* MPAppDelegate_Key.m */, + DAF236A5163B24D5008AF5B5 /* MPAppDelegate_Shared.h */, + DAF236A6163B24D5008AF5B5 /* MPAppDelegate_Shared.m */, + DAF236A7163B24D5008AF5B5 /* MPAppDelegate_Store.h */, + DAF236A8163B24D5008AF5B5 /* MPAppDelegate_Store.m */, + DAF236A9163B24D5008AF5B5 /* MPConfig.h */, + DAF236AA163B24D5008AF5B5 /* MPConfig.m */, + DAF236AB163B24D5008AF5B5 /* MPElementEntity.h */, + DAF236AC163B24D5008AF5B5 /* MPElementEntity.m */, + DAF236AD163B24D5008AF5B5 /* MPElementGeneratedEntity.h */, + DAF236AE163B24D5008AF5B5 /* MPElementGeneratedEntity.m */, + DAF236AF163B24D5008AF5B5 /* MPElementStoredEntity.h */, + DAF236B0163B24D5008AF5B5 /* MPElementStoredEntity.m */, + DAF236B1163B24D5008AF5B5 /* MPEntities.h */, + DAF236B2163B24D5008AF5B5 /* MPEntities.m */, + DAF236B3163B24D5008AF5B5 /* MPKey.h */, + DAF236B4163B24D5008AF5B5 /* MPKey.m */, + DAF236B5163B24D5008AF5B5 /* MPTypes.h */, + DAF236B6163B24D5008AF5B5 /* MPUserEntity.h */, + DAF236B7163B24D5008AF5B5 /* MPUserEntity.m */, ); path = MasterPassword; sourceTree = ""; }; - DAB8D9B4150375C800CED3BC /* Mac */ = { - isa = PBXGroup; - children = ( - DAB8D9D3150375D300CED3BC /* Supporting Files */, - DAB8D9B9150375C800CED3BC /* MainMenu.xib */, - DAB8D9BE150375C800CED3BC /* MPAppDelegate.h */, - DAB8D9BF150375C800CED3BC /* MPAppDelegate.m */, - DA600BE8150420AC008E9AB6 /* MPPasswordWindowController.h */, - DA600BE9150420AC008E9AB6 /* MPPasswordWindowController.m */, - DA600BEA150420AC008E9AB6 /* MPPasswordWindowController.xib */, - ); - path = Mac; - sourceTree = ""; - }; - DAB8D9D3150375D300CED3BC /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DAB8D9B5150375C800CED3BC /* Credits.rtf */, - DAB8D9B7150375C800CED3BC /* InfoPlist.strings */, - DAB8D9BB150375C800CED3BC /* main.m */, - DAB8D9BC150375C800CED3BC /* MasterPassword-Info.plist */, - DAB8D9BD150375C800CED3BC /* MasterPassword-Prefix.pch */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; DAB8D9DA1503940100CED3BC /* Pearl */ = { isa = PBXGroup; children = ( - DAB8D9E31503972100CED3BC /* Pearl */, - DAB8DA081503972100CED3BC /* Pearl-Crypto */, + DA34F08C163B8C31006FFC95 /* Pearl */, + DA34F0BC163B8C31006FFC95 /* Pearl-Crypto */, DAB8D9DB1503940100CED3BC /* Supporting Files */, ); path = Pearl; @@ -3406,70 +3265,6 @@ name = "Supporting Files"; sourceTree = ""; }; - DAB8D9E31503972100CED3BC /* Pearl */ = { - isa = PBXGroup; - children = ( - DAB8D9E41503972100CED3BC /* NSObject_PearlExport.h */, - DAB8D9E51503972100CED3BC /* NSObject_PearlExport.m */, - DAB8D9E61503972100CED3BC /* NSString_PearlNSArrayFormat.h */, - DAB8D9E71503972100CED3BC /* NSString_PearlNSArrayFormat.m */, - DAB8D9E81503972100CED3BC /* NSString_PearlSEL.h */, - DAB8D9E91503972100CED3BC /* NSString_PearlSEL.m */, - DAB8D9EA1503972100CED3BC /* Pearl.h */, - DAB8D9EB1503972100CED3BC /* PearlAbstractStrings.h */, - DAB8D9EC1503972100CED3BC /* PearlAbstractStrings.m */, - DAB8D9EF1503972100CED3BC /* PearlCodeUtils.h */, - DAB8D9F01503972100CED3BC /* PearlCodeUtils.m */, - DAB8D9F11503972100CED3BC /* PearlConfig.h */, - DAB8D9F21503972100CED3BC /* PearlConfig.m */, - DAB8D9F31503972100CED3BC /* PearlDeviceUtils.h */, - DAB8D9F41503972100CED3BC /* PearlDeviceUtils.m */, - DAB8D9F51503972100CED3BC /* PearlInfoPlist.h */, - DAB8D9F61503972100CED3BC /* PearlInfoPlist.m */, - DAB8D9F71503972100CED3BC /* PearlLogger.h */, - DAB8D9F81503972100CED3BC /* PearlLogger.m */, - DAB8D9F91503972100CED3BC /* PearlMathUtils.h */, - DAB8D9FA1503972100CED3BC /* PearlMathUtils.m */, - DAB8D9FB1503972100CED3BC /* PearlObjectUtils.h */, - DAB8D9FC1503972100CED3BC /* PearlObjectUtils.m */, - DAB8D9FD1503972100CED3BC /* PearlResettable.h */, - DAB8D9FE1503972100CED3BC /* PearlStrings.h */, - DAB8D9FF1503972100CED3BC /* PearlStrings.m */, - DAB8DA001503972100CED3BC /* PearlStringUtils.h */, - DAB8DA011503972100CED3BC /* PearlStringUtils.m */, - DAB8DA041503972100CED3BC /* README */, - DAB8DA051503972100CED3BC /* Resources */, - ); - name = Pearl; - path = External/Pearl/Pearl; - sourceTree = SOURCE_ROOT; - }; - DAB8DA051503972100CED3BC /* Resources */ = { - isa = PBXGroup; - children = ( - DAB8DA061503972100CED3BC /* Pearl.strings */, - ); - path = Resources; - sourceTree = ""; - }; - DAB8DA081503972100CED3BC /* Pearl-Crypto */ = { - isa = PBXGroup; - children = ( - DAB8DA091503972100CED3BC /* Pearl-Crypto.h */, - DAB8DA0A1503972100CED3BC /* PearlCryptUtils.h */, - DAB8DA0B1503972100CED3BC /* PearlCryptUtils.m */, - DAB8DA0C1503972100CED3BC /* PearlKeyChain.h */, - DAB8DA0D1503972100CED3BC /* PearlKeyChain.m */, - DAB8DA0E1503972100CED3BC /* PearlRSAKey.h */, - DAB8DA0F1503972100CED3BC /* PearlRSAKey.m */, - DAB8DA101503972100CED3BC /* PearlSCrypt.h */, - DAB8DA111503972100CED3BC /* PearlSCrypt.m */, - DAB8DA121503972100CED3BC /* README */, - ); - name = "Pearl-Crypto"; - path = "External/Pearl/Pearl-Crypto"; - sourceTree = SOURCE_ROOT; - }; DADEA5A81503CE3000FD084E /* MacOS */ = { isa = PBXGroup; children = ( @@ -3502,6 +3297,27 @@ path = GetHTTPS.src; sourceTree = ""; }; + DAF23689163B24D5008AF5B5 /* Mac */ = { + isa = PBXGroup; + children = ( + DA6701B41640515700B61001 /* MPMacConfig.h */, + DA6701B51640515700B61001 /* MPMacConfig.m */, + DAF2368A163B24D5008AF5B5 /* Credits.rtf */, + DAF2368C163B24D5008AF5B5 /* InfoPlist.strings */, + DAF2368E163B24D5008AF5B5 /* MainMenu.xib */, + DAF23690163B24D5008AF5B5 /* main.m */, + DAF23691163B24D5008AF5B5 /* MasterPassword-Info.plist */, + DAF23692163B24D5008AF5B5 /* MasterPassword-Prefix.pch */, + DAF23693163B24D5008AF5B5 /* MasterPassword.entitlements */, + DAF23694163B24D5008AF5B5 /* MPAppDelegate.h */, + DAF23695163B24D5008AF5B5 /* MPAppDelegate.m */, + DAF23696163B24D5008AF5B5 /* MPPasswordWindowController.h */, + DAF23697163B24D5008AF5B5 /* MPPasswordWindowController.m */, + DAF23698163B24D5008AF5B5 /* MPPasswordWindowController.xib */, + ); + path = Mac; + sourceTree = ""; + }; DAF56A071503C64400996D85 /* scrypt */ = { isa = PBXGroup; children = ( @@ -5193,6 +5009,14 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + DA34F119163B8EA3006FFC95 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DA34F145163B8EDD006FFC95 /* JRSwizzle.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DA79A9E8155821E500BAA07A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -5205,32 +5029,56 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DAB8DA131503972100CED3BC /* NSObject_PearlExport.h in Headers */, - DAB8DA151503972100CED3BC /* NSString_PearlNSArrayFormat.h in Headers */, - DAB8DA171503972100CED3BC /* NSString_PearlSEL.h in Headers */, - DAB8DA191503972100CED3BC /* Pearl.h in Headers */, - DAB8DA1A1503972100CED3BC /* PearlAbstractStrings.h in Headers */, - DAB8DA1E1503972100CED3BC /* PearlCodeUtils.h in Headers */, - DAB8DA201503972100CED3BC /* PearlConfig.h in Headers */, - DAB8DA221503972100CED3BC /* PearlDeviceUtils.h in Headers */, - DAB8DA241503972100CED3BC /* PearlInfoPlist.h in Headers */, - DAB8DA261503972100CED3BC /* PearlLogger.h in Headers */, - DAB8DA281503972100CED3BC /* PearlMathUtils.h in Headers */, - DAB8DA2A1503972100CED3BC /* PearlObjectUtils.h in Headers */, - DAB8DA2C1503972100CED3BC /* PearlResettable.h in Headers */, - DAB8DA2D1503972100CED3BC /* PearlStrings.h in Headers */, - DAB8DA2F1503972100CED3BC /* PearlStringUtils.h in Headers */, - DAB8DA331503972100CED3BC /* Pearl-Crypto.h in Headers */, - DAB8DA341503972100CED3BC /* PearlCryptUtils.h in Headers */, - DAB8DA361503972100CED3BC /* PearlKeyChain.h in Headers */, - DAB8DA381503972100CED3BC /* PearlRSAKey.h in Headers */, - DAB8DA3A1503972100CED3BC /* PearlSCrypt.h in Headers */, + DA34F0CC163B8C31006FFC95 /* NSArray+Indexing.h in Headers */, + DA34F0CE163B8C31006FFC95 /* NSBundle+PearlMutableInfo.h in Headers */, + DA34F0D0163B8C31006FFC95 /* NSDateFormatter+RFC3339.h in Headers */, + DA34F0D2163B8C31006FFC95 /* NSDictionary+Indexing.h in Headers */, + DA34F0D4163B8C31006FFC95 /* NSObject+PearlExport.h in Headers */, + DA34F0D6163B8C31006FFC95 /* NSObject+PearlKVO.h in Headers */, + DA34F0D8163B8C31006FFC95 /* NSString+PearlNSArrayFormat.h in Headers */, + DA34F0DA163B8C31006FFC95 /* NSString+PearlSEL.h in Headers */, + DA34F0DC163B8C31006FFC95 /* Pearl.h in Headers */, + DA34F0DE163B8C31006FFC95 /* PearlAbstractStrings.h in Headers */, + DA34F0E0163B8C31006FFC95 /* PearlCodeUtils.h in Headers */, + DA34F0E2163B8C31006FFC95 /* PearlConfig.h in Headers */, + DA34F0E4163B8C31006FFC95 /* PearlDeviceUtils.h in Headers */, + DA34F0E6163B8C31006FFC95 /* PearlInfoPlist.h in Headers */, + DA34F0E8163B8C31006FFC95 /* PearlLazy.h in Headers */, + DA34F0EA163B8C31006FFC95 /* PearlLogger.h in Headers */, + DA34F0EC163B8C31006FFC95 /* PearlMathUtils.h in Headers */, + DA34F0EE163B8C31006FFC95 /* PearlObjectUtils.h in Headers */, + DA34F0F0163B8C31006FFC95 /* PearlQueue.h in Headers */, + DA34F0F2163B8C31006FFC95 /* PearlResettable.h in Headers */, + DA34F0F3163B8C31006FFC95 /* PearlStrings.h in Headers */, + DA34F0F5163B8C31006FFC95 /* PearlStringUtils.h in Headers */, + DA34F0FB163B8C31006FFC95 /* Pearl-Crypto.h in Headers */, + DA34F0FD163B8C31006FFC95 /* PearlCryptUtils.h in Headers */, + DA34F0FF163B8C31006FFC95 /* PearlKeyChain.h in Headers */, + DA34F101163B8C31006FFC95 /* PearlRSAKey.h in Headers */, + DA34F103163B8C31006FFC95 /* PearlSCrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + DA34F11A163B8EA3006FFC95 /* jrswizzle */ = { + isa = PBXNativeTarget; + buildConfigurationList = DA34F123163B8EA3006FFC95 /* Build configuration list for PBXNativeTarget "jrswizzle" */; + buildPhases = ( + DA34F117163B8EA3006FFC95 /* Sources */, + DA34F118163B8EA3006FFC95 /* Frameworks */, + DA34F119163B8EA3006FFC95 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = jrswizzle; + productName = jrswizzle; + productReference = DA34F11B163B8EA3006FFC95 /* libjrswizzle.a */; + productType = "com.apple.product-type.library.static"; + }; DA79A9E9155821E500BAA07A /* iCloudStoreManager */ = { isa = PBXNativeTarget; buildConfigurationList = DA79A9F3155821E500BAA07A /* Build configuration list for PBXNativeTarget "iCloudStoreManager" */; @@ -5256,7 +5104,7 @@ DAB8D985150374AD00CED3BC /* Frameworks */, DAB8D986150374AD00CED3BC /* Resources */, DA60116B15060F11008E9AB6 /* CopyFiles */, - DAD312C9155305B200A3F9ED /* ShellScript */, + DAD312C9155305B200A3F9ED /* Run Script: GIT version -> Info.plist */, ); buildRules = ( ); @@ -5309,6 +5157,7 @@ DAB8D987150374AD00CED3BC /* MasterPassword */, DAB8D9D71503940100CED3BC /* Pearl */, DA79A9E9155821E500BAA07A /* iCloudStoreManager */, + DA34F11A163B8EA3006FFC95 /* jrswizzle */, ); }; /* End PBXProject section */ @@ -5319,104 +5168,6 @@ buildActionMask = 2147483647; files = ( DAC0F184150D643C00D4AB0A /* jquery-1.6.1.min.js in Resources */, - DAB8D9C9150375C800CED3BC /* Credits.rtf in Resources */, - DAB8D9CA150375C800CED3BC /* InfoPlist.strings in Resources */, - DAB8D9CB150375C800CED3BC /* MainMenu.xib in Resources */, - DA600BEC150420AC008E9AB6 /* MPPasswordWindowController.xib in Resources */, - DA600C5615057631008E9AB6 /* Pearl.strings in Resources */, - DA600EE415057F10008E9AB6 /* ui_background.png in Resources */, - DA600EE515057F10008E9AB6 /* ui_background@2x.png in Resources */, - DA600EE615057F10008E9AB6 /* ui_box_checked.png in Resources */, - DA600EE715057F10008E9AB6 /* ui_box_checked@2x.png in Resources */, - DA600EE815057F10008E9AB6 /* ui_box_empty.png in Resources */, - DA600EE915057F10008E9AB6 /* ui_box_empty@2x.png in Resources */, - DA600EEA15057F10008E9AB6 /* ui_box_filled.png in Resources */, - DA600EEB15057F10008E9AB6 /* ui_box_filled@2x.png in Resources */, - DA600EEC15057F10008E9AB6 /* ui_button_green_large.png in Resources */, - DA600EED15057F10008E9AB6 /* ui_button_green_large@2x.png in Resources */, - DA600EEE15057F10008E9AB6 /* ui_button_green_small.png in Resources */, - DA600EEF15057F10008E9AB6 /* ui_button_green_small@2x.png in Resources */, - DA600EF015057F10008E9AB6 /* ui_button_red_large.png in Resources */, - DA600EF115057F10008E9AB6 /* ui_button_red_large@2x.png in Resources */, - DA600EF215057F10008E9AB6 /* ui_button_red_small.png in Resources */, - DA600EF315057F10008E9AB6 /* ui_button_red_small@2x.png in Resources */, - DA600EF415057F10008E9AB6 /* ui_button_standard_large.png in Resources */, - DA600EF515057F10008E9AB6 /* ui_button_standard_large@2x.png in Resources */, - DA600EF615057F10008E9AB6 /* ui_button_standard_small.png in Resources */, - DA600EF715057F10008E9AB6 /* ui_button_standard_small@2x.png in Resources */, - DA600EF815057F10008E9AB6 /* ui_dropdown.png in Resources */, - DA600EF915057F10008E9AB6 /* ui_dropdown@2x.png in Resources */, - DA600EFA15057F10008E9AB6 /* ui_list_arrow.png in Resources */, - DA600EFB15057F10008E9AB6 /* ui_list_arrow@2x.png in Resources */, - DA600EFC15057F10008E9AB6 /* ui_list_arrow_active.png in Resources */, - DA600EFD15057F10008E9AB6 /* ui_list_arrow_active@2x.png in Resources */, - DA600EFE15057F10008E9AB6 /* ui_list_first.png in Resources */, - DA600EFF15057F10008E9AB6 /* ui_list_first@2x.png in Resources */, - DA600F0015057F10008E9AB6 /* ui_list_last.png in Resources */, - DA600F0115057F10008E9AB6 /* ui_list_last@2x.png in Resources */, - DA600F0215057F10008E9AB6 /* ui_list_middle.png in Resources */, - DA600F0315057F10008E9AB6 /* ui_list_middle@2x.png in Resources */, - DA600F0415057F10008E9AB6 /* ui_navbar@2x.png in Resources */, - DA600F0515057F10008E9AB6 /* ui_navbar_back.png in Resources */, - DA600F0615057F10008E9AB6 /* ui_navbar_back@2x.png in Resources */, - DA600F0715057F10008E9AB6 /* ui_navbar_button.png in Resources */, - DA600F0815057F10008E9AB6 /* ui_navbar_button@2x.png in Resources */, - DA600F0915057F10008E9AB6 /* ui_navbar_container.png in Resources */, - DA600F0A15057F10008E9AB6 /* ui_navbar_container@2x.png in Resources */, - DA600F0B15057F10008E9AB6 /* ui_panel_container.png in Resources */, - DA600F0C15057F10008E9AB6 /* ui_panel_container@2x.png in Resources */, - DA600F0D15057F10008E9AB6 /* ui_panel_display.png in Resources */, - DA600F0E15057F10008E9AB6 /* ui_panel_display@2x.png in Resources */, - DA600F0F15057F10008E9AB6 /* ui_progress_bar_label-in_container.png in Resources */, - DA600F1015057F10008E9AB6 /* ui_progress_bar_label-in_container@2x.png in Resources */, - DA600F1115057F10008E9AB6 /* ui_progress_bar_label-in_fill.png in Resources */, - DA600F1215057F10008E9AB6 /* ui_progress_bar_label-in_fill@2x.png in Resources */, - DA600F1315057F10008E9AB6 /* ui_progress_bar_label-out_container.png in Resources */, - DA600F1415057F10008E9AB6 /* ui_progress_bar_label-out_container@2x.png in Resources */, - DA600F1515057F10008E9AB6 /* ui_progress_bar_label-out_fill.png in Resources */, - DA600F1615057F10008E9AB6 /* ui_progress_bar_label-out_fill@2x.png in Resources */, - DA600F1715057F10008E9AB6 /* ui_progress_bar_unlabelled_container.png in Resources */, - DA600F1815057F10008E9AB6 /* ui_progress_bar_unlabelled_container@2x.png in Resources */, - DA600F1915057F10008E9AB6 /* ui_progress_bar_unlabelled_fill.png in Resources */, - DA600F1A15057F10008E9AB6 /* ui_progress_bar_unlabelled_fill@2x.png in Resources */, - DA600F1B15057F10008E9AB6 /* ui_progress_unlabelled_marks.png in Resources */, - DA600F1C15057F10008E9AB6 /* ui_progress_unlabelled_marks@2x.png in Resources */, - DA600F1D15057F10008E9AB6 /* ui_slider-knob_container.png in Resources */, - DA600F1E15057F10008E9AB6 /* ui_slider-knob_container@2x.png in Resources */, - DA600F1F15057F10008E9AB6 /* ui_slider-knob_fill_dark.png in Resources */, - DA600F2015057F10008E9AB6 /* ui_slider-knob_fill_dark@2x.png in Resources */, - DA600F2115057F10008E9AB6 /* ui_slider-knob_fill_light.png in Resources */, - DA600F2215057F10008E9AB6 /* ui_slider-knob_fill_light@2x.png in Resources */, - DA600F2315057F10008E9AB6 /* ui_slider-stops_container.png in Resources */, - DA600F2415057F10008E9AB6 /* ui_slider-stops_container@2x.png in Resources */, - DA600F2515057F10008E9AB6 /* ui_slider-stops_fill.png in Resources */, - DA600F2615057F10008E9AB6 /* ui_slider-stops_fill@2x.png in Resources */, - DA600F2715057F10008E9AB6 /* ui_spinner.png in Resources */, - DA600F2815057F10008E9AB6 /* ui_spinner@2x.png in Resources */, - DA600F2915057F10008E9AB6 /* ui_switch_off.png in Resources */, - DA600F2A15057F10008E9AB6 /* ui_switch_off@2x.png in Resources */, - DA600F2B15057F10008E9AB6 /* ui_switch_on.png in Resources */, - DA600F2C15057F10008E9AB6 /* ui_switch_on@2x.png in Resources */, - DA600F2D15057F10008E9AB6 /* ui_tabbar_active.png in Resources */, - DA600F2E15057F10008E9AB6 /* ui_tabbar_active@2x.png in Resources */, - DA600F2F15057F10008E9AB6 /* ui_tabbar_container.png in Resources */, - DA600F3015057F10008E9AB6 /* ui_tabbar_container@2x.png in Resources */, - DA600F3115057F10008E9AB6 /* ui_textfield.png in Resources */, - DA600F3215057F10008E9AB6 /* ui_textfield@2x.png in Resources */, - DA600F3315057F10008E9AB6 /* ui_toolbar_container.png in Resources */, - DA600F3415057F10008E9AB6 /* ui_toolbar_container@2x.png in Resources */, - DA600F3515057F10008E9AB6 /* ui_toolbar_tab_first.png in Resources */, - DA600F3615057F10008E9AB6 /* ui_toolbar_tab_first@2x.png in Resources */, - DA600F3715057F10008E9AB6 /* ui_toolbar_tab_first_active.png in Resources */, - DA600F3815057F10008E9AB6 /* ui_toolbar_tab_first_active@2x.png in Resources */, - DA600F3915057F10008E9AB6 /* ui_toolbar_tab_last.png in Resources */, - DA600F3A15057F10008E9AB6 /* ui_toolbar_tab_last@2x.png in Resources */, - DA600F3B15057F10008E9AB6 /* ui_toolbar_tab_last_active.png in Resources */, - DA600F3C15057F10008E9AB6 /* ui_toolbar_tab_last_active@2x.png in Resources */, - DA600F3D15057F10008E9AB6 /* ui_toolbar_tab_middle.png in Resources */, - DA600F3E15057F10008E9AB6 /* ui_toolbar_tab_middle@2x.png in Resources */, - DA600F3F15057F10008E9AB6 /* ui_toolbar_tab_middle_active.png in Resources */, - DA600F4015057F10008E9AB6 /* ui_toolbar_tab_middle_active@2x.png in Resources */, DA600F4115057F10008E9AB6 /* background.png in Resources */, DA600F4315057F10008E9AB6 /* background@2x.png in Resources */, DA600F4415057F10008E9AB6 /* ciphers.plist in Resources */, @@ -5963,29 +5714,43 @@ DA60116515057F10008E9AB6 /* tip_location_wood@2x.png in Resources */, DA60116715057FDD008E9AB6 /* iTunesArtwork-Rounded.png in Resources */, DA44255A15548F2C0052177D /* Icon.icns in Resources */, + DAF236B8163B24D5008AF5B5 /* Credits.rtf in Resources */, + DAF236B9163B24D5008AF5B5 /* InfoPlist.strings in Resources */, + DAF236BA163B24D5008AF5B5 /* MainMenu.xib in Resources */, + DAF236BD163B24D5008AF5B5 /* MasterPassword.entitlements in Resources */, + DAF236C0163B24D5008AF5B5 /* MPPasswordWindowController.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - DAD312C9155305B200A3F9ED /* ShellScript */ = { + DAD312C9155305B200A3F9ED /* Run Script: GIT version -> Info.plist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); + name = "Run Script: GIT version -> Info.plist"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = "/bin/bash -e"; - shellScript = "PATH+=:/usr/libexec\n\nsetPlistWithKey() {\n local key=$1 value=$2 plist=${3:-\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"}\n \n PlistBuddy -c \"Set :'$key' $value\" \"$plist\"\n}\ngetPlistWithKey() {\n local key=$1 plist=${2:-\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"}\n \n PlistBuddy -c \"Print :'$key'\" \"$plist\"\n}\nsetSettingWithTitle() {\n local i title=$1 value=$2 plist=${3:-\"$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Settings.bundle/Root.plist\"}\n \n for (( i=0; 1; ++i )); do\n PlistBuddy -c \"Print :PreferenceSpecifiers:$i\" \"$plist\" &>/dev/null || break\n echo \"Checking preference specifier $i\"\n \n [[ $(PlistBuddy -c \"Print :PreferenceSpecifiers:$i:Title\" \"$plist\" 2>/dev/null) = $title ]] || continue\n \n echo \"Correct title, setting value.\"\n PlistBuddy -c \"Set :PreferenceSpecifiers:$i:DefaultValue $value\" \"$plist\"\n break\n done\n}\n\nbuild=$(git describe --tags --always --dirty --long)\ntag=$(git describe --tags | sed 's/-\\([^-]*\\)-[^-]*$/.\\1/')\n\nsetPlistWithKey CFBundleVersion \"$build\"\nsetPlistWithKey CFBundleShortVersionString \"$tag\"\n\nsetSettingWithTitle \"Build\" \"$build\"\nsetSettingWithTitle \"Version\" \"$tag\"\nsetSettingWithTitle \"Copyright\" \"$(getPlistWithKey NSHumanReadableCopyright)\"\n"; + shellScript = "PATH+=:/usr/libexec\n\naddPlistWithKey() {\n local key=$1 type=$2 value=$3 plist=${4:-\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"}\n \n PlistBuddy -c \"Delete :'$key'\" \"$plist\" || true\n PlistBuddy -c \"Add :'$key' '$type' '$value'\" \"$plist\"\n}\nsetPlistWithKey() {\n local key=$1 value=$2 plist=${3:-\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"}\n \n PlistBuddy -c \"Set :'$key' '$value'\" \"$plist\"\n}\ngetPlistWithKey() {\n local key=$1 plist=${2:-\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"}\n \n PlistBuddy -c \"Print :'$key'\" \"$plist\"\n}\nsetSettingWithTitle() {\n local i title=$1 value=$2 plist=${3:-\"$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Settings.bundle/Root.plist\"}\n \n for (( i=0; 1; ++i )); do\n PlistBuddy -c \"Print :PreferenceSpecifiers:$i\" \"$plist\" &>/dev/null || break\n echo \"Checking preference specifier $i\"\n \n [[ $(PlistBuddy -c \"Print :PreferenceSpecifiers:$i:Title\" \"$plist\" 2>/dev/null) = $title ]] || continue\n \n echo \"Correct title, setting value.\"\n PlistBuddy -c \"Set :PreferenceSpecifiers:$i:DefaultValue $value\" \"$plist\"\n break\n done\n}\n\ndescription=$(git describe --always --dirty --long)\nbuild=${description%-g*} build=${build//-/.}\n tag=${description%%-*}\n \n addPlistWithKey GITDescription string \"$description\"\n setPlistWithKey CFBundleVersion \"$build\"\n setPlistWithKey CFBundleShortVersionString \"$tag\"\n \n setSettingWithTitle \"Build\" \"$build\"\n setSettingWithTitle \"Version\" \"$tag\"\n setSettingWithTitle \"Copyright\" \"$(getPlistWithKey NSHumanReadableCopyright)\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + DA34F117163B8EA3006FFC95 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA34F146163B8EDD006FFC95 /* JRSwizzle.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DA79A9E6155821E500BAA07A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5998,18 +5763,24 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DAB8D9C8150375C800CED3BC /* MasterPassword.xcdatamodeld in Sources */, - DAB8D9CC150375C800CED3BC /* main.m in Sources */, - DAB8D9CE150375C800CED3BC /* MPAppDelegate.m in Sources */, - DAB8D9CF150375C800CED3BC /* MPElementStoredEntity.m in Sources */, - DAB8D9D0150375C800CED3BC /* MPTypes.m in Sources */, - DAB8D9D1150375C800CED3BC /* MPElementEntity.m in Sources */, - DAB8D9D2150375C800CED3BC /* MPElementGeneratedEntity.m in Sources */, - DA600BEB150420AC008E9AB6 /* MPPasswordWindowController.m in Sources */, - DA600C2D150565FC008E9AB6 /* MPConfig.m in Sources */, - DA600C2E150565FC008E9AB6 /* MPAppDelegate_Key.m in Sources */, - DA79A9E3155821BB00BAA07A /* MPAppDelegate_Shared.m in Sources */, - DA79A9E4155821BB00BAA07A /* MPAppDelegate_Store.m in Sources */, + DAF236BB163B24D5008AF5B5 /* main.m in Sources */, + DAF236BE163B24D5008AF5B5 /* MPAppDelegate.m in Sources */, + DAF236BF163B24D5008AF5B5 /* MPPasswordWindowController.m in Sources */, + DAF236C1163B24D5008AF5B5 /* MasterPassword.xcdatamodeld in Sources */, + DAF236C2163B24D5008AF5B5 /* MPAlgorithm.m in Sources */, + DAF236C3163B24D5008AF5B5 /* MPAlgorithmV0.m in Sources */, + DAF236C4163B24D5008AF5B5 /* MPAlgorithmV1.m in Sources */, + DAF236C5163B24D5008AF5B5 /* MPAppDelegate_Key.m in Sources */, + DAF236C6163B24D5008AF5B5 /* MPAppDelegate_Shared.m in Sources */, + DAF236C7163B24D5008AF5B5 /* MPAppDelegate_Store.m in Sources */, + DAF236C8163B24D5008AF5B5 /* MPConfig.m in Sources */, + DAF236C9163B24D5008AF5B5 /* MPElementEntity.m in Sources */, + DAF236CA163B24D5008AF5B5 /* MPElementGeneratedEntity.m in Sources */, + DAF236CB163B24D5008AF5B5 /* MPElementStoredEntity.m in Sources */, + DAF236CC163B24D5008AF5B5 /* MPEntities.m in Sources */, + DAF236CD163B24D5008AF5B5 /* MPKey.m in Sources */, + DAF236CE163B24D5008AF5B5 /* MPUserEntity.m in Sources */, + DA6701B61640515700B61001 /* MPMacConfig.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -6017,64 +5788,85 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DAB8DA141503972100CED3BC /* NSObject_PearlExport.m in Sources */, - DAB8DA161503972100CED3BC /* NSString_PearlNSArrayFormat.m in Sources */, - DAB8DA181503972100CED3BC /* NSString_PearlSEL.m in Sources */, - DAB8DA1B1503972100CED3BC /* PearlAbstractStrings.m in Sources */, - DAB8DA1F1503972100CED3BC /* PearlCodeUtils.m in Sources */, - DAB8DA211503972100CED3BC /* PearlConfig.m in Sources */, - DAB8DA231503972100CED3BC /* PearlDeviceUtils.m in Sources */, - DAB8DA251503972100CED3BC /* PearlInfoPlist.m in Sources */, - DAB8DA271503972100CED3BC /* PearlLogger.m in Sources */, - DAB8DA291503972100CED3BC /* PearlMathUtils.m in Sources */, - DAB8DA2B1503972100CED3BC /* PearlObjectUtils.m in Sources */, - DAB8DA2E1503972100CED3BC /* PearlStrings.m in Sources */, - DAB8DA301503972100CED3BC /* PearlStringUtils.m in Sources */, - DAB8DA351503972100CED3BC /* PearlCryptUtils.m in Sources */, - DAB8DA371503972100CED3BC /* PearlKeyChain.m in Sources */, - DAB8DA391503972100CED3BC /* PearlRSAKey.m in Sources */, - DAB8DA3B1503972100CED3BC /* PearlSCrypt.m in Sources */, + DA34F0CD163B8C31006FFC95 /* NSArray+Indexing.m in Sources */, + DA34F0CF163B8C31006FFC95 /* NSBundle+PearlMutableInfo.m in Sources */, + DA34F0D1163B8C31006FFC95 /* NSDateFormatter+RFC3339.m in Sources */, + DA34F0D3163B8C31006FFC95 /* NSDictionary+Indexing.m in Sources */, + DA34F0D5163B8C31006FFC95 /* NSObject+PearlExport.m in Sources */, + DA34F0D7163B8C31006FFC95 /* NSObject+PearlKVO.m in Sources */, + DA34F0D9163B8C31006FFC95 /* NSString+PearlNSArrayFormat.m in Sources */, + DA34F0DB163B8C31006FFC95 /* NSString+PearlSEL.m in Sources */, + DA34F0DD163B8C31006FFC95 /* Pearl.m in Sources */, + DA34F0DF163B8C31006FFC95 /* PearlAbstractStrings.m in Sources */, + DA34F0E1163B8C31006FFC95 /* PearlCodeUtils.m in Sources */, + DA34F0E3163B8C31006FFC95 /* PearlConfig.m in Sources */, + DA34F0E5163B8C31006FFC95 /* PearlDeviceUtils.m in Sources */, + DA34F0E7163B8C31006FFC95 /* PearlInfoPlist.m in Sources */, + DA34F0E9163B8C31006FFC95 /* PearlLazy.m in Sources */, + DA34F0EB163B8C31006FFC95 /* PearlLogger.m in Sources */, + DA34F0ED163B8C31006FFC95 /* PearlMathUtils.m in Sources */, + DA34F0EF163B8C31006FFC95 /* PearlObjectUtils.m in Sources */, + DA34F0F1163B8C31006FFC95 /* PearlQueue.m in Sources */, + DA34F0F4163B8C31006FFC95 /* PearlStrings.m in Sources */, + DA34F0F6163B8C31006FFC95 /* PearlStringUtils.m in Sources */, + DA34F0FC163B8C31006FFC95 /* Pearl-Crypto.m in Sources */, + DA34F0FE163B8C31006FFC95 /* PearlCryptUtils.m in Sources */, + DA34F100163B8C31006FFC95 /* PearlKeyChain.m in Sources */, + DA34F102163B8C31006FFC95 /* PearlRSAKey.m in Sources */, + DA34F104163B8C31006FFC95 /* PearlSCrypt.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - DAB8D9B5150375C800CED3BC /* Credits.rtf */ = { + DA34F0BA163B8C31006FFC95 /* Pearl.strings */ = { isa = PBXVariantGroup; children = ( - DAB8D9B6150375C800CED3BC /* en */, + DA34F0BB163B8C31006FFC95 /* en */, + ); + name = Pearl.strings; + sourceTree = ""; + }; + DAF2368A163B24D5008AF5B5 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + DAF2368B163B24D5008AF5B5 /* en */, ); name = Credits.rtf; sourceTree = ""; }; - DAB8D9B7150375C800CED3BC /* InfoPlist.strings */ = { + DAF2368C163B24D5008AF5B5 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - DAB8D9B8150375C800CED3BC /* en */, + DAF2368D163B24D5008AF5B5 /* en */, ); name = InfoPlist.strings; sourceTree = ""; }; - DAB8D9B9150375C800CED3BC /* MainMenu.xib */ = { + DAF2368E163B24D5008AF5B5 /* MainMenu.xib */ = { isa = PBXVariantGroup; children = ( - DAB8D9BA150375C800CED3BC /* en */, + DAF2368F163B24D5008AF5B5 /* en */, ); name = MainMenu.xib; sourceTree = ""; }; - DAB8DA061503972100CED3BC /* Pearl.strings */ = { - isa = PBXVariantGroup; - children = ( - DAB8DA071503972100CED3BC /* en */, - ); - name = Pearl.strings; - sourceTree = ""; - }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + DA34F124163B8EA3006FFC95 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + DA34F125163B8EA3006FFC95 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; DA79A9F4155821E500BAA07A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -6095,10 +5887,15 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; + CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; + CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; + CODE_SIGN_IDENTITY = "Mac Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -6141,6 +5938,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; SDKROOT = macosx; SKIP_INSTALL = YES; }; @@ -6154,10 +5952,15 @@ CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; + CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; + CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; + CODE_SIGN_IDENTITY = "3rd Party Mac Developer Application"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -6193,15 +5996,17 @@ LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + VALIDATE_PRODUCT = YES; }; name = Release; }; DAB8D9AA150374AD00CED3BC /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_ENTITLEMENTS = MasterPassword/MasterPassword.entitlements; + CODE_SIGN_ENTITLEMENTS = MasterPassword/Mac/MasterPassword.entitlements; CODE_SIGN_IDENTITY = "Mac Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MasterPassword/Mac/MasterPassword-Prefix.pch"; @@ -6214,12 +6019,10 @@ DAB8D9AB150374AD00CED3BC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_ENTITLEMENTS = MasterPassword/MasterPassword.entitlements; - CODE_SIGN_IDENTITY = "Mac Developer"; + CODE_SIGN_ENTITLEMENTS = MasterPassword/Mac/MasterPassword.entitlements; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MasterPassword/Mac/MasterPassword-Prefix.pch"; INFOPLIST_FILE = "MasterPassword/Mac/MasterPassword-Info.plist"; - PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; }; name = Release; @@ -6257,6 +6060,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + DA34F123163B8EA3006FFC95 /* Build configuration list for PBXNativeTarget "jrswizzle" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DA34F124163B8EA3006FFC95 /* Debug */, + DA34F125163B8EA3006FFC95 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DA79A9F3155821E500BAA07A /* Build configuration list for PBXNativeTarget "iCloudStoreManager" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -6296,12 +6108,14 @@ /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ - DAB8D9B2150375C800CED3BC /* MasterPassword.xcdatamodeld */ = { + DAF23699163B24D5008AF5B5 /* MasterPassword.xcdatamodeld */ = { isa = XCVersionGroup; children = ( - DAB8D9B3150375C800CED3BC /* MasterPassword.xcdatamodel */, + DAF2369A163B24D5008AF5B5 /* MasterPassword 1.xcdatamodel */, + DAF2369B163B24D5008AF5B5 /* MasterPassword 2.xcdatamodel */, + DAF2369C163B24D5008AF5B5 /* MasterPassword 3.xcdatamodel */, ); - currentVersion = DAB8D9B3150375C800CED3BC /* MasterPassword.xcdatamodel */; + currentVersion = DAF2369A163B24D5008AF5B5 /* MasterPassword 1.xcdatamodel */; path = MasterPassword.xcdatamodeld; sourceTree = ""; versionGroupType = wrapper.xcdatamodel; diff --git a/MasterPassword-iOS.xcodeproj/project.pbxproj b/MasterPassword-iOS.xcodeproj/project.pbxproj index 742919e4..4693da47 100644 --- a/MasterPassword-iOS.xcodeproj/project.pbxproj +++ b/MasterPassword-iOS.xcodeproj/project.pbxproj @@ -94,8 +94,6 @@ DA4ECA2B160D94A80012ABB9 /* libTestFlight.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA4ECA26160D94A80012ABB9 /* libTestFlight.a */; }; DA4ECA2E160D94A80012ABB9 /* TestFlight.plist in Resources */ = {isa = PBXBuildFile; fileRef = DA4ECA2A160D94A80012ABB9 /* TestFlight.plist */; }; DA55873F15E81D9E00860B4F /* iTunesArtwork-Rounded-73.png in Resources */ = {isa = PBXBuildFile; fileRef = DA55873E15E81D9E00860B4F /* iTunesArtwork-Rounded-73.png */; }; - DA55878015E82C0300860B4F /* FacebookSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA55877F15E82C0300860B4F /* FacebookSDK.framework */; }; - DA55878215E82C2B00860B4F /* FacebookSDKResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DA55878115E82C2B00860B4F /* FacebookSDKResources.bundle */; }; DA5587EB15E83C3200860B4F /* social-facebook.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5587E515E83C3200860B4F /* social-facebook.png */; }; DA5587EC15E83C3200860B4F /* social-facebook@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5587E615E83C3200860B4F /* social-facebook@2x.png */; }; DA5587ED15E83C3200860B4F /* social-google+.png in Resources */ = {isa = PBXBuildFile; fileRef = DA5587E715E83C3200860B4F /* social-google+.png */; }; @@ -131,6 +129,11 @@ DA609F5C1600CE980030AE31 /* LocalyticsUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = DA609F551600CE980030AE31 /* LocalyticsUploader.h */; }; DA609F5D1600CE980030AE31 /* LocalyticsUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = DA609F561600CE980030AE31 /* LocalyticsUploader.m */; }; DA609F5E1600CE980030AE31 /* WebserviceConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = DA609F571600CE980030AE31 /* WebserviceConstants.h */; }; + DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B716406A4100B61001 /* Accounts.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + DA6701BA16406B0600B61001 /* FacebookSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701B916406B0600B61001 /* FacebookSDK.framework */; }; + DA6701DC16406B3600B61001 /* FacebookSDKResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DA6701DB16406B3600B61001 /* FacebookSDKResources.bundle */; }; + DA6701DE16406B7300B61001 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DD16406B7300B61001 /* Social.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6701DF16406BB400B61001 /* AdSupport.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; DA672D2F14F92C6B004A189C /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DA672D2E14F92C6B004A189C /* libz.dylib */; }; DA672D3014F9413D004A189C /* libPearl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC77CAD148291A600BCF976 /* libPearl.a */; }; DA829E52159847E0002417D3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; @@ -1116,41 +1119,6 @@ DA4ECA29160D94A80012ABB9 /* TestFlight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestFlight.h; sourceTree = ""; }; DA4ECA2A160D94A80012ABB9 /* TestFlight.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = TestFlight.plist; sourceTree = ""; }; DA55873E15E81D9E00860B4F /* iTunesArtwork-Rounded-73.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iTunesArtwork-Rounded-73.png"; sourceTree = ""; }; - DA55877F15E82C0300860B4F /* FacebookSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookSDK.framework; path = "External/facebook-ios-sdk/build/FacebookSDK.framework"; sourceTree = ""; }; - DA55878115E82C2B00860B4F /* FacebookSDKResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = FacebookSDKResources.bundle; path = "External/facebook-ios-sdk/build/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle"; sourceTree = ""; }; - DA5587B815E838CD00860B4F /* Facebook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Facebook.h; sourceTree = ""; }; - DA5587B915E838CD00860B4F /* FacebookSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FacebookSDK.h; sourceTree = ""; }; - DA5587BA15E838CD00860B4F /* FBCacheDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBCacheDescriptor.h; sourceTree = ""; }; - DA5587BB15E838CD00860B4F /* FBConnect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBConnect.h; sourceTree = ""; }; - DA5587BC15E838CD00860B4F /* FBDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBDialog.h; sourceTree = ""; }; - DA5587BD15E838CD00860B4F /* FBError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBError.h; sourceTree = ""; }; - DA5587BE15E838CD00860B4F /* FBFrictionlessRequestSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBFrictionlessRequestSettings.h; sourceTree = ""; }; - DA5587BF15E838CD00860B4F /* FBFriendPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBFriendPickerViewController.h; sourceTree = ""; }; - DA5587C015E838CD00860B4F /* FBGraphLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphLocation.h; sourceTree = ""; }; - DA5587C115E838CD00860B4F /* FBGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphObject.h; sourceTree = ""; }; - DA5587C215E838CD00860B4F /* FBGraphPlace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphPlace.h; sourceTree = ""; }; - DA5587C315E838CD00860B4F /* FBGraphUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphUser.h; sourceTree = ""; }; - DA5587C415E838CD00860B4F /* FBLoginDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBLoginDialog.h; sourceTree = ""; }; - DA5587C515E838CD00860B4F /* FBLoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBLoginView.h; sourceTree = ""; }; - DA5587C615E838CD00860B4F /* FBOpenGraphAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBOpenGraphAction.h; sourceTree = ""; }; - DA5587C715E838CD00860B4F /* FBPlacePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBPlacePickerViewController.h; sourceTree = ""; }; - DA5587C815E838CD00860B4F /* FBProfilePictureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBProfilePictureView.h; sourceTree = ""; }; - DA5587C915E838CD00860B4F /* FBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBRequest.h; sourceTree = ""; }; - DA5587CA15E838CD00860B4F /* FBRequestConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBRequestConnection.h; sourceTree = ""; }; - DA5587CB15E838CD00860B4F /* FBSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSession.h; sourceTree = ""; }; - DA5587CC15E838CD00860B4F /* FBSessionManualTokenCachingStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSessionManualTokenCachingStrategy.h; sourceTree = ""; }; - DA5587CD15E838CD00860B4F /* FBSessionTokenCachingStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSessionTokenCachingStrategy.h; sourceTree = ""; }; - DA5587CE15E838CD00860B4F /* FBSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSettings.h; sourceTree = ""; }; - DA5587CF15E838CD00860B4F /* FBTestSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBTestSession.h; sourceTree = ""; }; - DA5587D015E838CD00860B4F /* FBUserSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBUserSettingsViewController.h; sourceTree = ""; }; - DA5587D115E838CD00860B4F /* FBViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBViewController.h; sourceTree = ""; }; - DA5587D215E838CD00860B4F /* JSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSON.h; sourceTree = ""; }; - DA5587D315E838CD00860B4F /* NSObject+SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+SBJSON.h"; sourceTree = ""; }; - DA5587D415E838CD00860B4F /* NSString+SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+SBJSON.h"; sourceTree = ""; }; - DA5587D515E838CD00860B4F /* SBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJSON.h; sourceTree = ""; }; - DA5587D615E838CD00860B4F /* SBJsonBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonBase.h; sourceTree = ""; }; - DA5587D715E838CD00860B4F /* SBJsonParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonParser.h; sourceTree = ""; }; - DA5587D815E838CD00860B4F /* SBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonWriter.h; sourceTree = ""; }; DA5587E515E83C3200860B4F /* social-facebook.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "social-facebook.png"; sourceTree = ""; }; DA5587E615E83C3200860B4F /* social-facebook@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "social-facebook@2x.png"; sourceTree = ""; }; DA5587E715E83C3200860B4F /* social-google+.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "social-google+.png"; sourceTree = ""; }; @@ -1194,6 +1162,42 @@ DA609F551600CE980030AE31 /* LocalyticsUploader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalyticsUploader.h; sourceTree = ""; }; DA609F561600CE980030AE31 /* LocalyticsUploader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocalyticsUploader.m; sourceTree = ""; }; DA609F571600CE980030AE31 /* WebserviceConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebserviceConstants.h; sourceTree = ""; }; + DA6701B716406A4100B61001 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; }; + DA6701B916406B0600B61001 /* FacebookSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookSDK.framework; path = "External/facebook-ios-sdk/build/FacebookSDK.framework"; sourceTree = ""; }; + DA6701BC16406B1C00B61001 /* Facebook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Facebook.h; sourceTree = ""; }; + DA6701BD16406B1C00B61001 /* FacebookSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FacebookSDK.h; sourceTree = ""; }; + DA6701BE16406B1C00B61001 /* FBCacheDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBCacheDescriptor.h; sourceTree = ""; }; + DA6701BF16406B1C00B61001 /* FBConnect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBConnect.h; sourceTree = ""; }; + DA6701C016406B1C00B61001 /* FBDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBDialog.h; sourceTree = ""; }; + DA6701C116406B1C00B61001 /* FBError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBError.h; sourceTree = ""; }; + DA6701C216406B1C00B61001 /* FBFrictionlessRequestSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBFrictionlessRequestSettings.h; sourceTree = ""; }; + DA6701C316406B1C00B61001 /* FBFriendPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBFriendPickerViewController.h; sourceTree = ""; }; + DA6701C416406B1C00B61001 /* FBGraphLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphLocation.h; sourceTree = ""; }; + DA6701C516406B1C00B61001 /* FBGraphObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphObject.h; sourceTree = ""; }; + DA6701C616406B1C00B61001 /* FBGraphPlace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphPlace.h; sourceTree = ""; }; + DA6701C716406B1C00B61001 /* FBGraphUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBGraphUser.h; sourceTree = ""; }; + DA6701C816406B1C00B61001 /* FBLoginDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBLoginDialog.h; sourceTree = ""; }; + DA6701C916406B1C00B61001 /* FBLoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBLoginView.h; sourceTree = ""; }; + DA6701CA16406B1C00B61001 /* FBNativeDialogs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBNativeDialogs.h; sourceTree = ""; }; + DA6701CB16406B1C00B61001 /* FBOpenGraphAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBOpenGraphAction.h; sourceTree = ""; }; + DA6701CC16406B1C00B61001 /* FBPlacePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBPlacePickerViewController.h; sourceTree = ""; }; + DA6701CD16406B1C00B61001 /* FBProfilePictureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBProfilePictureView.h; sourceTree = ""; }; + DA6701CE16406B1C00B61001 /* FBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBRequest.h; sourceTree = ""; }; + DA6701CF16406B1C00B61001 /* FBRequestConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBRequestConnection.h; sourceTree = ""; }; + DA6701D016406B1C00B61001 /* FBSBJSON.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSBJSON.h; sourceTree = ""; }; + DA6701D116406B1C00B61001 /* FBSBJsonBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSBJsonBase.h; sourceTree = ""; }; + DA6701D216406B1C00B61001 /* FBSBJsonParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSBJsonParser.h; sourceTree = ""; }; + DA6701D316406B1C00B61001 /* FBSBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSBJsonWriter.h; sourceTree = ""; }; + DA6701D416406B1C00B61001 /* FBSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSession.h; sourceTree = ""; }; + DA6701D516406B1C00B61001 /* FBSessionManualTokenCachingStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSessionManualTokenCachingStrategy.h; sourceTree = ""; }; + DA6701D616406B1C00B61001 /* FBSessionTokenCachingStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSessionTokenCachingStrategy.h; sourceTree = ""; }; + DA6701D716406B1C00B61001 /* FBSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBSettings.h; sourceTree = ""; }; + DA6701D816406B1C00B61001 /* FBTestSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBTestSession.h; sourceTree = ""; }; + DA6701D916406B1C00B61001 /* FBUserSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBUserSettingsViewController.h; sourceTree = ""; }; + DA6701DA16406B1C00B61001 /* FBViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FBViewController.h; sourceTree = ""; }; + DA6701DB16406B3600B61001 /* FacebookSDKResources.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = FacebookSDKResources.bundle; path = "External/facebook-ios-sdk/build/FacebookSDK.framework/Versions/A/Resources/FacebookSDKResources.bundle"; sourceTree = ""; }; + DA6701DD16406B7300B61001 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; + DA6701DF16406BB400B61001 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; DA672D2E14F92C6B004A189C /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; DA79A9BB1557DB6F00BAA07A /* libscryptenc-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libscryptenc-ios.a"; sourceTree = ""; }; DA79A9BD1557DDC700BAA07A /* scrypt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = scrypt.xcodeproj; path = External/Pearl/External/iOSPorts/ports/security/scrypt/scrypt.xcodeproj; sourceTree = ""; }; @@ -2092,6 +2096,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + DA6701E016406BB400B61001 /* AdSupport.framework in Frameworks */, + DA6701DE16406B7300B61001 /* Social.framework in Frameworks */, + DA6701B816406A4100B61001 /* Accounts.framework in Frameworks */, DA497C0C15E8C95700B52167 /* libGoogle+.a in Frameworks */, DA829E6215984832002417D3 /* libFontReplacer.a in Frameworks */, DA44260A1557D9E40052177D /* libiCloudStoreManager.a in Frameworks */, @@ -2111,8 +2118,8 @@ DA5BFA4F147E415C00F98B1E /* CoreData.framework in Frameworks */, DAD3126715528C9C00A3F9ED /* Crashlytics.framework in Frameworks */, 93D399433EA75E50656040CB /* Twitter.framework in Frameworks */, - DA55878015E82C0300860B4F /* FacebookSDK.framework in Frameworks */, DA4ECA2B160D94A80012ABB9 /* libTestFlight.a in Frameworks */, + DA6701BA16406B0600B61001 /* FacebookSDK.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2173,9 +2180,9 @@ DA3EE95B1601C06000C68F6D /* Facebook */ = { isa = PBXGroup; children = ( - DA5587B715E838CD00860B4F /* DeprecatedHeaders */, - DA55878115E82C2B00860B4F /* FacebookSDKResources.bundle */, - DA55877F15E82C0300860B4F /* FacebookSDK.framework */, + DA6701DB16406B3600B61001 /* FacebookSDKResources.bundle */, + DA6701BB16406B1C00B61001 /* DeprecatedHeaders */, + DA6701B916406B0600B61001 /* FacebookSDK.framework */, ); name = Facebook; sourceTree = ""; @@ -2302,47 +2309,6 @@ path = GTLPlus; sourceTree = ""; }; - DA5587B715E838CD00860B4F /* DeprecatedHeaders */ = { - isa = PBXGroup; - children = ( - DA5587B815E838CD00860B4F /* Facebook.h */, - DA5587B915E838CD00860B4F /* FacebookSDK.h */, - DA5587BA15E838CD00860B4F /* FBCacheDescriptor.h */, - DA5587BB15E838CD00860B4F /* FBConnect.h */, - DA5587BC15E838CD00860B4F /* FBDialog.h */, - DA5587BD15E838CD00860B4F /* FBError.h */, - DA5587BE15E838CD00860B4F /* FBFrictionlessRequestSettings.h */, - DA5587BF15E838CD00860B4F /* FBFriendPickerViewController.h */, - DA5587C015E838CD00860B4F /* FBGraphLocation.h */, - DA5587C115E838CD00860B4F /* FBGraphObject.h */, - DA5587C215E838CD00860B4F /* FBGraphPlace.h */, - DA5587C315E838CD00860B4F /* FBGraphUser.h */, - DA5587C415E838CD00860B4F /* FBLoginDialog.h */, - DA5587C515E838CD00860B4F /* FBLoginView.h */, - DA5587C615E838CD00860B4F /* FBOpenGraphAction.h */, - DA5587C715E838CD00860B4F /* FBPlacePickerViewController.h */, - DA5587C815E838CD00860B4F /* FBProfilePictureView.h */, - DA5587C915E838CD00860B4F /* FBRequest.h */, - DA5587CA15E838CD00860B4F /* FBRequestConnection.h */, - DA5587CB15E838CD00860B4F /* FBSession.h */, - DA5587CC15E838CD00860B4F /* FBSessionManualTokenCachingStrategy.h */, - DA5587CD15E838CD00860B4F /* FBSessionTokenCachingStrategy.h */, - DA5587CE15E838CD00860B4F /* FBSettings.h */, - DA5587CF15E838CD00860B4F /* FBTestSession.h */, - DA5587D015E838CD00860B4F /* FBUserSettingsViewController.h */, - DA5587D115E838CD00860B4F /* FBViewController.h */, - DA5587D215E838CD00860B4F /* JSON.h */, - DA5587D315E838CD00860B4F /* NSObject+SBJSON.h */, - DA5587D415E838CD00860B4F /* NSString+SBJSON.h */, - DA5587D515E838CD00860B4F /* SBJSON.h */, - DA5587D615E838CD00860B4F /* SBJsonBase.h */, - DA5587D715E838CD00860B4F /* SBJsonParser.h */, - DA5587D815E838CD00860B4F /* SBJsonWriter.h */, - ); - name = DeprecatedHeaders; - path = "External/facebook-ios-sdk/build/FacebookSDK.framework/Versions/A/DeprecatedHeaders"; - sourceTree = ""; - }; DA5587F715E8B7B200860B4F /* Google+ */ = { isa = PBXGroup; children = ( @@ -2418,6 +2384,9 @@ DA5BFA47147E415C00F98B1E /* Frameworks */ = { isa = PBXGroup; children = ( + DA6701DF16406BB400B61001 /* AdSupport.framework */, + DA6701DD16406B7300B61001 /* Social.framework */, + DA6701B716406A4100B61001 /* Accounts.framework */, 93D394077F8FAB8167647187 /* Twitter.framework */, DAAC35DD156BD77D00C5FD93 /* CoreTelephony.framework */, DAD312C01552A20800A3F9ED /* libsqlite3.dylib */, @@ -2472,6 +2441,45 @@ path = MasterPassword; sourceTree = ""; }; + DA6701BB16406B1C00B61001 /* DeprecatedHeaders */ = { + isa = PBXGroup; + children = ( + DA6701BC16406B1C00B61001 /* Facebook.h */, + DA6701BD16406B1C00B61001 /* FacebookSDK.h */, + DA6701BE16406B1C00B61001 /* FBCacheDescriptor.h */, + DA6701BF16406B1C00B61001 /* FBConnect.h */, + DA6701C016406B1C00B61001 /* FBDialog.h */, + DA6701C116406B1C00B61001 /* FBError.h */, + DA6701C216406B1C00B61001 /* FBFrictionlessRequestSettings.h */, + DA6701C316406B1C00B61001 /* FBFriendPickerViewController.h */, + DA6701C416406B1C00B61001 /* FBGraphLocation.h */, + DA6701C516406B1C00B61001 /* FBGraphObject.h */, + DA6701C616406B1C00B61001 /* FBGraphPlace.h */, + DA6701C716406B1C00B61001 /* FBGraphUser.h */, + DA6701C816406B1C00B61001 /* FBLoginDialog.h */, + DA6701C916406B1C00B61001 /* FBLoginView.h */, + DA6701CA16406B1C00B61001 /* FBNativeDialogs.h */, + DA6701CB16406B1C00B61001 /* FBOpenGraphAction.h */, + DA6701CC16406B1C00B61001 /* FBPlacePickerViewController.h */, + DA6701CD16406B1C00B61001 /* FBProfilePictureView.h */, + DA6701CE16406B1C00B61001 /* FBRequest.h */, + DA6701CF16406B1C00B61001 /* FBRequestConnection.h */, + DA6701D016406B1C00B61001 /* FBSBJSON.h */, + DA6701D116406B1C00B61001 /* FBSBJsonBase.h */, + DA6701D216406B1C00B61001 /* FBSBJsonParser.h */, + DA6701D316406B1C00B61001 /* FBSBJsonWriter.h */, + DA6701D416406B1C00B61001 /* FBSession.h */, + DA6701D516406B1C00B61001 /* FBSessionManualTokenCachingStrategy.h */, + DA6701D616406B1C00B61001 /* FBSessionTokenCachingStrategy.h */, + DA6701D716406B1C00B61001 /* FBSettings.h */, + DA6701D816406B1C00B61001 /* FBTestSession.h */, + DA6701D916406B1C00B61001 /* FBUserSettingsViewController.h */, + DA6701DA16406B1C00B61001 /* FBViewController.h */, + ); + name = DeprecatedHeaders; + path = "External/facebook-ios-sdk/build/FacebookSDK.framework/Versions/A/DeprecatedHeaders"; + sourceTree = ""; + }; DA79A9BE1557DDC700BAA07A /* Products */ = { isa = PBXGroup; children = ( @@ -4661,7 +4669,6 @@ DA46827015AB843200FB09E7 /* tip_basic_black_bottom_right@2x.png in Resources */, DAC4149215C53C48007A716E /* dictionary.lst in Resources */, DA55873F15E81D9E00860B4F /* iTunesArtwork-Rounded-73.png in Resources */, - DA55878215E82C2B00860B4F /* FacebookSDKResources.bundle in Resources */, DA5587EB15E83C3200860B4F /* social-facebook.png in Resources */, DA5587EC15E83C3200860B4F /* social-facebook@2x.png in Resources */, DA5587ED15E83C3200860B4F /* social-google+.png in Resources */, @@ -4691,6 +4698,7 @@ DA3EE946160145C700C68F6D /* Default-568h.png in Resources */, DA3EE947160145C700C68F6D /* Default-568h@2x.png in Resources */, DA4ECA2E160D94A80012ABB9 /* TestFlight.plist in Resources */, + DA6701DC16406B3600B61001 /* FacebookSDKResources.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -5155,10 +5163,12 @@ ARCHS = armv7; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; + CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -5216,10 +5226,12 @@ ARCHS = armv7; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; + CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; @@ -5370,10 +5382,12 @@ ARCHS = armv7; CLANG_WARN_CXX0X_EXTENSIONS = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_OBJCPP_ARC_ABI = YES; CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; + CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; diff --git a/MasterPassword/MPAlgorithm.m b/MasterPassword/MPAlgorithm.m index 9f0528d3..1e4068b7 100644 --- a/MasterPassword/MPAlgorithm.m +++ b/MasterPassword/MPAlgorithm.m @@ -26,7 +26,7 @@ id MPAlgorithmForVersion(NSUInteger version) { id algorithm = [versionToAlgorithm objectForKey:@(version)]; if (!algorithm) - if ((algorithm = [NSClassFromString(PearlString(@"MPAlgorithmV%u", version)) new])) + if ((algorithm = [NSClassFromString(PearlString(@"MPAlgorithmV%lu", (unsigned long)version)) new])) [versionToAlgorithm setObject:algorithm forKey:@(version)]; return algorithm; diff --git a/MasterPassword/MPAppDelegate_Key.m b/MasterPassword/MPAppDelegate_Key.m index f2731728..0d133d52 100644 --- a/MasterPassword/MPAppDelegate_Key.m +++ b/MasterPassword/MPAppDelegate_Key.m @@ -6,10 +6,8 @@ // Copyright (c) 2011 Lyndir. All rights reserved. // -#import #import "MPAppDelegate_Key.h" #import "MPAppDelegate_Store.h" -#import "LocalyticsSession.h" @implementation MPAppDelegate_Shared (Key) @@ -101,7 +99,9 @@ static NSDictionary *keyQuery(MPUserEntity *user) { // Migrate existing elements. MPKey *recoverKey = nil; +#ifdef PEARL_UIKIT PearlAlert *activityAlert = [PearlAlert showActivityWithTitle:PearlString(@"Migrating %d sites...", [user.elements count])]; +#endif for (MPElementEntity *element in user.elements) { if (element.type & MPElementTypeClassStored && ![element contentUsingKey:tryKey]) { @@ -111,6 +111,8 @@ static NSDictionary *keyQuery(MPUserEntity *user) { while (!content) { __block NSString *masterPassword = nil; + +#ifdef PEARL_UIKIT dispatch_group_t recoverPasswordGroup = dispatch_group_create(); dispatch_group_enter(recoverPasswordGroup); [PearlAlert showAlertWithTitle:@"Enter Old Master Password" @@ -130,6 +132,7 @@ static NSDictionary *keyQuery(MPUserEntity *user) { } } cancelTitle:@"Don't Migrate" otherTitles:@"Migrate", nil]; dispatch_group_wait(recoverPasswordGroup, DISPATCH_TIME_FOREVER); +#endif if (!masterPassword) // Don't Migrate @@ -149,7 +152,9 @@ static NSDictionary *keyQuery(MPUserEntity *user) { } } [[MPAppDelegate_Shared get] saveContext]; +#ifdef PEARL_UIKIT [activityAlert dismissAlert]; +#endif } } @@ -190,7 +195,9 @@ static NSDictionary *keyQuery(MPUserEntity *user) { #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointSignInFailed]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointSignInFailed attributes:nil]; +#endif } return NO; @@ -203,12 +210,14 @@ static NSDictionary *keyQuery(MPUserEntity *user) { } @try { - if ([[MPiOSConfig get].sendInfo boolValue]) { + if ([[MPConfig get].sendInfo boolValue]) { #ifdef TESTFLIGHT_SDK_VERSION [TestFlight addCustomEnvironmentInformation:user.userID forKey:@"username"]; #endif +#ifdef CRASHLYTICS [Crashlytics setObjectValue:user.userID forKey:@"username"]; [Crashlytics setUserName:user.userID]; +#endif } } @catch (id exception) { @@ -227,7 +236,9 @@ static NSDictionary *keyQuery(MPUserEntity *user) { #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointSignedIn]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointSignedIn attributes:nil]; +#endif return YES; } diff --git a/MasterPassword/MPAppDelegate_Store.m b/MasterPassword/MPAppDelegate_Store.m index a26c1b4f..143c47f6 100644 --- a/MasterPassword/MPAppDelegate_Store.m +++ b/MasterPassword/MPAppDelegate_Store.m @@ -7,7 +7,6 @@ // #import "MPAppDelegate_Store.h" -#import "LocalyticsSession.h" @implementation MPAppDelegate_Shared (Store) @@ -136,9 +135,11 @@ #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:iCloudEnabled? MPCheckpointCloudEnabled: MPCheckpointCloudDisabled]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointCloud attributes:@{ @"enabled": iCloudEnabled? @"YES": @"NO" }]; +#endif [MPConfig get].iCloud = @(iCloudEnabled); } @@ -151,11 +152,13 @@ #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:PearlString(MPCheckpointMPErrorUbiquity @"_%d", cause)]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointMPErrorUbiquity attributes:@{ @"cause": @(cause), @"error.domain": error.domain, @"error.code": @(error.code) }]; +#endif switch (cause) { case UbiquityStoreManagerErrorCauseDeleteStore: @@ -172,7 +175,9 @@ #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointLocalStoreReset]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointLocalStoreReset attributes:nil]; +#endif manager.hardResetEnabled = YES; [manager hardResetLocalStorage]; @@ -190,7 +195,9 @@ #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointCloudStoreReset]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointCloudStoreReset attributes:nil]; +#endif manager.hardResetEnabled = YES; [manager hardResetCloudStorage]; break; @@ -276,7 +283,7 @@ return MPImportResultInternalError; } if ([users count] > 1) { - err(@"While looking for user: %@, found more than one: %u", importUserName, [users count]); + err(@"While looking for user: %@, found more than one: %lu", importUserName, (unsigned long)[users count]); return MPImportResultInternalError; } @@ -337,7 +344,7 @@ } // Ask for confirmation to import these sites and the master password of the user. - inf(@"Importing %u sites, deleting %u sites, for user: %@", [importedSiteElements count], [elementsToDelete count], [MPUserEntity idFor:importUserName]); + inf(@"Importing %lu sites, deleting %lu sites, for user: %@", (unsigned long)[importedSiteElements count], (unsigned long)[elementsToDelete count], [MPUserEntity idFor:importUserName]); NSString *userMasterPassword = userPassword(user.name, [importedSiteElements count], [elementsToDelete count]); if (!userMasterPassword) { inf(@"Import cancelled."); @@ -424,7 +431,9 @@ #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointSitesImported]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointSitesImported attributes:nil]; +#endif return MPImportResultSuccess; } @@ -480,16 +489,18 @@ content = element.exportContent; } - [export appendFormat:@"%@ %8d %8s %20s\t%@\n", - [[NSDateFormatter rfc3339DateFormatter] stringFromDate:lastUsed], uses, - [PearlString(@"%u:%u", type, version) UTF8String], [name UTF8String], content + [export appendFormat:@"%@ %8ld %8s %20s\t%@\n", + [[NSDateFormatter rfc3339DateFormatter] stringFromDate:lastUsed], (long)uses, + [PearlString(@"%u:%lu", type, (unsigned long)version) UTF8String], [name UTF8String], content ? content: @""]; } #ifdef TESTFLIGHT_SDK_VERSION [TestFlight passCheckpoint:MPCheckpointSitesExported]; #endif +#ifdef LOCALYTICS [[LocalyticsSession sharedLocalyticsSession] tagEvent:MPCheckpointSitesExported attributes:nil]; +#endif return export; } diff --git a/MasterPassword/MPConfig.h b/MasterPassword/MPConfig.h index d42437d2..2a7b6032 100644 --- a/MasterPassword/MPConfig.h +++ b/MasterPassword/MPConfig.h @@ -10,6 +10,7 @@ @interface MPConfig : PearlConfig +@property (nonatomic, retain) NSNumber *sendInfo; @property (nonatomic, retain) NSNumber *rememberLogin; @property (nonatomic, retain) NSNumber *iCloud; diff --git a/MasterPassword/MPConfig.m b/MasterPassword/MPConfig.m index a7cef8ed..b805a979 100644 --- a/MasterPassword/MPConfig.m +++ b/MasterPassword/MPConfig.m @@ -6,10 +6,11 @@ // Copyright (c) 2012 Lyndir. All rights reserved. // +#import "MPConfig.h" #import "MPAppDelegate.h" @implementation MPConfig -@dynamic rememberLogin, iCloud, iCloudDecided; +@dynamic sendInfo, rememberLogin, iCloud, iCloudDecided; - (id)init { @@ -18,6 +19,7 @@ [self.defaults registerDefaults:@{NSStringFromSelector(@selector(askForReviews)): @YES, + NSStringFromSelector(@selector(sendInfo)): @NO, NSStringFromSelector(@selector(rememberLogin)): @NO, NSStringFromSelector(@selector(iCloud)): @NO, NSStringFromSelector(@selector(iCloudDecided)): @NO}]; diff --git a/MasterPassword/MPEntities.m b/MasterPassword/MPEntities.m index 61db0acb..7a49596b 100644 --- a/MasterPassword/MPEntities.m +++ b/MasterPassword/MPEntities.m @@ -132,8 +132,8 @@ - (NSString *)debugDescription { - return PearlString(@"{%@: name=%@, user=%@, type=%d, uses=%d, lastUsed=%@, version=%d, loginName=%@, requiresExplicitMigration=%d}", - NSStringFromClass([self class]), self.name, self.user.name, self.type, self.uses, self.lastUsed, self.version, + return PearlString(@"{%@: name=%@, user=%@, type=%d, uses=%ld, lastUsed=%@, version=%ld, loginName=%@, requiresExplicitMigration=%d}", + NSStringFromClass([self class]), self.name, self.user.name, self.type, (long)self.uses, self.lastUsed, (long)self.version, self.loginName, self.requiresExplicitMigration); } @@ -141,9 +141,9 @@ while (self.version < MPAlgorithmDefaultVersion) if ([MPAlgorithmForVersion(self.version + 1) migrateElement:self explicit:explicit]) - inf(@"%@ migration to version: %d succeeded for element: %@", explicit? @"Explicit": @"Automatic", self.version + 1, self); + inf(@"%@ migration to version: %ld succeeded for element: %@", explicit? @"Explicit": @"Automatic", (long)self.version + 1, self); else { - wrn(@"%@ migration to version: %d failed for element: %@", explicit? @"Explicit": @"Automatic", self.version + 1, self); + wrn(@"%@ migration to version: %ld failed for element: %@", explicit? @"Explicit": @"Automatic", (long)self.version + 1, self); return NO; } diff --git a/MasterPassword/MPTypes.h b/MasterPassword/MPTypes.h index d705be30..43ee4ca9 100644 --- a/MasterPassword/MPTypes.h +++ b/MasterPassword/MPTypes.h @@ -68,7 +68,7 @@ typedef enum { #define MPCheckpointAppGorillas @"MPCheckpointAppGorillas" #define MPCheckpointAppDeBlock @"MPCheckpointAppDeBlock" -#define MPNotificationSignedIn @"MPNotificationKeySet" -#define MPNotificationSignedOut @"MPNotificationKeyUnset" +#define MPNotificationSignedIn @"MPNotificationSignedIn" +#define MPNotificationSignedOut @"MPNotificationSignedOut" #define MPNotificationKeyForgotten @"MPNotificationKeyForgotten" #define MPNotificationElementUpdated @"MPNotificationElementUpdated" diff --git a/MasterPassword/Mac/MPAppDelegate.h b/MasterPassword/Mac/MPAppDelegate.h index 324dcf1c..1821a6ab 100644 --- a/MasterPassword/Mac/MPAppDelegate.h +++ b/MasterPassword/Mac/MPAppDelegate.h @@ -12,18 +12,22 @@ @interface MPAppDelegate : MPAppDelegate_Shared -@property (strong) NSStatusItem *statusItem; -@property (strong) MPPasswordWindowController *passwordWindow; -@property (weak) IBOutlet NSMenuItem *lockItem; -@property (weak) IBOutlet NSMenuItem *showItem; -@property (strong) IBOutlet NSMenu *statusMenu; -@property (weak) IBOutlet NSMenuItem *useICloudItem; -@property (weak) IBOutlet NSMenuItem *rememberPasswordItem; -@property (weak) IBOutlet NSMenuItem *savePasswordItem; +@property (nonatomic, strong) NSStatusItem *statusItem; +@property (nonatomic, strong) MPPasswordWindowController *passwordWindow; +@property (nonatomic, weak) IBOutlet NSMenuItem *lockItem; +@property (nonatomic, weak) IBOutlet NSMenuItem *showItem; +@property (nonatomic, strong) IBOutlet NSMenu *statusMenu; +@property (nonatomic, weak) IBOutlet NSMenuItem *useICloudItem; +@property (nonatomic, weak) IBOutlet NSMenuItem *rememberPasswordItem; +@property (nonatomic, weak) IBOutlet NSMenuItem *savePasswordItem; +@property (nonatomic, weak) IBOutlet NSMenuItem *createUserItem; +@property (nonatomic, weak) IBOutlet NSMenuItem *usersItem; + (MPAppDelegate *)get; - (IBAction)activate:(id)sender; - (IBAction)togglePreference:(NSMenuItem *)sender; +- (IBAction)newUser:(NSMenuItem *)sender; +- (IBAction)signOut:(id)sender; @end diff --git a/MasterPassword/Mac/MPAppDelegate.m b/MasterPassword/Mac/MPAppDelegate.m index c86c548d..cc7251b3 100644 --- a/MasterPassword/Mac/MPAppDelegate.m +++ b/MasterPassword/Mac/MPAppDelegate.m @@ -25,7 +25,6 @@ @synthesize passwordWindow; @synthesize key; -@synthesize keyID; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wfour-char-constants" @@ -37,7 +36,7 @@ static EventHotKeyID MPShowHotKey = {.signature = 'show', .id = 1}; [MPConfig get]; #ifdef DEBUG - [PearlLogger get].autoprintLevel = PearlLogLevelTrace; + [PearlLogger get].printLevel = PearlLogLevelTrace; #endif } @@ -62,10 +61,56 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven return eventNotHandledErr; } +- (void)updateUsers { + + [[[self.usersItem submenu] itemArray] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + if (idx > 1) + [[self.usersItem submenu] removeItemAtIndex:(NSInteger)idx]; + }]; + + NSManagedObjectContext *moc = [MPAppDelegate managedObjectContextIfReady]; + if (!moc) { + [self.createUserItem setEnabled:NO]; + [[self.usersItem.submenu addItemWithTitle:@"Loading..." action:NULL keyEquivalent:@""] setEnabled:NO]; + + return; + } + + [self.createUserItem setEnabled:YES]; + [moc performBlockAndWait:^{ + NSArray *users = nil; + NSError *error = nil; + NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass([MPUserEntity class])]; + fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"lastUsed" ascending:NO]]; + users = [moc executeFetchRequest:fetchRequest error:&error]; + if (!users) + err(@"Failed to load users: %@", error); + + for (MPUserEntity *user in users) { + NSMenuItem *userItem = [[NSMenuItem alloc] initWithTitle:user.name action:@selector(selectUser:) keyEquivalent:@""]; + [userItem setTarget:self]; + [userItem setRepresentedObject:user]; + [[self.usersItem submenu] addItem:userItem]; + } + }]; +} + +- (void)selectUser:(NSMenuItem *)item { + + NSAssert1([[item representedObject] isKindOfClass:[MPUserEntity class]], @"Not a user: %@", item.representedObject); + + self.activeUser = item.representedObject; + + [[[self.usersItem submenu] itemArray] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [obj setState:NSOffState]; + }]; + item.state = NSOnState; +} + - (void)showMenu { - self.rememberPasswordItem.state = [[MPConfig get].rememberKey boolValue]? NSOnState: NSOffState; - self.savePasswordItem.state = [[MPConfig get].saveKey boolValue]? NSOnState: NSOffState; + self.rememberPasswordItem.state = [[MPConfig get].rememberLogin boolValue]? NSOnState: NSOffState; + self.savePasswordItem.state = [MPAppDelegate get].activeUser.saveKey? NSOnState: NSOffState; self.showItem.enabled = ![self.passwordWindow.window isVisible]; [self.statusItem popUpStatusItemMenu:self.statusMenu]; @@ -84,17 +129,25 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven if (sender == useICloudItem) [self.storeManager useiCloudStore:sender.state == NSOffState alertUser:YES]; if (sender == rememberPasswordItem) - [MPConfig get].rememberKey = [NSNumber numberWithBool:![[MPConfig get].rememberKey boolValue]]; + [MPConfig get].rememberLogin = [NSNumber numberWithBool:![[MPConfig get].rememberLogin boolValue]]; if (sender == savePasswordItem) - [MPConfig get].saveKey = [NSNumber numberWithBool:![[MPConfig get].saveKey boolValue]]; + [MPAppDelegate get].activeUser.saveKey = ![MPAppDelegate get].activeUser.saveKey; +} + +- (IBAction)newUser:(NSMenuItem *)sender { +} + +- (IBAction)signOut:(id)sender { + + [self signOutAnimated:YES]; } - (void)didUpdateConfigForKey:(SEL)configKey fromValue:(id)oldValue { - if (configKey == @selector(rememberKey)) - self.rememberPasswordItem.state = [[MPConfig get].rememberKey boolValue]? NSOnState: NSOffState; + if (configKey == @selector(rememberLogin)) + self.rememberPasswordItem.state = [[MPConfig get].rememberLogin boolValue]? NSOnState: NSOffState; if (configKey == @selector(saveKey)) - self.savePasswordItem.state = [[MPConfig get].saveKey boolValue]? NSOnState: NSOffState; + self.savePasswordItem.state = [MPAppDelegate get].activeUser.saveKey? NSOnState: NSOffState; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { @@ -111,7 +164,7 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven - (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window { - return [[self managedObjectContext] undoManager]; + return [[self managedObjectContextIfReady] undoManager]; } #pragma mark - NSApplicationDelegate @@ -132,6 +185,16 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven self.statusItem.highlightMode = YES; self.statusItem.target = self; self.statusItem.action = @selector(showMenu); + + [[NSNotificationCenter defaultCenter] addObserverForName:PersistentStoreDidChange object:nil queue:nil usingBlock: + ^(NSNotification *note) { + [self updateUsers]; + }]; + [[NSNotificationCenter defaultCenter] addObserverForName:PersistentStoreDidMergeChanges object:nil queue:nil usingBlock: + ^(NSNotification *note) { + [self updateUsers]; + }]; + [self updateUsers]; // Global hotkey. EventHotKeyRef hotKeyRef; @@ -163,28 +226,28 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven - (void)applicationWillResignActive:(NSNotification *)notification { - if (![[MPConfig get].rememberKey boolValue]) + if (![[MPConfig get].rememberLogin boolValue]) self.key = nil; } - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender { // Save changes in the application's managed object context before the application terminates. - if (![self managedObjectContext]) { + if (![self managedObjectContextIfReady]) { return NSTerminateNow; } - if (![[self managedObjectContext] commitEditing]) { + if (![[self managedObjectContextIfReady] commitEditing]) { NSLog(@"%@:%@ unable to commit editing to terminate", [self class], NSStringFromSelector(_cmd)); return NSTerminateCancel; } - if (![[self managedObjectContext] hasChanges]) { + if (![[self managedObjectContextIfReady] hasChanges]) { return NSTerminateNow; } NSError *error = nil; - if (![[self managedObjectContext] save:&error]) { + if (![[self managedObjectContextIfReady] save:&error]) { // Customize this code block to include application-specific recovery steps. BOOL result = [sender presentError:error]; @@ -215,9 +278,48 @@ static OSStatus MPHotKeyHander(EventHandlerCallRef nextHandler, EventRef theEven #pragma mark - UbiquityStoreManagerDelegate - (void)ubiquityStoreManager:(UbiquityStoreManager *)manager didSwitchToiCloud:(BOOL)iCloudEnabled { + + [super ubiquityStoreManager:manager didSwitchToiCloud:iCloudEnabled]; self.useICloudItem.state = iCloudEnabled? NSOnState: NSOffState; self.useICloudItem.enabled = !iCloudEnabled; + + if (![[MPConfig get].iCloudDecided boolValue]) { + if (iCloudEnabled) + return; + + switch ([[NSAlert alertWithMessageText:@"iCloud Is Disabled" + defaultButton:@"Enable iCloud" alternateButton:@"Leave iCloud Off" otherButton:@"Explain?" + informativeTextWithFormat:@"It is highly recommended you enable iCloud."] runModal]) { + case NSAlertDefaultReturn: { + [MPConfig get].iCloudDecided = @YES; + [manager useiCloudStore:YES alertUser:NO]; + break; + } + + case NSAlertOtherReturn: { + [[NSAlert alertWithMessageText:@"About iCloud" + defaultButton:[PearlStrings get].commonButtonThanks alternateButton:nil otherButton:nil + informativeTextWithFormat: + @"iCloud is Apple's solution for saving your data in \"the cloud\" " + @"and making sure your other iPhones, iPads and Macs are in sync.\n\n" + @"For Master Password, that means your sites are available on all your " + @"Apple devices, and you always have a backup of them in case " + @"you loose one or need to restore.\n\n" + @"Because of the way Master Password works, it doesn't need to send your " + @"site's passwords to Apple. Only their names are saved to make it easier " + @"for you to find the site you need. For some sites you may have set " + @"a user-specified password: these are sent to iCloud after being encrypted " + @"with your master password.\n\n" + @"Apple can never see any of your passwords."] runModal]; + [self ubiquityStoreManager:manager didSwitchToiCloud:iCloudEnabled]; + break; + } + + default: + break; + }; + } } @end diff --git a/MasterPassword/Mac/MPMacConfig.h b/MasterPassword/Mac/MPMacConfig.h new file mode 100644 index 00000000..52fa15e7 --- /dev/null +++ b/MasterPassword/Mac/MPMacConfig.h @@ -0,0 +1,15 @@ +// +// MPConfig.h +// MasterPassword +// +// Created by Maarten Billemont on 02/01/12. +// Copyright (c) 2012 Lyndir. All rights reserved. +// + +#import "MPConfig.h" + +@interface MPMacConfig : MPConfig + ++ (MPMacConfig *)get; + +@end diff --git a/MasterPassword/Mac/MPMacConfig.m b/MasterPassword/Mac/MPMacConfig.m new file mode 100644 index 00000000..59bb878d --- /dev/null +++ b/MasterPassword/Mac/MPMacConfig.m @@ -0,0 +1,26 @@ +// +// MPConfig.m +// MasterPassword +// +// Created by Maarten Billemont on 02/01/12. +// Copyright (c) 2012 Lyndir. All rights reserved. +// + +@implementation MPMacConfig + +- (id)init { + + if (!(self = [super init])) + return self; + + [self.defaults registerDefaults:@{NSStringFromSelector(@selector(iTunesID)): @"510296984"}]; + + return self; +} + ++ (MPMacConfig *)get { + + return (MPMacConfig *)[super get]; +} + +@end diff --git a/MasterPassword/Mac/MPPasswordWindowController.h b/MasterPassword/Mac/MPPasswordWindowController.h index fa23a013..669cef87 100644 --- a/MasterPassword/Mac/MPPasswordWindowController.h +++ b/MasterPassword/Mac/MPPasswordWindowController.h @@ -13,11 +13,13 @@ NSString *_content; } -@property (strong) NSString *content; +@property (nonatomic, strong) NSString *content; -@property (weak) IBOutlet NSTextField *siteField; -@property (weak) IBOutlet NSTextField *contentField; -@property (weak) IBOutlet NSTextField *tipField; +@property (nonatomic, weak) IBOutlet NSTextField *siteField; +@property (nonatomic, weak) IBOutlet NSTextField *contentField; +@property (nonatomic, weak) IBOutlet NSTextField *tipField; +@property (nonatomic, weak) IBOutlet NSView *contentContainer; +@property (nonatomic, weak) IBOutlet NSProgressIndicator *progressView; - (void)unlock; diff --git a/MasterPassword/Mac/MPPasswordWindowController.m b/MasterPassword/Mac/MPPasswordWindowController.m index 2e38b582..b49aeab0 100644 --- a/MasterPassword/Mac/MPPasswordWindowController.m +++ b/MasterPassword/Mac/MPPasswordWindowController.m @@ -58,9 +58,9 @@ - (void)unlock { - if (![MPAppDelegate get].key) - // Try and load the key from the keychain. - [[MPAppDelegate get] loadStoredKey]; + if ([[MPAppDelegate get] signInAsUser:[MPAppDelegate get].activeUser usingMasterPassword:nil]) + // Load the key from the keychain. + return; if (![MPAppDelegate get].key) // Ask the user to set the key through his master password. @@ -69,8 +69,8 @@ return; NSAlert *alert = [NSAlert alertWithMessageText:@"Master Password is locked." - defaultButton:@"Unlock" alternateButton:@"Change" otherButton:@"Quit" - informativeTextWithFormat:@"Your master password is required to unlock the application."]; + defaultButton:@"Unlock" alternateButton:@"Change" otherButton:@"Cancel" + informativeTextWithFormat:@"The master password is required to unlock the application for:\n\n%@", [MPAppDelegate get].activeUser.name]; NSSecureTextField *passwordField = [[NSSecureTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 22)]; [alert setAccessoryView:passwordField]; [alert layout]; @@ -94,17 +94,31 @@ @"You can always change back to your current master password later.\n" @"Your current sites and passwords will then become available again."] runModal] == 1) - [[MPAppDelegate get] forgetKey]; + [[MPAppDelegate get] forgetSavedKeyFor:[MPAppDelegate get].activeUser]; break; case NSAlertOtherReturn: - // "Quit" button. - [[NSApplication sharedApplication] terminate:self]; + // "Cancel" button. + [self.window close]; return; - case NSAlertDefaultReturn: + case NSAlertDefaultReturn: { // "Unlock" button. - [[MPAppDelegate get] tryMasterPassword:[(NSSecureTextField *)alert.accessoryView stringValue]]; + self.contentContainer.alphaValue = 0; + [self.progressView startAnimation:nil]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ + BOOL success = [[MPAppDelegate get] signInAsUser:[MPAppDelegate get].activeUser usingMasterPassword:[(NSSecureTextField *)alert.accessoryView stringValue]]; + + dispatch_async(dispatch_get_main_queue(), ^{ + [self.progressView stopAnimation:nil]; + + if (success) + self.contentContainer.alphaValue = 1; + else + [self.window close]; + }); + }); + } } } @@ -112,7 +126,7 @@ forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index { NSString *query = [[control stringValue] substringWithRange:charRange]; - if (![query length] || ![MPAppDelegate get].keyID) + if (![query length] || ![MPAppDelegate get].key) return nil; NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:NSStringFromClass([MPElementEntity class])]; @@ -121,7 +135,7 @@ query, query, [MPAppDelegate get].activeUser]; NSError *error = nil; - self.siteResults = [[MPAppDelegate managedObjectContext] executeFetchRequest:fetchRequest error:&error]; + self.siteResults = [[MPAppDelegate managedObjectContextIfReady] executeFetchRequest:fetchRequest error:&error]; if (error) err(@"Couldn't fetch elements: %@", error); diff --git a/MasterPassword/Mac/MPPasswordWindowController.xib b/MasterPassword/Mac/MPPasswordWindowController.xib index 097a9015..830d52b3 100644 --- a/MasterPassword/Mac/MPPasswordWindowController.xib +++ b/MasterPassword/Mac/MPPasswordWindowController.xib @@ -1,22 +1,24 @@ - 1070 - 11D50 - 2182 - 1138.32 - 568.00 + 1080 + 12C60 + 2840 + 1187.34 + 625.00 com.apple.InterfaceBuilder.CocoaPlugin - 2182 + 2840 - NSTextField - NSTextFieldCell - NSWindowTemplate - NSView IBNSLayoutConstraint NSCustomObject + NSCustomView + NSProgressIndicator + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate com.apple.InterfaceBuilder.CocoaPlugin @@ -36,7 +38,7 @@ NSApplication - 277 + 287 2 {{600, 530}, {480, 159}} 611845120 @@ -50,119 +52,133 @@ 256 - + 268 - {{140, 117}, {200, 22}} + + + + 268 + {{17, 20}, {446, 17}} + + _NS:1505 + YES + + 68157504 + 138413056 + Hit enter to copy the password. + + LucidaGrande + 13 + 1044 + + _NS:1505 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlLightHighlightColor + + 3 + MQA + + + + NO + + + + 268 + {{140, 117}, {200, 22}} + + + _NS:9 + YES + + -1804599231 + 138413120 + + + Site name + _NS:9 + + 1 + + 6 + System + textBackgroundColor + + + + 6 + System + textColor + + 3 + MAA + + + + NO + + + + 268 + {{17, 45}, {446, 64}} + + + _NS:9 + {250, 750} + YES + + 67108864 + 138412032 + S3cretP4s$w0rD + + Exo-Black + 48 + 16 + + _NS:9 + + YES + + + 1 + MC40NzQ1MDk4MDM5IDAuODY2NjY2NjY2NyAwLjk4NDMxMzcyNTUAA + + + NO + + + {480, 159} - - - 2 _NS:9 - YES - - -1804468671 - 138413120 - - - LucidaGrande - 13 - 1044 - - Site name - _NS:9 - - 1 - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - textColor - - 3 - MAA - - - + NSView - + 268 - {{17, 45}, {446, 64}} + {{224, 63}, {32, 32}} - - - 2 - _NS:9 - {250, 750} - YES - - 67239424 - 138412032 - S3cretP4s$w0rD - - Exo-Black - 48 - 16 - - _NS:9 - - YES - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 1 - MC40NzQ1MDk4MDM5IDAuODY2NjY2NjY2NyAwLjk4NDMxMzcyNTUAA - - - - - - 268 - {{17, 20}, {446, 17}} - - - 2 - _NS:1505 - YES - - 68288064 - 138413056 - Hit enter to copy the password. - - _NS:1505 - - - - 6 - System - controlLightHighlightColor - - - + _NS:945 + 28682 + 100 {480, 159} - - + YES - 2 _NS:21 {{0, 0}, {1680, 1028}} @@ -183,27 +199,19 @@ - siteField + contentContainer - + - 41 + 214 - contentField + progressView - + - 42 - - - - tipField - - - - 95 + 215 @@ -213,21 +221,13 @@ 39 - - - initialFirstResponder - - - - 49 - delegate - + - 43 + 188 @@ -268,244 +268,290 @@ 23 - - - 3 - 0 - - 3 - 1 - - 50 - - 1000 - 9 - 40 - 3 - - - - - 3 - 1 - - 3 - 1 - - 20 - - 1000 - 9 - 40 - 3 - - - - - 4 - 1 - - 4 - 1 - - 20 - - 1000 - 9 - 40 - 3 - - - - - 6 - 1 - - 6 - 1 - - 20 - - 1000 - 9 - 40 - 3 - - - - - 5 - 1 - - 5 - 1 - - 20 - - 1000 - 9 - 40 - 3 - - - - - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - + + 9 0 - + 9 1 0.0 1000 + 6 24 2 - - - - 6 + + + 10 0 - - 6 + + 10 1 - - 20 + + 0.0 1000 - 8 - 29 - 3 + 6 + 24 + 2 - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - - 6 - 0 - - 6 - 1 - - 20 - - 1000 - 8 - 29 - 3 - - - - + + 3 0 3 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 4 + 0 + + 4 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 0.0 + + 1000 + + 8 + 29 + 3 + + + + + + + + 96 + + + + + + 143 + + + + + 3 + 0 + + 3 + 1 20 1000 + 8 29 3 - - - + + + 9 + 0 + + 9 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + 5 0 - + 5 1 20 1000 + 8 29 3 - - - - - - 26 - - - - - 27 - - - - - 28 - - - - - 32 - - - - - 33 - - - - - 34 - - - + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + - 35 - + 145 + + + + + 147 + + + + + 148 + + + + + 150 + + + + + 181 + - - - + + + + + + 187 + + + + + 182 + + + + 7 0 @@ -515,76 +561,87 @@ 200 1000 + 3 9 1 - + - + - 37 - - + 186 + + - 38 - - + 185 + + - 50 - + 183 + - + + + + + 184 + + + + + 199 + + + + + 200 + + + + + 201 + + + + + 205 + + + + + 207 + - 51 - - - - - 74 - + 208 + - 85 - - + 209 + + - 87 - - + 210 + + - 90 - - + 212 + + - 91 - - - - - 92 - - - - - 93 - - - - - 94 - - + 213 + + @@ -592,96 +649,68 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - - - - - - - - - - - - + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin - 95 - - - - - MPPasswordWindowController - NSWindowController - - NSTextField - NSTextField - NSTextField - - - - contentField - NSTextField - - - siteField - NSTextField - - - tipField - NSTextField - - - - IBProjectSource - ./Classes/MPPasswordWindowController.h - - - - NSLayoutConstraint - NSObject - - IBProjectSource - ./Classes/NSLayoutConstraint.h - - - + 215 + 0 IBCocoaFramework YES diff --git a/MasterPassword/Mac/MasterPassword-Info.plist b/MasterPassword/Mac/MasterPassword-Info.plist index 9e2ffc46..17ad1a4c 100644 --- a/MasterPassword/Mac/MasterPassword-Info.plist +++ b/MasterPassword/Mac/MasterPassword-Info.plist @@ -29,7 +29,7 @@ LSUIElement NSHumanReadableCopyright - Copyright © 2012 Lyndir. All rights reserved. + Copyright © 2011-2013 Lyndir. All rights reserved. NSMainNibFile MainMenu NSPrincipalClass diff --git a/MasterPassword/Mac/MasterPassword-Prefix.pch b/MasterPassword/Mac/MasterPassword-Prefix.pch index 23817792..323003d9 100644 --- a/MasterPassword/Mac/MasterPassword-Prefix.pch +++ b/MasterPassword/Mac/MasterPassword-Prefix.pch @@ -2,12 +2,16 @@ // Prefix header for all source files of the 'MasterPassword' target in the 'MasterPassword' project // +#import "Pearl-Prefix.pch" + + #ifdef __OBJC__ #import - -#endif - -#import "Pearl-Prefix.pch" +#import +#import #import "MPTypes.h" +#import "MPMacConfig.h" + +#endif diff --git a/MasterPassword/Mac/en.lproj/MainMenu.xib b/MasterPassword/Mac/en.lproj/MainMenu.xib index 0efe1acc..e9879959 100644 --- a/MasterPassword/Mac/en.lproj/MainMenu.xib +++ b/MasterPassword/Mac/en.lproj/MainMenu.xib @@ -2,18 +2,18 @@ 1070 - 11D50 - 2182 - 1138.32 - 568.00 + 12C60 + 2840 + 1187.34 + 625.00 com.apple.InterfaceBuilder.CocoaPlugin - 2182 + 2840 - NSMenuItem - NSMenu NSCustomObject + NSMenu + NSMenuItem NSUserDefaultsController @@ -61,6 +61,38 @@ NSMenuMixedState + + + Users + + 2147483647 + + + submenuAction: + + Users + + + + New User + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Preferences @@ -286,6 +318,30 @@ 754 + + + newUser: + + + + 761 + + + + usersItem + + + + 762 + + + + createUserItem + + + + 763 + @@ -338,6 +394,7 @@ + @@ -412,6 +469,33 @@ + + 755 + + + + + + + + 756 + + + + + + + + + 757 + + + + + 759 + + + @@ -434,21 +518,25 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - 754 + 763 MPAppDelegate - NSObject + MPAppDelegate_Shared id - id + NSMenuItem NSMenuItem @@ -456,9 +544,9 @@ activate: id - - signOut: - id + + newUser: + NSMenuItem togglePreference: @@ -467,17 +555,23 @@ NSMenuItem + NSMenuItem NSMenuItem NSMenuItem NSMenuItem NSMenu NSMenuItem + NSMenuItem lockItem NSMenuItem + + newUserItem + NSMenuItem + rememberPasswordItem NSMenuItem @@ -498,12 +592,24 @@ useICloudItem NSMenuItem + + usersItem + NSMenuItem + IBProjectSource ./Classes/MPAppDelegate.h + + MPAppDelegate_Shared + NSObject + + IBProjectSource + ./Classes/MPAppDelegate_Shared.h + + 0 diff --git a/MasterPassword/iOS/MPAppDelegate.m b/MasterPassword/iOS/MPAppDelegate.m index 70b59feb..6eff88bc 100644 --- a/MasterPassword/iOS/MPAppDelegate.m +++ b/MasterPassword/iOS/MPAppDelegate.m @@ -383,9 +383,7 @@ inf(@"Re-activated"); [[MPAppDelegate get] checkConfig]; - if (FBSession.activeSession.state == FBSessionStateCreatedOpening) - // An old Facebook Login session that wasn't finished. Clean it up. - [FBSession.activeSession close]; + [FBSession.activeSession handleDidBecomeActive]; [[LocalyticsSession sharedLocalyticsSession] resume]; [[LocalyticsSession sharedLocalyticsSession] upload]; diff --git a/MasterPassword/iOS/MPUnlockViewController.m b/MasterPassword/iOS/MPUnlockViewController.m index 80fe7645..4ab36cea 100644 --- a/MasterPassword/iOS/MPUnlockViewController.m +++ b/MasterPassword/iOS/MPUnlockViewController.m @@ -935,8 +935,10 @@ - (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI { - return [FBSession openActiveSessionWithPermissions:nil allowLoginUI:allowLoginUI - completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { + return [FBSession openActiveSessionWithPublishPermissions:nil + defaultAudience:FBSessionDefaultAudienceEveryone + allowLoginUI:YES + completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { [self sessionStateChanged:session state:state error:error]; }]; } diff --git a/MasterPassword/iOS/MPiOSConfig.h b/MasterPassword/iOS/MPiOSConfig.h index f74ea05e..60d9048e 100644 --- a/MasterPassword/iOS/MPiOSConfig.h +++ b/MasterPassword/iOS/MPiOSConfig.h @@ -10,7 +10,6 @@ @interface MPiOSConfig : MPConfig -@property (nonatomic, retain) NSNumber *sendInfo; @property (nonatomic, retain) NSNumber *helpHidden; @property (nonatomic, retain) NSNumber *siteInfoHidden; @property (nonatomic, retain) NSNumber *showQuickStart; diff --git a/MasterPassword/iOS/MPiOSConfig.m b/MasterPassword/iOS/MPiOSConfig.m index 83ce286f..fadfd4a8 100644 --- a/MasterPassword/iOS/MPiOSConfig.m +++ b/MasterPassword/iOS/MPiOSConfig.m @@ -14,8 +14,7 @@ if (!(self = [super init])) return self; - [self.defaults registerDefaults:@{NSStringFromSelector(@selector(sendInfo)): @NO, - NSStringFromSelector(@selector(helpHidden)): @NO, + [self.defaults registerDefaults:@{ NSStringFromSelector(@selector(helpHidden)): @NO, NSStringFromSelector(@selector(siteInfoHidden)): @YES, NSStringFromSelector(@selector(showQuickStart)): @YES, NSStringFromSelector(@selector(iTunesID)): @"510296984", diff --git a/MasterPassword/iOS/MasterPassword-Info.plist b/MasterPassword/iOS/MasterPassword-Info.plist index 5e85d481..964a5c76 100644 --- a/MasterPassword/iOS/MasterPassword-Info.plist +++ b/MasterPassword/iOS/MasterPassword-Info.plist @@ -93,7 +93,7 @@ LSRequiresIPhoneOS NSHumanReadableCopyright - © 2011-2012, Lyndir + Copyright © 2011-2013 Lyndir. All rights reserved. ReplacementFonts Futura-CondensedExtraBold diff --git a/MasterPassword/iOS/MasterPassword-Prefix.pch b/MasterPassword/iOS/MasterPassword-Prefix.pch index 62341d72..c2266b8e 100644 --- a/MasterPassword/iOS/MasterPassword-Prefix.pch +++ b/MasterPassword/iOS/MasterPassword-Prefix.pch @@ -18,6 +18,9 @@ #import "TestFlight.h" #import +#import "LocalyticsSession.h" +#define LOCALYTICS 1 +#define CRASHLYTICS 1 #import "MPTypes.h" #import "MPiOSConfig.h"