2
0

Initial Mac project.

[ADDED]     A basic Mac OS X project.
[ADDED]     A basic UI for the Mac project.
[FIXED]     Notification at store update from iCloud.
This commit is contained in:
Maarten Billemont 2012-03-04 15:31:26 +01:00
parent cbf624b3da
commit 2761355180
20 changed files with 2475 additions and 404 deletions

2
External/Pearl vendored

@ -1 +1 @@
Subproject commit bb9d8d10cb564d3a759b3d247d10d34c5da16dac Subproject commit 87b9eb55b80e658c3f9c90770180229889538caf

View File

@ -0,0 +1,642 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
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 */; };
DAB8DA311503972100CED3BC /* PearlWebUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB8DA021503972100CED3BC /* PearlWebUtils.h */; };
DAB8DA321503972100CED3BC /* PearlWebUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB8DA031503972100CED3BC /* PearlWebUtils.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 */; };
DAFE4A6415039CDC003ABA7C /* Pearl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DAB8D9D81503940100CED3BC /* Pearl.dylib */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
DAB8D988150374AD00CED3BC /* MasterPassword.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MasterPassword.app; sourceTree = BUILT_PRODUCTS_DIR; };
DAB8D98C150374AD00CED3BC /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
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 = "<group>"; };
DAB8D9B6150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = "<group>"; };
DAB8D9B8150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
DAB8D9BA150375C800CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = "<group>"; };
DAB8D9BB150375C800CED3BC /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
DAB8D9BC150375C800CED3BC /* MasterPassword-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MasterPassword-Info.plist"; sourceTree = "<group>"; };
DAB8D9BD150375C800CED3BC /* MasterPassword-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MasterPassword-Prefix.pch"; sourceTree = "<group>"; };
DAB8D9BE150375C800CED3BC /* MPAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegate.h; sourceTree = "<group>"; };
DAB8D9BF150375C800CED3BC /* MPAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegate.m; sourceTree = "<group>"; };
DAB8D9C0150375C800CED3BC /* MPElementStoredEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementStoredEntity.m; sourceTree = "<group>"; };
DAB8D9C1150375C800CED3BC /* MPTypes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTypes.m; sourceTree = "<group>"; };
DAB8D9C2150375C800CED3BC /* MPElementEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementEntity.h; sourceTree = "<group>"; };
DAB8D9C3150375C800CED3BC /* MPElementEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementEntity.m; sourceTree = "<group>"; };
DAB8D9C4150375C800CED3BC /* MPTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTypes.h; sourceTree = "<group>"; };
DAB8D9C5150375C800CED3BC /* MPElementGeneratedEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementGeneratedEntity.h; sourceTree = "<group>"; };
DAB8D9C6150375C800CED3BC /* MPElementGeneratedEntity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPElementGeneratedEntity.m; sourceTree = "<group>"; };
DAB8D9C7150375C800CED3BC /* MPElementStoredEntity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPElementStoredEntity.h; sourceTree = "<group>"; };
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 = "<group>"; };
DAB8D9E41503972100CED3BC /* NSObject_PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSObject_PearlExport.h; sourceTree = "<group>"; };
DAB8D9E51503972100CED3BC /* NSObject_PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSObject_PearlExport.m; sourceTree = "<group>"; };
DAB8D9E61503972100CED3BC /* NSString_PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlNSArrayFormat.h; sourceTree = "<group>"; };
DAB8D9E71503972100CED3BC /* NSString_PearlNSArrayFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlNSArrayFormat.m; sourceTree = "<group>"; };
DAB8D9E81503972100CED3BC /* NSString_PearlSEL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlSEL.h; sourceTree = "<group>"; };
DAB8D9E91503972100CED3BC /* NSString_PearlSEL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlSEL.m; sourceTree = "<group>"; };
DAB8D9EA1503972100CED3BC /* Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pearl.h; sourceTree = "<group>"; };
DAB8D9EB1503972100CED3BC /* PearlAbstractStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAbstractStrings.h; sourceTree = "<group>"; };
DAB8D9EC1503972100CED3BC /* PearlAbstractStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAbstractStrings.m; sourceTree = "<group>"; };
DAB8D9EF1503972100CED3BC /* PearlCodeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCodeUtils.h; sourceTree = "<group>"; };
DAB8D9F01503972100CED3BC /* PearlCodeUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCodeUtils.m; sourceTree = "<group>"; };
DAB8D9F11503972100CED3BC /* PearlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlConfig.h; sourceTree = "<group>"; };
DAB8D9F21503972100CED3BC /* PearlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlConfig.m; sourceTree = "<group>"; };
DAB8D9F31503972100CED3BC /* PearlDeviceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlDeviceUtils.h; sourceTree = "<group>"; };
DAB8D9F41503972100CED3BC /* PearlDeviceUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlDeviceUtils.m; sourceTree = "<group>"; };
DAB8D9F51503972100CED3BC /* PearlInfoPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlInfoPlist.h; sourceTree = "<group>"; };
DAB8D9F61503972100CED3BC /* PearlInfoPlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlInfoPlist.m; sourceTree = "<group>"; };
DAB8D9F71503972100CED3BC /* PearlLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLogger.h; sourceTree = "<group>"; };
DAB8D9F81503972100CED3BC /* PearlLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLogger.m; sourceTree = "<group>"; };
DAB8D9F91503972100CED3BC /* PearlMathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMathUtils.h; sourceTree = "<group>"; };
DAB8D9FA1503972100CED3BC /* PearlMathUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMathUtils.m; sourceTree = "<group>"; };
DAB8D9FB1503972100CED3BC /* PearlObjectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlObjectUtils.h; sourceTree = "<group>"; };
DAB8D9FC1503972100CED3BC /* PearlObjectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlObjectUtils.m; sourceTree = "<group>"; };
DAB8D9FD1503972100CED3BC /* PearlResettable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlResettable.h; sourceTree = "<group>"; };
DAB8D9FE1503972100CED3BC /* PearlStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStrings.h; sourceTree = "<group>"; };
DAB8D9FF1503972100CED3BC /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = "<group>"; };
DAB8DA001503972100CED3BC /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = "<group>"; };
DAB8DA011503972100CED3BC /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = "<group>"; };
DAB8DA021503972100CED3BC /* PearlWebUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlWebUtils.h; sourceTree = "<group>"; };
DAB8DA031503972100CED3BC /* PearlWebUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlWebUtils.m; sourceTree = "<group>"; };
DAB8DA041503972100CED3BC /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DAB8DA071503972100CED3BC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = "<group>"; };
DAB8DA091503972100CED3BC /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = "<group>"; };
DAB8DA0A1503972100CED3BC /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = "<group>"; };
DAB8DA0B1503972100CED3BC /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = "<group>"; };
DAB8DA0C1503972100CED3BC /* PearlKeyChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlKeyChain.h; sourceTree = "<group>"; };
DAB8DA0D1503972100CED3BC /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = "<group>"; };
DAB8DA0E1503972100CED3BC /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = "<group>"; };
DAB8DA0F1503972100CED3BC /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = "<group>"; };
DAB8DA101503972100CED3BC /* PearlSCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSCrypt.h; sourceTree = "<group>"; };
DAB8DA111503972100CED3BC /* PearlSCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSCrypt.m; sourceTree = "<group>"; };
DAB8DA121503972100CED3BC /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
DAB8D985150374AD00CED3BC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DAFE4A6415039CDC003ABA7C /* Pearl.dylib in Frameworks */,
DAB8D98D150374AD00CED3BC /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
DAB8D9D51503940100CED3BC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DAB8D9D91503940100CED3BC /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
DAB8D97D150374AC00CED3BC = {
isa = PBXGroup;
children = (
DAB8D992150374AD00CED3BC /* MasterPassword */,
DAB8D9DA1503940100CED3BC /* Pearl */,
DAB8D98B150374AD00CED3BC /* Frameworks */,
DAB8D989150374AD00CED3BC /* Products */,
);
sourceTree = "<group>";
};
DAB8D989150374AD00CED3BC /* Products */ = {
isa = PBXGroup;
children = (
DAB8D988150374AD00CED3BC /* MasterPassword.app */,
DAB8D9D81503940100CED3BC /* Pearl.dylib */,
);
name = Products;
sourceTree = "<group>";
};
DAB8D98B150374AD00CED3BC /* Frameworks */ = {
isa = PBXGroup;
children = (
DAB8D98C150374AD00CED3BC /* Cocoa.framework */,
DAB8D98E150374AD00CED3BC /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
DAB8D98E150374AD00CED3BC /* Other Frameworks */ = {
isa = PBXGroup;
children = (
DAB8D98F150374AD00CED3BC /* AppKit.framework */,
DAB8D990150374AD00CED3BC /* CoreData.framework */,
DAB8D991150374AD00CED3BC /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
DAB8D992150374AD00CED3BC /* MasterPassword */ = {
isa = PBXGroup;
children = (
DAB8D9B2150375C800CED3BC /* MasterPassword.xcdatamodeld */,
DAB8D9B4150375C800CED3BC /* Mac */,
DAB8D9C0150375C800CED3BC /* MPElementStoredEntity.m */,
DAB8D9C1150375C800CED3BC /* MPTypes.m */,
DAB8D9C2150375C800CED3BC /* MPElementEntity.h */,
DAB8D9C3150375C800CED3BC /* MPElementEntity.m */,
DAB8D9C4150375C800CED3BC /* MPTypes.h */,
DAB8D9C5150375C800CED3BC /* MPElementGeneratedEntity.h */,
DAB8D9C6150375C800CED3BC /* MPElementGeneratedEntity.m */,
DAB8D9C7150375C800CED3BC /* MPElementStoredEntity.h */,
);
path = MasterPassword;
sourceTree = "<group>";
};
DAB8D9B4150375C800CED3BC /* Mac */ = {
isa = PBXGroup;
children = (
DAB8D9D3150375D300CED3BC /* Supporting Files */,
DAB8D9B9150375C800CED3BC /* MainMenu.xib */,
DAB8D9BE150375C800CED3BC /* MPAppDelegate.h */,
DAB8D9BF150375C800CED3BC /* MPAppDelegate.m */,
);
path = Mac;
sourceTree = "<group>";
};
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 = "<group>";
};
DAB8D9DA1503940100CED3BC /* Pearl */ = {
isa = PBXGroup;
children = (
DAB8D9E31503972100CED3BC /* Pearl */,
DAB8DA081503972100CED3BC /* Pearl-Crypto */,
DAB8D9DB1503940100CED3BC /* Supporting Files */,
);
path = Pearl;
sourceTree = "<group>";
};
DAB8D9DB1503940100CED3BC /* Supporting Files */ = {
isa = PBXGroup;
children = (
DAB8D9DC1503940100CED3BC /* Pearl-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
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 */,
DAB8DA021503972100CED3BC /* PearlWebUtils.h */,
DAB8DA031503972100CED3BC /* PearlWebUtils.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 = "<group>";
};
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;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
DAB8D9D61503940100CED3BC /* Headers */ = {
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 */,
DAB8DA311503972100CED3BC /* PearlWebUtils.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 */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
DAB8D987150374AD00CED3BC /* MasterPassword */ = {
isa = PBXNativeTarget;
buildConfigurationList = DAB8D9A9150374AD00CED3BC /* Build configuration list for PBXNativeTarget "MasterPassword" */;
buildPhases = (
DAB8D984150374AD00CED3BC /* Sources */,
DAB8D985150374AD00CED3BC /* Frameworks */,
DAB8D986150374AD00CED3BC /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = MasterPassword;
productName = MasterPassword;
productReference = DAB8D988150374AD00CED3BC /* MasterPassword.app */;
productType = "com.apple.product-type.application";
};
DAB8D9D71503940100CED3BC /* Pearl */ = {
isa = PBXNativeTarget;
buildConfigurationList = DAB8D9E01503940100CED3BC /* Build configuration list for PBXNativeTarget "Pearl" */;
buildPhases = (
DAB8D9D41503940100CED3BC /* Sources */,
DAB8D9D51503940100CED3BC /* Frameworks */,
DAB8D9D61503940100CED3BC /* Headers */,
);
buildRules = (
);
dependencies = (
);
name = Pearl;
productName = Pearl;
productReference = DAB8D9D81503940100CED3BC /* Pearl.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
DAB8D97F150374AC00CED3BC /* Project object */ = {
isa = PBXProject;
attributes = {
CLASSPREFIX = MP;
LastUpgradeCheck = 0430;
ORGANIZATIONNAME = Lyndir;
};
buildConfigurationList = DAB8D982150374AC00CED3BC /* Build configuration list for PBXProject "MasterPassword-Mac" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = DAB8D97D150374AC00CED3BC;
productRefGroup = DAB8D989150374AD00CED3BC /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
DAB8D987150374AD00CED3BC /* MasterPassword */,
DAB8D9D71503940100CED3BC /* Pearl */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
DAB8D986150374AD00CED3BC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
DAB8D9C9150375C800CED3BC /* Credits.rtf in Resources */,
DAB8D9CA150375C800CED3BC /* InfoPlist.strings in Resources */,
DAB8D9CB150375C800CED3BC /* MainMenu.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
DAB8D984150374AD00CED3BC /* Sources */ = {
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 */,
);
runOnlyForDeploymentPostprocessing = 0;
};
DAB8D9D41503940100CED3BC /* Sources */ = {
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 */,
DAB8DA321503972100CED3BC /* PearlWebUtils.m in Sources */,
DAB8DA351503972100CED3BC /* PearlCryptUtils.m in Sources */,
DAB8DA371503972100CED3BC /* PearlKeyChain.m in Sources */,
DAB8DA391503972100CED3BC /* PearlRSAKey.m in Sources */,
DAB8DA3B1503972100CED3BC /* PearlSCrypt.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
DAB8D9B5150375C800CED3BC /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
DAB8D9B6150375C800CED3BC /* en */,
);
name = Credits.rtf;
sourceTree = "<group>";
};
DAB8D9B7150375C800CED3BC /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
DAB8D9B8150375C800CED3BC /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
DAB8D9B9150375C800CED3BC /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
DAB8D9BA150375C800CED3BC /* en */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
DAB8DA061503972100CED3BC /* Pearl.strings */ = {
isa = PBXVariantGroup;
children = (
DAB8DA071503972100CED3BC /* en */,
);
name = Pearl.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
DAB8D9A7150374AD00CED3BC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
DAB8D9A8150374AD00CED3BC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
SDKROOT = macosx;
};
name = Release;
};
DAB8D9AA150374AD00CED3BC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MasterPassword/Mac/MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword/Mac/MasterPassword-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
DAB8D9AB150374AD00CED3BC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MasterPassword/Mac/MasterPassword-Prefix.pch";
INFOPLIST_FILE = "MasterPassword/Mac/MasterPassword-Info.plist";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release;
};
DAB8D9E11503940100CED3BC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Pearl/Pearl-Prefix.pch";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
DAB8D9E21503940100CED3BC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Pearl/Pearl-Prefix.pch";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
DAB8D982150374AC00CED3BC /* Build configuration list for PBXProject "MasterPassword-Mac" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DAB8D9A7150374AD00CED3BC /* Debug */,
DAB8D9A8150374AD00CED3BC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
DAB8D9A9150374AD00CED3BC /* Build configuration list for PBXNativeTarget "MasterPassword" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DAB8D9AA150374AD00CED3BC /* Debug */,
DAB8D9AB150374AD00CED3BC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
DAB8D9E01503940100CED3BC /* Build configuration list for PBXNativeTarget "Pearl" */ = {
isa = XCConfigurationList;
buildConfigurations = (
DAB8D9E11503940100CED3BC /* Debug */,
DAB8D9E21503940100CED3BC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCVersionGroup section */
DAB8D9B2150375C800CED3BC /* MasterPassword.xcdatamodeld */ = {
isa = XCVersionGroup;
children = (
DAB8D9B3150375C800CED3BC /* MasterPassword.xcdatamodel */,
);
currentVersion = DAB8D9B3150375C800CED3BC /* MasterPassword.xcdatamodel */;
path = MasterPassword.xcdatamodeld;
sourceTree = "<group>";
versionGroupType = wrapper.xcdatamodel;
};
/* End XCVersionGroup section */
};
rootObject = DAB8D97F150374AC00CED3BC /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:MasterPassword-Mac.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>
</plist>

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "NO"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DAB8D987150374AD00CED3BC"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-Mac.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DAB8D987150374AD00CED3BC"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-Mac.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DAB8D987150374AD00CED3BC"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DAB8D987150374AD00CED3BC"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-Mac.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -8,77 +8,6 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */; }; DA04E33E14B1E70400ECA4F3 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */; };
DA14E5B414FC3C4D00CB25CF /* NSObject_PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E17914FC3C4B00CB25CF /* NSObject_PearlExport.h */; };
DA14E5B514FC3C4D00CB25CF /* NSObject_PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E17A14FC3C4B00CB25CF /* NSObject_PearlExport.m */; };
DA14E5B614FC3C4D00CB25CF /* NSString_PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E17B14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.h */; };
DA14E5B714FC3C4D00CB25CF /* NSString_PearlNSArrayFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E17C14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.m */; };
DA14E5B814FC3C4D00CB25CF /* NSString_PearlSEL.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E17D14FC3C4B00CB25CF /* NSString_PearlSEL.h */; };
DA14E5B914FC3C4D00CB25CF /* NSString_PearlSEL.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E17E14FC3C4B00CB25CF /* NSString_PearlSEL.m */; };
DA14E5BA14FC3C4D00CB25CF /* Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E17F14FC3C4B00CB25CF /* Pearl.h */; };
DA14E5BB14FC3C4D00CB25CF /* PearlAbstractStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18014FC3C4B00CB25CF /* PearlAbstractStrings.h */; };
DA14E5BC14FC3C4D00CB25CF /* PearlAbstractStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18114FC3C4B00CB25CF /* PearlAbstractStrings.m */; };
DA14E5BD14FC3C4D00CB25CF /* PearlAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18214FC3C4B00CB25CF /* PearlAppDelegate.h */; };
DA14E5BE14FC3C4D00CB25CF /* PearlAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18314FC3C4B00CB25CF /* PearlAppDelegate.m */; };
DA14E5BF14FC3C4D00CB25CF /* PearlCodeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18414FC3C4B00CB25CF /* PearlCodeUtils.h */; };
DA14E5C014FC3C4D00CB25CF /* PearlCodeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18514FC3C4B00CB25CF /* PearlCodeUtils.m */; };
DA14E5C114FC3C4D00CB25CF /* PearlConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18614FC3C4B00CB25CF /* PearlConfig.h */; };
DA14E5C214FC3C4D00CB25CF /* PearlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18714FC3C4B00CB25CF /* PearlConfig.m */; };
DA14E5C314FC3C4D00CB25CF /* PearlDeviceUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18814FC3C4B00CB25CF /* PearlDeviceUtils.h */; };
DA14E5C414FC3C4D00CB25CF /* PearlDeviceUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18914FC3C4B00CB25CF /* PearlDeviceUtils.m */; };
DA14E5C514FC3C4D00CB25CF /* PearlInfoPlist.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18A14FC3C4B00CB25CF /* PearlInfoPlist.h */; };
DA14E5C614FC3C4D00CB25CF /* PearlInfoPlist.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18B14FC3C4B00CB25CF /* PearlInfoPlist.m */; };
DA14E5C714FC3C4D00CB25CF /* PearlLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18C14FC3C4B00CB25CF /* PearlLogger.h */; };
DA14E5C814FC3C4D00CB25CF /* PearlLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18D14FC3C4B00CB25CF /* PearlLogger.m */; };
DA14E5C914FC3C4D00CB25CF /* PearlMathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E18E14FC3C4B00CB25CF /* PearlMathUtils.h */; };
DA14E5CA14FC3C4D00CB25CF /* PearlMathUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E18F14FC3C4B00CB25CF /* PearlMathUtils.m */; };
DA14E5CB14FC3C4D00CB25CF /* PearlObjectUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19014FC3C4B00CB25CF /* PearlObjectUtils.h */; };
DA14E5CC14FC3C4D00CB25CF /* PearlObjectUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E19114FC3C4B00CB25CF /* PearlObjectUtils.m */; };
DA14E5CD14FC3C4D00CB25CF /* PearlResettable.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19214FC3C4B00CB25CF /* PearlResettable.h */; };
DA14E5CE14FC3C4D00CB25CF /* PearlStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19314FC3C4B00CB25CF /* PearlStrings.h */; };
DA14E5CF14FC3C4D00CB25CF /* PearlStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E19414FC3C4B00CB25CF /* PearlStrings.m */; };
DA14E5D014FC3C4D00CB25CF /* PearlStringUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19514FC3C4B00CB25CF /* PearlStringUtils.h */; };
DA14E5D114FC3C4D00CB25CF /* PearlStringUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E19614FC3C4B00CB25CF /* PearlStringUtils.m */; };
DA14E5D214FC3C4D00CB25CF /* PearlWebUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19714FC3C4B00CB25CF /* PearlWebUtils.h */; };
DA14E5D314FC3C4D00CB25CF /* PearlWebUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E19814FC3C4B00CB25CF /* PearlWebUtils.m */; };
DA14E5D414FC3C4D00CB25CF /* Pearl-Crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19E14FC3C4B00CB25CF /* Pearl-Crypto.h */; };
DA14E5D514FC3C4D00CB25CF /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E19F14FC3C4B00CB25CF /* PearlCryptUtils.h */; };
DA14E5D614FC3C4D00CB25CF /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1A014FC3C4B00CB25CF /* PearlCryptUtils.m */; };
DA14E5D714FC3C4D00CB25CF /* PearlKeyChain.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1A114FC3C4B00CB25CF /* PearlKeyChain.h */; };
DA14E5D814FC3C4D00CB25CF /* PearlKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1A214FC3C4B00CB25CF /* PearlKeyChain.m */; };
DA14E5D914FC3C4D00CB25CF /* PearlRSAKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1A314FC3C4B00CB25CF /* PearlRSAKey.h */; };
DA14E5DA14FC3C4D00CB25CF /* PearlRSAKey.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1A414FC3C4B00CB25CF /* PearlRSAKey.m */; };
DA14E5DB14FC3C4D00CB25CF /* PearlSCrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1A514FC3C4B00CB25CF /* PearlSCrypt.h */; };
DA14E5DC14FC3C4D00CB25CF /* PearlSCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1A614FC3C4B00CB25CF /* PearlSCrypt.m */; };
DA14E5DD14FC3C4D00CB25CF /* Pearl-UIKit-Dependencies.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1A914FC3C4B00CB25CF /* Pearl-UIKit-Dependencies.h */; };
DA14E5DE14FC3C4D00CB25CF /* Pearl-UIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1AA14FC3C4B00CB25CF /* Pearl-UIKit.h */; };
DA14E5DF14FC3C4D00CB25CF /* PearlAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1AB14FC3C4B00CB25CF /* PearlAlert.h */; };
DA14E5E014FC3C4D00CB25CF /* PearlAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1AC14FC3C4B00CB25CF /* PearlAlert.m */; };
DA14E5E114FC3C4D00CB25CF /* PearlArrayTVC.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1AD14FC3C4B00CB25CF /* PearlArrayTVC.h */; };
DA14E5E214FC3C4D00CB25CF /* PearlArrayTVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1AE14FC3C4B00CB25CF /* PearlArrayTVC.m */; };
DA14E5E314FC3C4D00CB25CF /* PearlBoxView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1AF14FC3C4B00CB25CF /* PearlBoxView.h */; };
DA14E5E414FC3C4D00CB25CF /* PearlBoxView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1B014FC3C4B00CB25CF /* PearlBoxView.m */; };
DA14E5E514FC3C4D00CB25CF /* PearlGradientView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1B114FC3C4B00CB25CF /* PearlGradientView.h */; };
DA14E5E614FC3C4D00CB25CF /* PearlGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1B214FC3C4B00CB25CF /* PearlGradientView.m */; };
DA14E5E714FC3C4D00CB25CF /* PearlLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1B314FC3C4B00CB25CF /* PearlLayout.h */; };
DA14E5E814FC3C4D00CB25CF /* PearlLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1B414FC3C4B00CB25CF /* PearlLayout.m */; };
DA14E5E914FC3C4D00CB25CF /* PearlLayoutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1B514FC3C4B00CB25CF /* PearlLayoutView.h */; };
DA14E5EA14FC3C4D00CB25CF /* PearlLayoutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1B614FC3C4B00CB25CF /* PearlLayoutView.m */; };
DA14E5EB14FC3C4D00CB25CF /* PearlMessageView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1B714FC3C4B00CB25CF /* PearlMessageView.h */; };
DA14E5EC14FC3C4D00CB25CF /* PearlMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1B814FC3C4B00CB25CF /* PearlMessageView.m */; };
DA14E5ED14FC3C4D00CB25CF /* PearlRootViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1B914FC3C4B00CB25CF /* PearlRootViewController.h */; };
DA14E5EE14FC3C4D00CB25CF /* PearlRootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1BA14FC3C4B00CB25CF /* PearlRootViewController.m */; };
DA14E5EF14FC3C4D00CB25CF /* PearlSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1BB14FC3C4B00CB25CF /* PearlSheet.h */; };
DA14E5F014FC3C4D00CB25CF /* PearlSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1BC14FC3C4B00CB25CF /* PearlSheet.m */; };
DA14E5F114FC3C4D00CB25CF /* PearlUIDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1BD14FC3C4B00CB25CF /* PearlUIDebug.h */; };
DA14E5F214FC3C4D00CB25CF /* PearlUIDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1BE14FC3C4B00CB25CF /* PearlUIDebug.m */; };
DA14E5F314FC3C4D00CB25CF /* PearlUIUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1BF14FC3C4B00CB25CF /* PearlUIUtils.h */; };
DA14E5F414FC3C4D00CB25CF /* PearlUIUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1C014FC3C4B00CB25CF /* PearlUIUtils.m */; };
DA14E5F514FC3C4D00CB25CF /* PearlValidatingTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1C114FC3C4B00CB25CF /* PearlValidatingTextField.h */; };
DA14E5F614FC3C4D00CB25CF /* PearlValidatingTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1C214FC3C4B00CB25CF /* PearlValidatingTextField.m */; };
DA14E5F714FC3C4D00CB25CF /* PearlWebViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E1C314FC3C4B00CB25CF /* PearlWebViewController.h */; };
DA14E5F814FC3C4D00CB25CF /* PearlWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E1C414FC3C4B00CB25CF /* PearlWebViewController.m */; };
DA14E5F914FC3C4D00CB25CF /* UIImage_PearlScaling.h in Headers */ = {isa = PBXBuildFile; fileRef = DA14E5B214FC3C4D00CB25CF /* UIImage_PearlScaling.h */; };
DA14E5FA14FC3C4D00CB25CF /* UIImage_PearlScaling.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14E5B314FC3C4D00CB25CF /* UIImage_PearlScaling.m */; };
DA1A144414E4950C00BCFFBE /* libscryptenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA1A143814E494DE00BCFFBE /* libscryptenc.a */; }; DA1A144414E4950C00BCFFBE /* libscryptenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA1A143814E494DE00BCFFBE /* libscryptenc.a */; };
DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA48147E415C00F98B1E /* UIKit.framework */; }; DA5BFA49147E415C00F98B1E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA48147E415C00F98B1E /* UIKit.framework */; };
DA5BFA4B147E415C00F98B1E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DA5BFA4B147E415C00F98B1E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
@ -792,8 +721,81 @@
DAC63280148680B10075AEA5 /* UIColor-Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC6327E148680B10075AEA5 /* UIColor-Expanded.m */; }; DAC63280148680B10075AEA5 /* UIColor-Expanded.m in Sources */ = {isa = PBXBuildFile; fileRef = DAC6327E148680B10075AEA5 /* UIColor-Expanded.m */; };
DAC632891486D9690075AEA5 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC632871486D95D0075AEA5 /* Security.framework */; }; DAC632891486D9690075AEA5 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAC632871486D95D0075AEA5 /* Security.framework */; };
DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; }; DAC77CAE148291A600BCF976 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5BFA4A147E415C00F98B1E /* Foundation.framework */; };
DADC288814FDAC0C00047FEB /* Pearl.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA14E19B14FC3C4B00CB25CF /* Pearl.strings */; };
DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; }; DAEBC45314F6364500987BF6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DAEBC45214F6364500987BF6 /* QuartzCore.framework */; };
DAFE4A1315039824003ABA7C /* NSObject_PearlExport.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45D815039823003ABA7C /* NSObject_PearlExport.h */; };
DAFE4A1415039824003ABA7C /* NSObject_PearlExport.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45D915039823003ABA7C /* NSObject_PearlExport.m */; };
DAFE4A1515039824003ABA7C /* NSString_PearlNSArrayFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DA15039823003ABA7C /* NSString_PearlNSArrayFormat.h */; };
DAFE4A1615039824003ABA7C /* NSString_PearlNSArrayFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45DB15039823003ABA7C /* NSString_PearlNSArrayFormat.m */; };
DAFE4A1715039824003ABA7C /* NSString_PearlSEL.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DC15039823003ABA7C /* NSString_PearlSEL.h */; };
DAFE4A1815039824003ABA7C /* NSString_PearlSEL.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45DD15039823003ABA7C /* NSString_PearlSEL.m */; };
DAFE4A1915039824003ABA7C /* Pearl.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DE15039823003ABA7C /* Pearl.h */; };
DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45DF15039823003ABA7C /* PearlAbstractStrings.h */; };
DAFE4A1B15039824003ABA7C /* PearlAbstractStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45E015039823003ABA7C /* PearlAbstractStrings.m */; };
DAFE4A1C15039824003ABA7C /* PearlAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45E115039823003ABA7C /* PearlAppDelegate.h */; };
DAFE4A1D15039824003ABA7C /* PearlAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45E215039823003ABA7C /* PearlAppDelegate.m */; };
DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45E315039823003ABA7C /* PearlCodeUtils.h */; };
DAFE4A1F15039824003ABA7C /* PearlCodeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45E415039823003ABA7C /* PearlCodeUtils.m */; };
DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45E515039823003ABA7C /* PearlConfig.h */; };
DAFE4A2115039824003ABA7C /* PearlConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45E615039823003ABA7C /* PearlConfig.m */; };
DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45E715039823003ABA7C /* PearlDeviceUtils.h */; };
DAFE4A2315039824003ABA7C /* PearlDeviceUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45E815039823003ABA7C /* PearlDeviceUtils.m */; };
DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45E915039823003ABA7C /* PearlInfoPlist.h */; };
DAFE4A2515039824003ABA7C /* PearlInfoPlist.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45EA15039823003ABA7C /* PearlInfoPlist.m */; };
DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45EB15039823003ABA7C /* PearlLogger.h */; };
DAFE4A2715039824003ABA7C /* PearlLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45EC15039823003ABA7C /* PearlLogger.m */; };
DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45ED15039823003ABA7C /* PearlMathUtils.h */; };
DAFE4A2915039824003ABA7C /* PearlMathUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45EE15039823003ABA7C /* PearlMathUtils.m */; };
DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45EF15039823003ABA7C /* PearlObjectUtils.h */; };
DAFE4A2B15039824003ABA7C /* PearlObjectUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45F015039823003ABA7C /* PearlObjectUtils.m */; };
DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45F115039823003ABA7C /* PearlResettable.h */; };
DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45F215039823003ABA7C /* PearlStrings.h */; };
DAFE4A2E15039824003ABA7C /* PearlStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45F315039823003ABA7C /* PearlStrings.m */; };
DAFE4A2F15039824003ABA7C /* PearlStringUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45F415039823003ABA7C /* PearlStringUtils.h */; };
DAFE4A3015039824003ABA7C /* PearlStringUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45F515039823003ABA7C /* PearlStringUtils.m */; };
DAFE4A3115039824003ABA7C /* PearlWebUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45F615039823003ABA7C /* PearlWebUtils.h */; };
DAFE4A3215039824003ABA7C /* PearlWebUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45F715039823003ABA7C /* PearlWebUtils.m */; };
DAFE4A3315039824003ABA7C /* Pearl-Crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45FD15039823003ABA7C /* Pearl-Crypto.h */; };
DAFE4A3415039824003ABA7C /* PearlCryptUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE45FE15039823003ABA7C /* PearlCryptUtils.h */; };
DAFE4A3515039824003ABA7C /* PearlCryptUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE45FF15039823003ABA7C /* PearlCryptUtils.m */; };
DAFE4A3615039824003ABA7C /* PearlKeyChain.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460015039823003ABA7C /* PearlKeyChain.h */; };
DAFE4A3715039824003ABA7C /* PearlKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460115039823003ABA7C /* PearlKeyChain.m */; };
DAFE4A3815039824003ABA7C /* PearlRSAKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460215039823003ABA7C /* PearlRSAKey.h */; };
DAFE4A3915039824003ABA7C /* PearlRSAKey.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460315039823003ABA7C /* PearlRSAKey.m */; };
DAFE4A3A15039824003ABA7C /* PearlSCrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460415039823003ABA7C /* PearlSCrypt.h */; };
DAFE4A3B15039824003ABA7C /* PearlSCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460515039823003ABA7C /* PearlSCrypt.m */; };
DAFE4A3C15039824003ABA7C /* Pearl-UIKit-Dependencies.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460815039823003ABA7C /* Pearl-UIKit-Dependencies.h */; };
DAFE4A3D15039824003ABA7C /* Pearl-UIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460915039823003ABA7C /* Pearl-UIKit.h */; };
DAFE4A3E15039824003ABA7C /* PearlAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460A15039823003ABA7C /* PearlAlert.h */; };
DAFE4A3F15039824003ABA7C /* PearlAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460B15039823003ABA7C /* PearlAlert.m */; };
DAFE4A4015039824003ABA7C /* PearlArrayTVC.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460C15039823003ABA7C /* PearlArrayTVC.h */; };
DAFE4A4115039824003ABA7C /* PearlArrayTVC.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460D15039823003ABA7C /* PearlArrayTVC.m */; };
DAFE4A4215039824003ABA7C /* PearlBoxView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE460E15039823003ABA7C /* PearlBoxView.h */; };
DAFE4A4315039824003ABA7C /* PearlBoxView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE460F15039823003ABA7C /* PearlBoxView.m */; };
DAFE4A4415039824003ABA7C /* PearlGradientView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461015039823003ABA7C /* PearlGradientView.h */; };
DAFE4A4515039824003ABA7C /* PearlGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461115039823003ABA7C /* PearlGradientView.m */; };
DAFE4A4615039824003ABA7C /* PearlLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461215039823003ABA7C /* PearlLayout.h */; };
DAFE4A4715039824003ABA7C /* PearlLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461315039823003ABA7C /* PearlLayout.m */; };
DAFE4A4815039824003ABA7C /* PearlLayoutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461415039823003ABA7C /* PearlLayoutView.h */; };
DAFE4A4915039824003ABA7C /* PearlLayoutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461515039823003ABA7C /* PearlLayoutView.m */; };
DAFE4A4A15039824003ABA7C /* PearlMessageView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461615039823003ABA7C /* PearlMessageView.h */; };
DAFE4A4B15039824003ABA7C /* PearlMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461715039823003ABA7C /* PearlMessageView.m */; };
DAFE4A4C15039824003ABA7C /* PearlRootViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461815039823003ABA7C /* PearlRootViewController.h */; };
DAFE4A4D15039824003ABA7C /* PearlRootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461915039823003ABA7C /* PearlRootViewController.m */; };
DAFE4A4E15039824003ABA7C /* PearlSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461A15039823003ABA7C /* PearlSheet.h */; };
DAFE4A4F15039824003ABA7C /* PearlSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461B15039823003ABA7C /* PearlSheet.m */; };
DAFE4A5015039824003ABA7C /* PearlUIDebug.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461C15039823003ABA7C /* PearlUIDebug.h */; };
DAFE4A5115039824003ABA7C /* PearlUIDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461D15039823003ABA7C /* PearlUIDebug.m */; };
DAFE4A5215039824003ABA7C /* PearlUIUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE461E15039823003ABA7C /* PearlUIUtils.h */; };
DAFE4A5315039824003ABA7C /* PearlUIUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE461F15039823003ABA7C /* PearlUIUtils.m */; };
DAFE4A5415039824003ABA7C /* PearlValidatingTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE462015039823003ABA7C /* PearlValidatingTextField.h */; };
DAFE4A5515039824003ABA7C /* PearlValidatingTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE462115039823003ABA7C /* PearlValidatingTextField.m */; };
DAFE4A5615039824003ABA7C /* PearlWebViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE462215039823003ABA7C /* PearlWebViewController.h */; };
DAFE4A5715039824003ABA7C /* PearlWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE462315039823003ABA7C /* PearlWebViewController.m */; };
DAFE4A5815039824003ABA7C /* UIImage_PearlScaling.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE4A1115039824003ABA7C /* UIImage_PearlScaling.h */; };
DAFE4A5915039824003ABA7C /* UIImage_PearlScaling.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE4A1215039824003ABA7C /* UIImage_PearlScaling.m */; };
DAFE4A5A1503982E003ABA7C /* Pearl.strings in Resources */ = {isa = PBXBuildFile; fileRef = DAFE45FA15039823003ABA7C /* Pearl.strings */; };
DAFE4A62150399FF003ABA7C /* PearlAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DAFE4A60150399FF003ABA7C /* PearlAppDelegate.m */; };
DAFE4A63150399FF003ABA7C /* PearlAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DAFE4A61150399FF003ABA7C /* PearlAppDelegate.h */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -836,81 +838,6 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; DA04E33D14B1E70400ECA4F3 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
DA14E17914FC3C4B00CB25CF /* NSObject_PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSObject_PearlExport.h; sourceTree = "<group>"; };
DA14E17A14FC3C4B00CB25CF /* NSObject_PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSObject_PearlExport.m; sourceTree = "<group>"; };
DA14E17B14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlNSArrayFormat.h; sourceTree = "<group>"; };
DA14E17C14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlNSArrayFormat.m; sourceTree = "<group>"; };
DA14E17D14FC3C4B00CB25CF /* NSString_PearlSEL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlSEL.h; sourceTree = "<group>"; };
DA14E17E14FC3C4B00CB25CF /* NSString_PearlSEL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlSEL.m; sourceTree = "<group>"; };
DA14E17F14FC3C4B00CB25CF /* Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pearl.h; sourceTree = "<group>"; };
DA14E18014FC3C4B00CB25CF /* PearlAbstractStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAbstractStrings.h; sourceTree = "<group>"; };
DA14E18114FC3C4B00CB25CF /* PearlAbstractStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAbstractStrings.m; sourceTree = "<group>"; };
DA14E18214FC3C4B00CB25CF /* PearlAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAppDelegate.h; sourceTree = "<group>"; };
DA14E18314FC3C4B00CB25CF /* PearlAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAppDelegate.m; sourceTree = "<group>"; };
DA14E18414FC3C4B00CB25CF /* PearlCodeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCodeUtils.h; sourceTree = "<group>"; };
DA14E18514FC3C4B00CB25CF /* PearlCodeUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCodeUtils.m; sourceTree = "<group>"; };
DA14E18614FC3C4B00CB25CF /* PearlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlConfig.h; sourceTree = "<group>"; };
DA14E18714FC3C4B00CB25CF /* PearlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlConfig.m; sourceTree = "<group>"; };
DA14E18814FC3C4B00CB25CF /* PearlDeviceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlDeviceUtils.h; sourceTree = "<group>"; };
DA14E18914FC3C4B00CB25CF /* PearlDeviceUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlDeviceUtils.m; sourceTree = "<group>"; };
DA14E18A14FC3C4B00CB25CF /* PearlInfoPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlInfoPlist.h; sourceTree = "<group>"; };
DA14E18B14FC3C4B00CB25CF /* PearlInfoPlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlInfoPlist.m; sourceTree = "<group>"; };
DA14E18C14FC3C4B00CB25CF /* PearlLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLogger.h; sourceTree = "<group>"; };
DA14E18D14FC3C4B00CB25CF /* PearlLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLogger.m; sourceTree = "<group>"; };
DA14E18E14FC3C4B00CB25CF /* PearlMathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMathUtils.h; sourceTree = "<group>"; };
DA14E18F14FC3C4B00CB25CF /* PearlMathUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMathUtils.m; sourceTree = "<group>"; };
DA14E19014FC3C4B00CB25CF /* PearlObjectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlObjectUtils.h; sourceTree = "<group>"; };
DA14E19114FC3C4B00CB25CF /* PearlObjectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlObjectUtils.m; sourceTree = "<group>"; };
DA14E19214FC3C4B00CB25CF /* PearlResettable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlResettable.h; sourceTree = "<group>"; };
DA14E19314FC3C4B00CB25CF /* PearlStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStrings.h; sourceTree = "<group>"; };
DA14E19414FC3C4B00CB25CF /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = "<group>"; };
DA14E19514FC3C4B00CB25CF /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = "<group>"; };
DA14E19614FC3C4B00CB25CF /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = "<group>"; };
DA14E19714FC3C4B00CB25CF /* PearlWebUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlWebUtils.h; sourceTree = "<group>"; };
DA14E19814FC3C4B00CB25CF /* PearlWebUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlWebUtils.m; sourceTree = "<group>"; };
DA14E19914FC3C4B00CB25CF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DA14E19C14FC3C4B00CB25CF /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = "<group>"; };
DA14E19E14FC3C4B00CB25CF /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = "<group>"; };
DA14E19F14FC3C4B00CB25CF /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = "<group>"; };
DA14E1A014FC3C4B00CB25CF /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = "<group>"; };
DA14E1A114FC3C4B00CB25CF /* PearlKeyChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlKeyChain.h; sourceTree = "<group>"; };
DA14E1A214FC3C4B00CB25CF /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = "<group>"; };
DA14E1A314FC3C4B00CB25CF /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = "<group>"; };
DA14E1A414FC3C4B00CB25CF /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = "<group>"; };
DA14E1A514FC3C4B00CB25CF /* PearlSCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSCrypt.h; sourceTree = "<group>"; };
DA14E1A614FC3C4B00CB25CF /* PearlSCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSCrypt.m; sourceTree = "<group>"; };
DA14E1A714FC3C4B00CB25CF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DA14E1A914FC3C4B00CB25CF /* Pearl-UIKit-Dependencies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit-Dependencies.h"; sourceTree = "<group>"; };
DA14E1AA14FC3C4B00CB25CF /* Pearl-UIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit.h"; sourceTree = "<group>"; };
DA14E1AB14FC3C4B00CB25CF /* PearlAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAlert.h; sourceTree = "<group>"; };
DA14E1AC14FC3C4B00CB25CF /* PearlAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAlert.m; sourceTree = "<group>"; };
DA14E1AD14FC3C4B00CB25CF /* PearlArrayTVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlArrayTVC.h; sourceTree = "<group>"; };
DA14E1AE14FC3C4B00CB25CF /* PearlArrayTVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlArrayTVC.m; sourceTree = "<group>"; };
DA14E1AF14FC3C4B00CB25CF /* PearlBoxView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlBoxView.h; sourceTree = "<group>"; };
DA14E1B014FC3C4B00CB25CF /* PearlBoxView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlBoxView.m; sourceTree = "<group>"; };
DA14E1B114FC3C4B00CB25CF /* PearlGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlGradientView.h; sourceTree = "<group>"; };
DA14E1B214FC3C4B00CB25CF /* PearlGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlGradientView.m; sourceTree = "<group>"; };
DA14E1B314FC3C4B00CB25CF /* PearlLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLayout.h; sourceTree = "<group>"; };
DA14E1B414FC3C4B00CB25CF /* PearlLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLayout.m; sourceTree = "<group>"; };
DA14E1B514FC3C4B00CB25CF /* PearlLayoutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLayoutView.h; sourceTree = "<group>"; };
DA14E1B614FC3C4B00CB25CF /* PearlLayoutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLayoutView.m; sourceTree = "<group>"; };
DA14E1B714FC3C4B00CB25CF /* PearlMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMessageView.h; sourceTree = "<group>"; };
DA14E1B814FC3C4B00CB25CF /* PearlMessageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMessageView.m; sourceTree = "<group>"; };
DA14E1B914FC3C4B00CB25CF /* PearlRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRootViewController.h; sourceTree = "<group>"; };
DA14E1BA14FC3C4B00CB25CF /* PearlRootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRootViewController.m; sourceTree = "<group>"; };
DA14E1BB14FC3C4B00CB25CF /* PearlSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSheet.h; sourceTree = "<group>"; };
DA14E1BC14FC3C4B00CB25CF /* PearlSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSheet.m; sourceTree = "<group>"; };
DA14E1BD14FC3C4B00CB25CF /* PearlUIDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUIDebug.h; sourceTree = "<group>"; };
DA14E1BE14FC3C4B00CB25CF /* PearlUIDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUIDebug.m; sourceTree = "<group>"; };
DA14E1BF14FC3C4B00CB25CF /* PearlUIUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUIUtils.h; sourceTree = "<group>"; };
DA14E1C014FC3C4B00CB25CF /* PearlUIUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUIUtils.m; sourceTree = "<group>"; };
DA14E1C114FC3C4B00CB25CF /* PearlValidatingTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlValidatingTextField.h; sourceTree = "<group>"; };
DA14E1C214FC3C4B00CB25CF /* PearlValidatingTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlValidatingTextField.m; sourceTree = "<group>"; };
DA14E1C314FC3C4B00CB25CF /* PearlWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlWebViewController.h; sourceTree = "<group>"; };
DA14E1C414FC3C4B00CB25CF /* PearlWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlWebViewController.m; sourceTree = "<group>"; };
DA14E1C514FC3C4B00CB25CF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DA14E5B214FC3C4D00CB25CF /* UIImage_PearlScaling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIImage_PearlScaling.h; sourceTree = "<group>"; };
DA14E5B314FC3C4D00CB25CF /* UIImage_PearlScaling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIImage_PearlScaling.m; sourceTree = "<group>"; };
DA1A142714E494DA00BCFFBE /* scrypt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = scrypt.xcodeproj; path = External/Pearl/External/iOSPorts/ports/security/scrypt/scrypt.xcodeproj; sourceTree = "<group>"; }; DA1A142714E494DA00BCFFBE /* scrypt.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = scrypt.xcodeproj; path = External/Pearl/External/iOSPorts/ports/security/scrypt/scrypt.xcodeproj; sourceTree = "<group>"; };
DA5BFA44147E415C00F98B1E /* MasterPassword.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MasterPassword.app; sourceTree = BUILT_PRODUCTS_DIR; }; DA5BFA44147E415C00F98B1E /* MasterPassword.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MasterPassword.app; sourceTree = BUILT_PRODUCTS_DIR; };
DA5BFA48147E415C00F98B1E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; DA5BFA48147E415C00F98B1E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
@ -1636,6 +1563,83 @@
DAC77CAD148291A600BCF976 /* libPearl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPearl.a; sourceTree = BUILT_PRODUCTS_DIR; }; DAC77CAD148291A600BCF976 /* libPearl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPearl.a; sourceTree = BUILT_PRODUCTS_DIR; };
DAC77CB1148291A600BCF976 /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pearl-Prefix.pch"; sourceTree = "<group>"; }; DAC77CB1148291A600BCF976 /* Pearl-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Pearl-Prefix.pch"; sourceTree = "<group>"; };
DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; DAEBC45214F6364500987BF6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
DAFE45D815039823003ABA7C /* NSObject_PearlExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSObject_PearlExport.h; sourceTree = "<group>"; };
DAFE45D915039823003ABA7C /* NSObject_PearlExport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSObject_PearlExport.m; sourceTree = "<group>"; };
DAFE45DA15039823003ABA7C /* NSString_PearlNSArrayFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlNSArrayFormat.h; sourceTree = "<group>"; };
DAFE45DB15039823003ABA7C /* NSString_PearlNSArrayFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlNSArrayFormat.m; sourceTree = "<group>"; };
DAFE45DC15039823003ABA7C /* NSString_PearlSEL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSString_PearlSEL.h; sourceTree = "<group>"; };
DAFE45DD15039823003ABA7C /* NSString_PearlSEL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSString_PearlSEL.m; sourceTree = "<group>"; };
DAFE45DE15039823003ABA7C /* Pearl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pearl.h; sourceTree = "<group>"; };
DAFE45DF15039823003ABA7C /* PearlAbstractStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAbstractStrings.h; sourceTree = "<group>"; };
DAFE45E015039823003ABA7C /* PearlAbstractStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAbstractStrings.m; sourceTree = "<group>"; };
DAFE45E115039823003ABA7C /* PearlAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAppDelegate.h; sourceTree = "<group>"; };
DAFE45E215039823003ABA7C /* PearlAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAppDelegate.m; sourceTree = "<group>"; };
DAFE45E315039823003ABA7C /* PearlCodeUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCodeUtils.h; sourceTree = "<group>"; };
DAFE45E415039823003ABA7C /* PearlCodeUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCodeUtils.m; sourceTree = "<group>"; };
DAFE45E515039823003ABA7C /* PearlConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlConfig.h; sourceTree = "<group>"; };
DAFE45E615039823003ABA7C /* PearlConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlConfig.m; sourceTree = "<group>"; };
DAFE45E715039823003ABA7C /* PearlDeviceUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlDeviceUtils.h; sourceTree = "<group>"; };
DAFE45E815039823003ABA7C /* PearlDeviceUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlDeviceUtils.m; sourceTree = "<group>"; };
DAFE45E915039823003ABA7C /* PearlInfoPlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlInfoPlist.h; sourceTree = "<group>"; };
DAFE45EA15039823003ABA7C /* PearlInfoPlist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlInfoPlist.m; sourceTree = "<group>"; };
DAFE45EB15039823003ABA7C /* PearlLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLogger.h; sourceTree = "<group>"; };
DAFE45EC15039823003ABA7C /* PearlLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLogger.m; sourceTree = "<group>"; };
DAFE45ED15039823003ABA7C /* PearlMathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMathUtils.h; sourceTree = "<group>"; };
DAFE45EE15039823003ABA7C /* PearlMathUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMathUtils.m; sourceTree = "<group>"; };
DAFE45EF15039823003ABA7C /* PearlObjectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlObjectUtils.h; sourceTree = "<group>"; };
DAFE45F015039823003ABA7C /* PearlObjectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlObjectUtils.m; sourceTree = "<group>"; };
DAFE45F115039823003ABA7C /* PearlResettable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlResettable.h; sourceTree = "<group>"; };
DAFE45F215039823003ABA7C /* PearlStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStrings.h; sourceTree = "<group>"; };
DAFE45F315039823003ABA7C /* PearlStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStrings.m; sourceTree = "<group>"; };
DAFE45F415039823003ABA7C /* PearlStringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlStringUtils.h; sourceTree = "<group>"; };
DAFE45F515039823003ABA7C /* PearlStringUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlStringUtils.m; sourceTree = "<group>"; };
DAFE45F615039823003ABA7C /* PearlWebUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlWebUtils.h; sourceTree = "<group>"; };
DAFE45F715039823003ABA7C /* PearlWebUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlWebUtils.m; sourceTree = "<group>"; };
DAFE45F815039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DAFE45FB15039823003ABA7C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Pearl.strings; sourceTree = "<group>"; };
DAFE45FD15039823003ABA7C /* Pearl-Crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-Crypto.h"; sourceTree = "<group>"; };
DAFE45FE15039823003ABA7C /* PearlCryptUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlCryptUtils.h; sourceTree = "<group>"; };
DAFE45FF15039823003ABA7C /* PearlCryptUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlCryptUtils.m; sourceTree = "<group>"; };
DAFE460015039823003ABA7C /* PearlKeyChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlKeyChain.h; sourceTree = "<group>"; };
DAFE460115039823003ABA7C /* PearlKeyChain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlKeyChain.m; sourceTree = "<group>"; };
DAFE460215039823003ABA7C /* PearlRSAKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRSAKey.h; sourceTree = "<group>"; };
DAFE460315039823003ABA7C /* PearlRSAKey.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRSAKey.m; sourceTree = "<group>"; };
DAFE460415039823003ABA7C /* PearlSCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSCrypt.h; sourceTree = "<group>"; };
DAFE460515039823003ABA7C /* PearlSCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSCrypt.m; sourceTree = "<group>"; };
DAFE460615039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DAFE460815039823003ABA7C /* Pearl-UIKit-Dependencies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit-Dependencies.h"; sourceTree = "<group>"; };
DAFE460915039823003ABA7C /* Pearl-UIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Pearl-UIKit.h"; sourceTree = "<group>"; };
DAFE460A15039823003ABA7C /* PearlAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAlert.h; sourceTree = "<group>"; };
DAFE460B15039823003ABA7C /* PearlAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAlert.m; sourceTree = "<group>"; };
DAFE460C15039823003ABA7C /* PearlArrayTVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlArrayTVC.h; sourceTree = "<group>"; };
DAFE460D15039823003ABA7C /* PearlArrayTVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlArrayTVC.m; sourceTree = "<group>"; };
DAFE460E15039823003ABA7C /* PearlBoxView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlBoxView.h; sourceTree = "<group>"; };
DAFE460F15039823003ABA7C /* PearlBoxView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlBoxView.m; sourceTree = "<group>"; };
DAFE461015039823003ABA7C /* PearlGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlGradientView.h; sourceTree = "<group>"; };
DAFE461115039823003ABA7C /* PearlGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlGradientView.m; sourceTree = "<group>"; };
DAFE461215039823003ABA7C /* PearlLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLayout.h; sourceTree = "<group>"; };
DAFE461315039823003ABA7C /* PearlLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLayout.m; sourceTree = "<group>"; };
DAFE461415039823003ABA7C /* PearlLayoutView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlLayoutView.h; sourceTree = "<group>"; };
DAFE461515039823003ABA7C /* PearlLayoutView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlLayoutView.m; sourceTree = "<group>"; };
DAFE461615039823003ABA7C /* PearlMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlMessageView.h; sourceTree = "<group>"; };
DAFE461715039823003ABA7C /* PearlMessageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlMessageView.m; sourceTree = "<group>"; };
DAFE461815039823003ABA7C /* PearlRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlRootViewController.h; sourceTree = "<group>"; };
DAFE461915039823003ABA7C /* PearlRootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlRootViewController.m; sourceTree = "<group>"; };
DAFE461A15039823003ABA7C /* PearlSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlSheet.h; sourceTree = "<group>"; };
DAFE461B15039823003ABA7C /* PearlSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlSheet.m; sourceTree = "<group>"; };
DAFE461C15039823003ABA7C /* PearlUIDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUIDebug.h; sourceTree = "<group>"; };
DAFE461D15039823003ABA7C /* PearlUIDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUIDebug.m; sourceTree = "<group>"; };
DAFE461E15039823003ABA7C /* PearlUIUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlUIUtils.h; sourceTree = "<group>"; };
DAFE461F15039823003ABA7C /* PearlUIUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlUIUtils.m; sourceTree = "<group>"; };
DAFE462015039823003ABA7C /* PearlValidatingTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlValidatingTextField.h; sourceTree = "<group>"; };
DAFE462115039823003ABA7C /* PearlValidatingTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlValidatingTextField.m; sourceTree = "<group>"; };
DAFE462215039823003ABA7C /* PearlWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlWebViewController.h; sourceTree = "<group>"; };
DAFE462315039823003ABA7C /* PearlWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlWebViewController.m; sourceTree = "<group>"; };
DAFE462415039823003ABA7C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
DAFE4A1115039824003ABA7C /* UIImage_PearlScaling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIImage_PearlScaling.h; sourceTree = "<group>"; };
DAFE4A1215039824003ABA7C /* UIImage_PearlScaling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIImage_PearlScaling.m; sourceTree = "<group>"; };
DAFE4A60150399FF003ABA7C /* PearlAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PearlAppDelegate.m; sourceTree = "<group>"; };
DAFE4A61150399FF003ABA7C /* PearlAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PearlAppDelegate.h; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -1696,121 +1700,6 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
DA14E17814FC3C4B00CB25CF /* Pearl */ = {
isa = PBXGroup;
children = (
DA14E17914FC3C4B00CB25CF /* NSObject_PearlExport.h */,
DA14E17A14FC3C4B00CB25CF /* NSObject_PearlExport.m */,
DA14E17B14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.h */,
DA14E17C14FC3C4B00CB25CF /* NSString_PearlNSArrayFormat.m */,
DA14E17D14FC3C4B00CB25CF /* NSString_PearlSEL.h */,
DA14E17E14FC3C4B00CB25CF /* NSString_PearlSEL.m */,
DA14E17F14FC3C4B00CB25CF /* Pearl.h */,
DA14E18014FC3C4B00CB25CF /* PearlAbstractStrings.h */,
DA14E18114FC3C4B00CB25CF /* PearlAbstractStrings.m */,
DA14E18214FC3C4B00CB25CF /* PearlAppDelegate.h */,
DA14E18314FC3C4B00CB25CF /* PearlAppDelegate.m */,
DA14E18414FC3C4B00CB25CF /* PearlCodeUtils.h */,
DA14E18514FC3C4B00CB25CF /* PearlCodeUtils.m */,
DA14E18614FC3C4B00CB25CF /* PearlConfig.h */,
DA14E18714FC3C4B00CB25CF /* PearlConfig.m */,
DA14E18814FC3C4B00CB25CF /* PearlDeviceUtils.h */,
DA14E18914FC3C4B00CB25CF /* PearlDeviceUtils.m */,
DA14E18A14FC3C4B00CB25CF /* PearlInfoPlist.h */,
DA14E18B14FC3C4B00CB25CF /* PearlInfoPlist.m */,
DA14E18C14FC3C4B00CB25CF /* PearlLogger.h */,
DA14E18D14FC3C4B00CB25CF /* PearlLogger.m */,
DA14E18E14FC3C4B00CB25CF /* PearlMathUtils.h */,
DA14E18F14FC3C4B00CB25CF /* PearlMathUtils.m */,
DA14E19014FC3C4B00CB25CF /* PearlObjectUtils.h */,
DA14E19114FC3C4B00CB25CF /* PearlObjectUtils.m */,
DA14E19214FC3C4B00CB25CF /* PearlResettable.h */,
DA14E19314FC3C4B00CB25CF /* PearlStrings.h */,
DA14E19414FC3C4B00CB25CF /* PearlStrings.m */,
DA14E19514FC3C4B00CB25CF /* PearlStringUtils.h */,
DA14E19614FC3C4B00CB25CF /* PearlStringUtils.m */,
DA14E19714FC3C4B00CB25CF /* PearlWebUtils.h */,
DA14E19814FC3C4B00CB25CF /* PearlWebUtils.m */,
DA14E19914FC3C4B00CB25CF /* README */,
DA14E19A14FC3C4B00CB25CF /* Resources */,
);
name = Pearl;
path = External/Pearl/Pearl;
sourceTree = SOURCE_ROOT;
};
DA14E19A14FC3C4B00CB25CF /* Resources */ = {
isa = PBXGroup;
children = (
DA14E19B14FC3C4B00CB25CF /* Pearl.strings */,
);
path = Resources;
sourceTree = "<group>";
};
DA14E19D14FC3C4B00CB25CF /* Pearl-Crypto */ = {
isa = PBXGroup;
children = (
DA14E19E14FC3C4B00CB25CF /* Pearl-Crypto.h */,
DA14E19F14FC3C4B00CB25CF /* PearlCryptUtils.h */,
DA14E1A014FC3C4B00CB25CF /* PearlCryptUtils.m */,
DA14E1A114FC3C4B00CB25CF /* PearlKeyChain.h */,
DA14E1A214FC3C4B00CB25CF /* PearlKeyChain.m */,
DA14E1A314FC3C4B00CB25CF /* PearlRSAKey.h */,
DA14E1A414FC3C4B00CB25CF /* PearlRSAKey.m */,
DA14E1A514FC3C4B00CB25CF /* PearlSCrypt.h */,
DA14E1A614FC3C4B00CB25CF /* PearlSCrypt.m */,
DA14E1A714FC3C4B00CB25CF /* README */,
);
name = "Pearl-Crypto";
path = "External/Pearl/Pearl-Crypto";
sourceTree = SOURCE_ROOT;
};
DA14E1A814FC3C4B00CB25CF /* Pearl-UIKit */ = {
isa = PBXGroup;
children = (
DA14E1A914FC3C4B00CB25CF /* Pearl-UIKit-Dependencies.h */,
DA14E1AA14FC3C4B00CB25CF /* Pearl-UIKit.h */,
DA14E1AB14FC3C4B00CB25CF /* PearlAlert.h */,
DA14E1AC14FC3C4B00CB25CF /* PearlAlert.m */,
DA14E1AD14FC3C4B00CB25CF /* PearlArrayTVC.h */,
DA14E1AE14FC3C4B00CB25CF /* PearlArrayTVC.m */,
DA14E1AF14FC3C4B00CB25CF /* PearlBoxView.h */,
DA14E1B014FC3C4B00CB25CF /* PearlBoxView.m */,
DA14E1B114FC3C4B00CB25CF /* PearlGradientView.h */,
DA14E1B214FC3C4B00CB25CF /* PearlGradientView.m */,
DA14E1B314FC3C4B00CB25CF /* PearlLayout.h */,
DA14E1B414FC3C4B00CB25CF /* PearlLayout.m */,
DA14E1B514FC3C4B00CB25CF /* PearlLayoutView.h */,
DA14E1B614FC3C4B00CB25CF /* PearlLayoutView.m */,
DA14E1B714FC3C4B00CB25CF /* PearlMessageView.h */,
DA14E1B814FC3C4B00CB25CF /* PearlMessageView.m */,
DA14E1B914FC3C4B00CB25CF /* PearlRootViewController.h */,
DA14E1BA14FC3C4B00CB25CF /* PearlRootViewController.m */,
DA14E1BB14FC3C4B00CB25CF /* PearlSheet.h */,
DA14E1BC14FC3C4B00CB25CF /* PearlSheet.m */,
DA14E1BD14FC3C4B00CB25CF /* PearlUIDebug.h */,
DA14E1BE14FC3C4B00CB25CF /* PearlUIDebug.m */,
DA14E1BF14FC3C4B00CB25CF /* PearlUIUtils.h */,
DA14E1C014FC3C4B00CB25CF /* PearlUIUtils.m */,
DA14E1C114FC3C4B00CB25CF /* PearlValidatingTextField.h */,
DA14E1C214FC3C4B00CB25CF /* PearlValidatingTextField.m */,
DA14E1C314FC3C4B00CB25CF /* PearlWebViewController.h */,
DA14E1C414FC3C4B00CB25CF /* PearlWebViewController.m */,
DA14E1C514FC3C4B00CB25CF /* README */,
DA14E1C614FC3C4B00CB25CF /* Resources */,
DA14E5B214FC3C4D00CB25CF /* UIImage_PearlScaling.h */,
DA14E5B314FC3C4D00CB25CF /* UIImage_PearlScaling.m */,
);
name = "Pearl-UIKit";
path = "External/Pearl/Pearl-UIKit";
sourceTree = SOURCE_ROOT;
};
DA14E1C614FC3C4B00CB25CF /* Resources */ = {
isa = PBXGroup;
children = (
);
path = Resources;
sourceTree = "<group>";
};
DA1A142814E494DA00BCFFBE /* Products */ = { DA1A142814E494DA00BCFFBE /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -1974,12 +1863,8 @@
DAB8D43E15036BCF00CED3BC /* iOS */ = { DAB8D43E15036BCF00CED3BC /* iOS */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
DAB8D43F15036BCF00CED3BC /* InfoPlist.strings */, DAB8D9B11503757D00CED3BC /* Supporting Files */,
DAB8D44115036BCF00CED3BC /* main.m */,
DAB8D44215036BCF00CED3BC /* MainStoryboard_iPhone.storyboard */, DAB8D44215036BCF00CED3BC /* MainStoryboard_iPhone.storyboard */,
DAB8D44315036BCF00CED3BC /* MasterPassword-Info.plist */,
DAB8D44415036BCF00CED3BC /* MasterPassword-Prefix.pch */,
DAB8D44515036BCF00CED3BC /* MasterPassword.entitlements */,
DAB8D44615036BCF00CED3BC /* MPAppDelegate.h */, DAB8D44615036BCF00CED3BC /* MPAppDelegate.h */,
DAB8D44715036BCF00CED3BC /* MPAppDelegate.m */, DAB8D44715036BCF00CED3BC /* MPAppDelegate.m */,
DAB8D44815036BCF00CED3BC /* MPConfig.h */, DAB8D44815036BCF00CED3BC /* MPConfig.h */,
@ -2708,6 +2593,18 @@
path = Tooltips; path = Tooltips;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
DAB8D9B11503757D00CED3BC /* Supporting Files */ = {
isa = PBXGroup;
children = (
DAB8D43F15036BCF00CED3BC /* InfoPlist.strings */,
DAB8D44115036BCF00CED3BC /* main.m */,
DAB8D44315036BCF00CED3BC /* MasterPassword-Info.plist */,
DAB8D44415036BCF00CED3BC /* MasterPassword-Prefix.pch */,
DAB8D44515036BCF00CED3BC /* MasterPassword.entitlements */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
DAC6325F1486805C0075AEA5 /* uicolor-utilities */ = { DAC6325F1486805C0075AEA5 /* uicolor-utilities */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -2729,9 +2626,9 @@
DAC77CAF148291A600BCF976 /* Pearl */ = { DAC77CAF148291A600BCF976 /* Pearl */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
DA14E17814FC3C4B00CB25CF /* Pearl */, DAFE45D715039823003ABA7C /* Pearl */,
DA14E19D14FC3C4B00CB25CF /* Pearl-Crypto */, DAFE45FC15039823003ABA7C /* Pearl-Crypto */,
DA14E1A814FC3C4B00CB25CF /* Pearl-UIKit */, DAFE460715039823003ABA7C /* Pearl-UIKit */,
DAC77CB0148291A600BCF976 /* Supporting Files */, DAC77CB0148291A600BCF976 /* Supporting Files */,
); );
path = Pearl; path = Pearl;
@ -2745,6 +2642,123 @@
name = "Supporting Files"; name = "Supporting Files";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
DAFE45D715039823003ABA7C /* Pearl */ = {
isa = PBXGroup;
children = (
DAFE45D815039823003ABA7C /* NSObject_PearlExport.h */,
DAFE45D915039823003ABA7C /* NSObject_PearlExport.m */,
DAFE45DA15039823003ABA7C /* NSString_PearlNSArrayFormat.h */,
DAFE45DB15039823003ABA7C /* NSString_PearlNSArrayFormat.m */,
DAFE45DC15039823003ABA7C /* NSString_PearlSEL.h */,
DAFE45DD15039823003ABA7C /* NSString_PearlSEL.m */,
DAFE45DE15039823003ABA7C /* Pearl.h */,
DAFE45DF15039823003ABA7C /* PearlAbstractStrings.h */,
DAFE45E015039823003ABA7C /* PearlAbstractStrings.m */,
DAFE45E115039823003ABA7C /* PearlAppDelegate.h */,
DAFE45E215039823003ABA7C /* PearlAppDelegate.m */,
DAFE45E315039823003ABA7C /* PearlCodeUtils.h */,
DAFE45E415039823003ABA7C /* PearlCodeUtils.m */,
DAFE45E515039823003ABA7C /* PearlConfig.h */,
DAFE45E615039823003ABA7C /* PearlConfig.m */,
DAFE45E715039823003ABA7C /* PearlDeviceUtils.h */,
DAFE45E815039823003ABA7C /* PearlDeviceUtils.m */,
DAFE45E915039823003ABA7C /* PearlInfoPlist.h */,
DAFE45EA15039823003ABA7C /* PearlInfoPlist.m */,
DAFE45EB15039823003ABA7C /* PearlLogger.h */,
DAFE45EC15039823003ABA7C /* PearlLogger.m */,
DAFE45ED15039823003ABA7C /* PearlMathUtils.h */,
DAFE45EE15039823003ABA7C /* PearlMathUtils.m */,
DAFE45EF15039823003ABA7C /* PearlObjectUtils.h */,
DAFE45F015039823003ABA7C /* PearlObjectUtils.m */,
DAFE45F115039823003ABA7C /* PearlResettable.h */,
DAFE45F215039823003ABA7C /* PearlStrings.h */,
DAFE45F315039823003ABA7C /* PearlStrings.m */,
DAFE45F415039823003ABA7C /* PearlStringUtils.h */,
DAFE45F515039823003ABA7C /* PearlStringUtils.m */,
DAFE45F615039823003ABA7C /* PearlWebUtils.h */,
DAFE45F715039823003ABA7C /* PearlWebUtils.m */,
DAFE45F815039823003ABA7C /* README */,
DAFE45F915039823003ABA7C /* Resources */,
);
name = Pearl;
path = External/Pearl/Pearl;
sourceTree = SOURCE_ROOT;
};
DAFE45F915039823003ABA7C /* Resources */ = {
isa = PBXGroup;
children = (
DAFE45FA15039823003ABA7C /* Pearl.strings */,
);
path = Resources;
sourceTree = "<group>";
};
DAFE45FC15039823003ABA7C /* Pearl-Crypto */ = {
isa = PBXGroup;
children = (
DAFE45FD15039823003ABA7C /* Pearl-Crypto.h */,
DAFE45FE15039823003ABA7C /* PearlCryptUtils.h */,
DAFE45FF15039823003ABA7C /* PearlCryptUtils.m */,
DAFE460015039823003ABA7C /* PearlKeyChain.h */,
DAFE460115039823003ABA7C /* PearlKeyChain.m */,
DAFE460215039823003ABA7C /* PearlRSAKey.h */,
DAFE460315039823003ABA7C /* PearlRSAKey.m */,
DAFE460415039823003ABA7C /* PearlSCrypt.h */,
DAFE460515039823003ABA7C /* PearlSCrypt.m */,
DAFE460615039823003ABA7C /* README */,
);
name = "Pearl-Crypto";
path = "External/Pearl/Pearl-Crypto";
sourceTree = SOURCE_ROOT;
};
DAFE460715039823003ABA7C /* Pearl-UIKit */ = {
isa = PBXGroup;
children = (
DAFE460815039823003ABA7C /* Pearl-UIKit-Dependencies.h */,
DAFE460915039823003ABA7C /* Pearl-UIKit.h */,
DAFE460A15039823003ABA7C /* PearlAlert.h */,
DAFE460B15039823003ABA7C /* PearlAlert.m */,
DAFE4A60150399FF003ABA7C /* PearlAppDelegate.m */,
DAFE4A61150399FF003ABA7C /* PearlAppDelegate.h */,
DAFE460C15039823003ABA7C /* PearlArrayTVC.h */,
DAFE460D15039823003ABA7C /* PearlArrayTVC.m */,
DAFE460E15039823003ABA7C /* PearlBoxView.h */,
DAFE460F15039823003ABA7C /* PearlBoxView.m */,
DAFE461015039823003ABA7C /* PearlGradientView.h */,
DAFE461115039823003ABA7C /* PearlGradientView.m */,
DAFE461215039823003ABA7C /* PearlLayout.h */,
DAFE461315039823003ABA7C /* PearlLayout.m */,
DAFE461415039823003ABA7C /* PearlLayoutView.h */,
DAFE461515039823003ABA7C /* PearlLayoutView.m */,
DAFE461615039823003ABA7C /* PearlMessageView.h */,
DAFE461715039823003ABA7C /* PearlMessageView.m */,
DAFE461815039823003ABA7C /* PearlRootViewController.h */,
DAFE461915039823003ABA7C /* PearlRootViewController.m */,
DAFE461A15039823003ABA7C /* PearlSheet.h */,
DAFE461B15039823003ABA7C /* PearlSheet.m */,
DAFE461C15039823003ABA7C /* PearlUIDebug.h */,
DAFE461D15039823003ABA7C /* PearlUIDebug.m */,
DAFE461E15039823003ABA7C /* PearlUIUtils.h */,
DAFE461F15039823003ABA7C /* PearlUIUtils.m */,
DAFE462015039823003ABA7C /* PearlValidatingTextField.h */,
DAFE462115039823003ABA7C /* PearlValidatingTextField.m */,
DAFE462215039823003ABA7C /* PearlWebViewController.h */,
DAFE462315039823003ABA7C /* PearlWebViewController.m */,
DAFE462415039823003ABA7C /* README */,
DAFE462515039823003ABA7C /* Resources */,
DAFE4A1115039824003ABA7C /* UIImage_PearlScaling.h */,
DAFE4A1215039824003ABA7C /* UIImage_PearlScaling.m */,
);
name = "Pearl-UIKit";
path = "External/Pearl/Pearl-UIKit";
sourceTree = SOURCE_ROOT;
};
DAFE462515039823003ABA7C /* Resources */ = {
isa = PBXGroup;
children = (
);
path = Resources;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */ /* Begin PBXHeadersBuildPhase section */
@ -2790,44 +2804,45 @@
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
DA14E5B414FC3C4D00CB25CF /* NSObject_PearlExport.h in Headers */, DAFE4A1315039824003ABA7C /* NSObject_PearlExport.h in Headers */,
DA14E5B614FC3C4D00CB25CF /* NSString_PearlNSArrayFormat.h in Headers */, DAFE4A1515039824003ABA7C /* NSString_PearlNSArrayFormat.h in Headers */,
DA14E5B814FC3C4D00CB25CF /* NSString_PearlSEL.h in Headers */, DAFE4A1715039824003ABA7C /* NSString_PearlSEL.h in Headers */,
DA14E5BA14FC3C4D00CB25CF /* Pearl.h in Headers */, DAFE4A1915039824003ABA7C /* Pearl.h in Headers */,
DA14E5BB14FC3C4D00CB25CF /* PearlAbstractStrings.h in Headers */, DAFE4A1A15039824003ABA7C /* PearlAbstractStrings.h in Headers */,
DA14E5BD14FC3C4D00CB25CF /* PearlAppDelegate.h in Headers */, DAFE4A1C15039824003ABA7C /* PearlAppDelegate.h in Headers */,
DA14E5BF14FC3C4D00CB25CF /* PearlCodeUtils.h in Headers */, DAFE4A1E15039824003ABA7C /* PearlCodeUtils.h in Headers */,
DA14E5C114FC3C4D00CB25CF /* PearlConfig.h in Headers */, DAFE4A2015039824003ABA7C /* PearlConfig.h in Headers */,
DA14E5C314FC3C4D00CB25CF /* PearlDeviceUtils.h in Headers */, DAFE4A2215039824003ABA7C /* PearlDeviceUtils.h in Headers */,
DA14E5C514FC3C4D00CB25CF /* PearlInfoPlist.h in Headers */, DAFE4A2415039824003ABA7C /* PearlInfoPlist.h in Headers */,
DA14E5C714FC3C4D00CB25CF /* PearlLogger.h in Headers */, DAFE4A2615039824003ABA7C /* PearlLogger.h in Headers */,
DA14E5C914FC3C4D00CB25CF /* PearlMathUtils.h in Headers */, DAFE4A2815039824003ABA7C /* PearlMathUtils.h in Headers */,
DA14E5CB14FC3C4D00CB25CF /* PearlObjectUtils.h in Headers */, DAFE4A2A15039824003ABA7C /* PearlObjectUtils.h in Headers */,
DA14E5CD14FC3C4D00CB25CF /* PearlResettable.h in Headers */, DAFE4A2C15039824003ABA7C /* PearlResettable.h in Headers */,
DA14E5CE14FC3C4D00CB25CF /* PearlStrings.h in Headers */, DAFE4A2D15039824003ABA7C /* PearlStrings.h in Headers */,
DA14E5D014FC3C4D00CB25CF /* PearlStringUtils.h in Headers */, DAFE4A2F15039824003ABA7C /* PearlStringUtils.h in Headers */,
DA14E5D214FC3C4D00CB25CF /* PearlWebUtils.h in Headers */, DAFE4A3115039824003ABA7C /* PearlWebUtils.h in Headers */,
DA14E5D414FC3C4D00CB25CF /* Pearl-Crypto.h in Headers */, DAFE4A3315039824003ABA7C /* Pearl-Crypto.h in Headers */,
DA14E5D514FC3C4D00CB25CF /* PearlCryptUtils.h in Headers */, DAFE4A3415039824003ABA7C /* PearlCryptUtils.h in Headers */,
DA14E5D714FC3C4D00CB25CF /* PearlKeyChain.h in Headers */, DAFE4A3615039824003ABA7C /* PearlKeyChain.h in Headers */,
DA14E5D914FC3C4D00CB25CF /* PearlRSAKey.h in Headers */, DAFE4A3815039824003ABA7C /* PearlRSAKey.h in Headers */,
DA14E5DB14FC3C4D00CB25CF /* PearlSCrypt.h in Headers */, DAFE4A3A15039824003ABA7C /* PearlSCrypt.h in Headers */,
DA14E5DD14FC3C4D00CB25CF /* Pearl-UIKit-Dependencies.h in Headers */, DAFE4A3C15039824003ABA7C /* Pearl-UIKit-Dependencies.h in Headers */,
DA14E5DE14FC3C4D00CB25CF /* Pearl-UIKit.h in Headers */, DAFE4A3D15039824003ABA7C /* Pearl-UIKit.h in Headers */,
DA14E5DF14FC3C4D00CB25CF /* PearlAlert.h in Headers */, DAFE4A3E15039824003ABA7C /* PearlAlert.h in Headers */,
DA14E5E114FC3C4D00CB25CF /* PearlArrayTVC.h in Headers */, DAFE4A4015039824003ABA7C /* PearlArrayTVC.h in Headers */,
DA14E5E314FC3C4D00CB25CF /* PearlBoxView.h in Headers */, DAFE4A4215039824003ABA7C /* PearlBoxView.h in Headers */,
DA14E5E514FC3C4D00CB25CF /* PearlGradientView.h in Headers */, DAFE4A4415039824003ABA7C /* PearlGradientView.h in Headers */,
DA14E5E714FC3C4D00CB25CF /* PearlLayout.h in Headers */, DAFE4A4615039824003ABA7C /* PearlLayout.h in Headers */,
DA14E5E914FC3C4D00CB25CF /* PearlLayoutView.h in Headers */, DAFE4A4815039824003ABA7C /* PearlLayoutView.h in Headers */,
DA14E5EB14FC3C4D00CB25CF /* PearlMessageView.h in Headers */, DAFE4A4A15039824003ABA7C /* PearlMessageView.h in Headers */,
DA14E5ED14FC3C4D00CB25CF /* PearlRootViewController.h in Headers */, DAFE4A4C15039824003ABA7C /* PearlRootViewController.h in Headers */,
DA14E5EF14FC3C4D00CB25CF /* PearlSheet.h in Headers */, DAFE4A4E15039824003ABA7C /* PearlSheet.h in Headers */,
DA14E5F114FC3C4D00CB25CF /* PearlUIDebug.h in Headers */, DAFE4A5015039824003ABA7C /* PearlUIDebug.h in Headers */,
DA14E5F314FC3C4D00CB25CF /* PearlUIUtils.h in Headers */, DAFE4A5215039824003ABA7C /* PearlUIUtils.h in Headers */,
DA14E5F514FC3C4D00CB25CF /* PearlValidatingTextField.h in Headers */, DAFE4A5415039824003ABA7C /* PearlValidatingTextField.h in Headers */,
DA14E5F714FC3C4D00CB25CF /* PearlWebViewController.h in Headers */, DAFE4A5615039824003ABA7C /* PearlWebViewController.h in Headers */,
DA14E5F914FC3C4D00CB25CF /* UIImage_PearlScaling.h in Headers */, DAFE4A5815039824003ABA7C /* UIImage_PearlScaling.h in Headers */,
DAFE4A63150399FF003ABA7C /* PearlAppDelegate.h in Headers */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -2996,7 +3011,6 @@
DA95D5F614DF0B9F008D1B94 /* IASKPSTextFieldSpecifierViewCell.xib in Resources */, DA95D5F614DF0B9F008D1B94 /* IASKPSTextFieldSpecifierViewCell.xib in Resources */,
DA95D5F714DF0B9F008D1B94 /* IASKPSToggleSwitchSpecifierViewCell.xib in Resources */, DA95D5F714DF0B9F008D1B94 /* IASKPSToggleSwitchSpecifierViewCell.xib in Resources */,
DA95D5F814DF0B9F008D1B94 /* IASKSpecifierValuesView.xib in Resources */, DA95D5F814DF0B9F008D1B94 /* IASKSpecifierValuesView.xib in Resources */,
DADC288814FDAC0C00047FEB /* Pearl.strings in Resources */,
DAB8D45E15036BCF00CED3BC /* InfoPlist.strings in Resources */, DAB8D45E15036BCF00CED3BC /* InfoPlist.strings in Resources */,
DAB8D46015036BCF00CED3BC /* MainStoryboard_iPhone.storyboard in Resources */, DAB8D46015036BCF00CED3BC /* MainStoryboard_iPhone.storyboard in Resources */,
DAB8D46115036BCF00CED3BC /* MasterPassword-Info.plist in Resources */, DAB8D46115036BCF00CED3BC /* MasterPassword-Info.plist in Resources */,
@ -3639,6 +3653,7 @@
DAB8D97915036BF700CED3BC /* tip_location_teal@2x.png in Resources */, DAB8D97915036BF700CED3BC /* tip_location_teal@2x.png in Resources */,
DAB8D97A15036BF700CED3BC /* tip_location_wood.png in Resources */, DAB8D97A15036BF700CED3BC /* tip_location_wood.png in Resources */,
DAB8D97B15036BF700CED3BC /* tip_location_wood@2x.png in Resources */, DAB8D97B15036BF700CED3BC /* tip_location_wood@2x.png in Resources */,
DAFE4A5A1503982E003ABA7C /* Pearl.strings in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -3724,39 +3739,40 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
DA14E5B514FC3C4D00CB25CF /* NSObject_PearlExport.m in Sources */, DAFE4A1415039824003ABA7C /* NSObject_PearlExport.m in Sources */,
DA14E5B714FC3C4D00CB25CF /* NSString_PearlNSArrayFormat.m in Sources */, DAFE4A1615039824003ABA7C /* NSString_PearlNSArrayFormat.m in Sources */,
DA14E5B914FC3C4D00CB25CF /* NSString_PearlSEL.m in Sources */, DAFE4A1815039824003ABA7C /* NSString_PearlSEL.m in Sources */,
DA14E5BC14FC3C4D00CB25CF /* PearlAbstractStrings.m in Sources */, DAFE4A1B15039824003ABA7C /* PearlAbstractStrings.m in Sources */,
DA14E5BE14FC3C4D00CB25CF /* PearlAppDelegate.m in Sources */, DAFE4A1D15039824003ABA7C /* PearlAppDelegate.m in Sources */,
DA14E5C014FC3C4D00CB25CF /* PearlCodeUtils.m in Sources */, DAFE4A1F15039824003ABA7C /* PearlCodeUtils.m in Sources */,
DA14E5C214FC3C4D00CB25CF /* PearlConfig.m in Sources */, DAFE4A2115039824003ABA7C /* PearlConfig.m in Sources */,
DA14E5C414FC3C4D00CB25CF /* PearlDeviceUtils.m in Sources */, DAFE4A2315039824003ABA7C /* PearlDeviceUtils.m in Sources */,
DA14E5C614FC3C4D00CB25CF /* PearlInfoPlist.m in Sources */, DAFE4A2515039824003ABA7C /* PearlInfoPlist.m in Sources */,
DA14E5C814FC3C4D00CB25CF /* PearlLogger.m in Sources */, DAFE4A2715039824003ABA7C /* PearlLogger.m in Sources */,
DA14E5CA14FC3C4D00CB25CF /* PearlMathUtils.m in Sources */, DAFE4A2915039824003ABA7C /* PearlMathUtils.m in Sources */,
DA14E5CC14FC3C4D00CB25CF /* PearlObjectUtils.m in Sources */, DAFE4A2B15039824003ABA7C /* PearlObjectUtils.m in Sources */,
DA14E5CF14FC3C4D00CB25CF /* PearlStrings.m in Sources */, DAFE4A2E15039824003ABA7C /* PearlStrings.m in Sources */,
DA14E5D114FC3C4D00CB25CF /* PearlStringUtils.m in Sources */, DAFE4A3015039824003ABA7C /* PearlStringUtils.m in Sources */,
DA14E5D314FC3C4D00CB25CF /* PearlWebUtils.m in Sources */, DAFE4A3215039824003ABA7C /* PearlWebUtils.m in Sources */,
DA14E5D614FC3C4D00CB25CF /* PearlCryptUtils.m in Sources */, DAFE4A3515039824003ABA7C /* PearlCryptUtils.m in Sources */,
DA14E5D814FC3C4D00CB25CF /* PearlKeyChain.m in Sources */, DAFE4A3715039824003ABA7C /* PearlKeyChain.m in Sources */,
DA14E5DA14FC3C4D00CB25CF /* PearlRSAKey.m in Sources */, DAFE4A3915039824003ABA7C /* PearlRSAKey.m in Sources */,
DA14E5DC14FC3C4D00CB25CF /* PearlSCrypt.m in Sources */, DAFE4A3B15039824003ABA7C /* PearlSCrypt.m in Sources */,
DA14E5E014FC3C4D00CB25CF /* PearlAlert.m in Sources */, DAFE4A3F15039824003ABA7C /* PearlAlert.m in Sources */,
DA14E5E214FC3C4D00CB25CF /* PearlArrayTVC.m in Sources */, DAFE4A4115039824003ABA7C /* PearlArrayTVC.m in Sources */,
DA14E5E414FC3C4D00CB25CF /* PearlBoxView.m in Sources */, DAFE4A4315039824003ABA7C /* PearlBoxView.m in Sources */,
DA14E5E614FC3C4D00CB25CF /* PearlGradientView.m in Sources */, DAFE4A4515039824003ABA7C /* PearlGradientView.m in Sources */,
DA14E5E814FC3C4D00CB25CF /* PearlLayout.m in Sources */, DAFE4A4715039824003ABA7C /* PearlLayout.m in Sources */,
DA14E5EA14FC3C4D00CB25CF /* PearlLayoutView.m in Sources */, DAFE4A4915039824003ABA7C /* PearlLayoutView.m in Sources */,
DA14E5EC14FC3C4D00CB25CF /* PearlMessageView.m in Sources */, DAFE4A4B15039824003ABA7C /* PearlMessageView.m in Sources */,
DA14E5EE14FC3C4D00CB25CF /* PearlRootViewController.m in Sources */, DAFE4A4D15039824003ABA7C /* PearlRootViewController.m in Sources */,
DA14E5F014FC3C4D00CB25CF /* PearlSheet.m in Sources */, DAFE4A4F15039824003ABA7C /* PearlSheet.m in Sources */,
DA14E5F214FC3C4D00CB25CF /* PearlUIDebug.m in Sources */, DAFE4A5115039824003ABA7C /* PearlUIDebug.m in Sources */,
DA14E5F414FC3C4D00CB25CF /* PearlUIUtils.m in Sources */, DAFE4A5315039824003ABA7C /* PearlUIUtils.m in Sources */,
DA14E5F614FC3C4D00CB25CF /* PearlValidatingTextField.m in Sources */, DAFE4A5515039824003ABA7C /* PearlValidatingTextField.m in Sources */,
DA14E5F814FC3C4D00CB25CF /* PearlWebViewController.m in Sources */, DAFE4A5715039824003ABA7C /* PearlWebViewController.m in Sources */,
DA14E5FA14FC3C4D00CB25CF /* UIImage_PearlScaling.m in Sources */, DAFE4A5915039824003ABA7C /* UIImage_PearlScaling.m in Sources */,
DAFE4A62150399FF003ABA7C /* PearlAppDelegate.m in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -3776,14 +3792,6 @@
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */ /* Begin PBXVariantGroup section */
DA14E19B14FC3C4B00CB25CF /* Pearl.strings */ = {
isa = PBXVariantGroup;
children = (
DA14E19C14FC3C4B00CB25CF /* en */,
);
name = Pearl.strings;
sourceTree = "<group>";
};
DAB8D43F15036BCF00CED3BC /* InfoPlist.strings */ = { DAB8D43F15036BCF00CED3BC /* InfoPlist.strings */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
@ -3792,6 +3800,14 @@
name = InfoPlist.strings; name = InfoPlist.strings;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
DAFE45FA15039823003ABA7C /* Pearl.strings */ = {
isa = PBXVariantGroup;
children = (
DAFE45FB15039823003ABA7C /* en */,
);
name = Pearl.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */ /* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */

View File

@ -6,7 +6,7 @@
buildImplicitDependencies = "YES"> buildImplicitDependencies = "YES">
<BuildActionEntries> <BuildActionEntries>
<BuildActionEntry <BuildActionEntry
buildForTesting = "YES" buildForTesting = "NO"
buildForRunning = "YES" buildForRunning = "YES"
buildForProfiling = "YES" buildForProfiling = "YES"
buildForArchiving = "YES" buildForArchiving = "YES"
@ -28,6 +28,15 @@
buildConfiguration = "Debug"> buildConfiguration = "Debug">
<Testables> <Testables>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DA5BFA43147E415C00F98B1E"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-iOS.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"

View File

@ -6,7 +6,7 @@
buildImplicitDependencies = "YES"> buildImplicitDependencies = "YES">
<BuildActionEntries> <BuildActionEntries>
<BuildActionEntry <BuildActionEntry
buildForTesting = "YES" buildForTesting = "NO"
buildForRunning = "YES" buildForRunning = "YES"
buildForProfiling = "YES" buildForProfiling = "YES"
buildForArchiving = "YES" buildForArchiving = "YES"
@ -28,6 +28,15 @@
buildConfiguration = "Debug"> buildConfiguration = "Debug">
<Testables> <Testables>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DA5BFA43147E415C00F98B1E"
BuildableName = "MasterPassword.app"
BlueprintName = "MasterPassword"
ReferencedContainer = "container:MasterPassword-iOS.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"

View File

@ -53,7 +53,9 @@
[PearlKeyChain addOrUpdateItemForQuery:[MPElementStoredEntity queryForDevicePrivateElementNamed:self.name] [PearlKeyChain addOrUpdateItemForQuery:[MPElementStoredEntity queryForDevicePrivateElementNamed:self.name]
withAttributes:[NSDictionary dictionaryWithObjectsAndKeys: withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
encryptedContent, (__bridge id)kSecValueData, encryptedContent, (__bridge id)kSecValueData,
#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
kSecAttrAccessibleWhenUnlockedThisDeviceOnly, (__bridge id)kSecAttrAccessible, kSecAttrAccessibleWhenUnlockedThisDeviceOnly, (__bridge id)kSecAttrAccessible,
#endif
nil]]; nil]];
self.contentObject = nil; self.contentObject = nil;
} else } else

View File

@ -58,6 +58,7 @@ typedef enum {
#define MPTestFlightCheckpointSetKeyphraseLength @"MPTestFlightCheckpointSetKeyphraseLength_%d" #define MPTestFlightCheckpointSetKeyphraseLength @"MPTestFlightCheckpointSetKeyphraseLength_%d"
#endif #endif
#define MPNotificationStoreUpdated @"MPNotificationStoreUpdated"
#define MPNotificationKeySet @"MPNotificationKeySet" #define MPNotificationKeySet @"MPNotificationKeySet"
#define MPNotificationKeyUnset @"MPNotificationKeyUnset" #define MPNotificationKeyUnset @"MPNotificationKeyUnset"
#define MPNotificationKeyForgotten @"MPNotificationKeyForgotten" #define MPNotificationKeyForgotten @"MPNotificationKeyForgotten"

View File

@ -0,0 +1,26 @@
//
// MPAppDelegate.h
// MasterPassword
//
// Created by Maarten Billemont on 04/03/12.
// Copyright (c) 2012 Lyndir. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface MPAppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSData *keyPhrase;
+ (MPAppDelegate *)get;
- (IBAction)saveAction:(id)sender;
- (NSData *)keyPhraseWithLength:(NSUInteger)keyLength;
@end

View File

@ -0,0 +1,181 @@
//
// MPAppDelegate.m
// MasterPassword
//
// Created by Maarten Billemont on 04/03/12.
// Copyright (c) 2012 Lyndir. All rights reserved.
//
#import "MPAppDelegate.h"
@implementation MPAppDelegate
@synthesize window = _window;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize keyPhrase;
+ (MPAppDelegate *)get {
return (MPAppDelegate *)[NSApplication sharedApplication].delegate;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
- (NSURL *)applicationFilesDirectory {
NSURL *appSupportURL = [[[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask] lastObject];
return [appSupportURL URLByAppendingPathComponent:@"com.lyndir.lhunath.MasterPassword"];
}
- (NSData *)keyPhraseWithLength:(NSUInteger)keyLength {
return [self.keyPhrase subdataWithRange:NSMakeRange(0, MIN(keyLength, self.keyPhrase.length))];
}
#pragma mark - Core Data stack
- (NSManagedObjectModel *)managedObjectModel {
if (__managedObjectModel)
return __managedObjectModel;
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MasterPassword" withExtension:@"momd"];
return __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
}
- (NSManagedObjectContext *)managedObjectContext {
if (__managedObjectContext)
return __managedObjectContext;
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator) {
__managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
__managedObjectContext.persistentStoreCoordinator = coordinator;
[[NSNotificationCenter defaultCenter] addObserverForName:NSPersistentStoreDidImportUbiquitousContentChangesNotification
object:coordinator
queue:nil
usingBlock:^(NSNotification *note) {
dbg(@"Ubiquitous content change: %@", note);
[__managedObjectContext performBlock:^{
[__managedObjectContext mergeChangesFromContextDidSaveNotification:note];
[[NSNotificationCenter defaultCenter] postNotification:
[NSNotification notificationWithName:MPNotificationStoreUpdated
object:self userInfo:[note userInfo]]];
}];
}];
}
return __managedObjectContext;
}
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (__persistentStoreCoordinator)
return __persistentStoreCoordinator;
NSURL *storeURL = [[self applicationFilesDirectory] URLByAppendingPathComponent:@"MasterPassword.storedata"];
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
[__persistentStoreCoordinator lock];
NSError *error = nil;
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSXMLStoreType configuration:nil URL:storeURL
options:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
@"MasterPassword.store", NSPersistentStoreUbiquitousContentNameKey,
[[[NSFileManager defaultManager]
URLForUbiquityContainerIdentifier:nil]
URLByAppendingPathComponent:@"store"
isDirectory:YES], NSPersistentStoreUbiquitousContentURLKey,
nil]
error:&error]) {
err(@"Unresolved error %@, %@", error, [error userInfo]);
#if DEBUG
wrn(@"Deleted datastore: %@", storeURL);
[[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil];
#endif
[[NSApplication sharedApplication] presentError:error];
return nil;
}
[__persistentStoreCoordinator unlock];
return __persistentStoreCoordinator;
}
// Returns the NSUndoManager for the application. In this case, the manager returned is that of the managed object context for the application.
- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window
{
return [[self managedObjectContext] undoManager];
}
// Performs the save action for the application, which is to send the save: message to the application's managed object context. Any encountered errors are presented to the user.
- (IBAction)saveAction:(id)sender
{
NSError *error = nil;
if (![[self managedObjectContext] commitEditing]) {
NSLog(@"%@:%@ unable to commit editing before saving", [self class], NSStringFromSelector(_cmd));
}
if (![[self managedObjectContext] save:&error]) {
[[NSApplication sharedApplication] presentError:error];
}
}
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
// Save changes in the application's managed object context before the application terminates.
if (!__managedObjectContext) {
return NSTerminateNow;
}
if (![[self managedObjectContext] commitEditing]) {
NSLog(@"%@:%@ unable to commit editing to terminate", [self class], NSStringFromSelector(_cmd));
return NSTerminateCancel;
}
if (![[self managedObjectContext] hasChanges]) {
return NSTerminateNow;
}
NSError *error = nil;
if (![[self managedObjectContext] save:&error]) {
// Customize this code block to include application-specific recovery steps.
BOOL result = [sender presentError:error];
if (result) {
return NSTerminateCancel;
}
NSString *question = NSLocalizedString(@"Could not save changes while quitting. Quit anyway?", @"Quit without saves error question message");
NSString *info = NSLocalizedString(@"Quitting now will lose any changes you have made since the last successful save", @"Quit without saves error question info");
NSString *quitButton = NSLocalizedString(@"Quit anyway", @"Quit anyway button title");
NSString *cancelButton = NSLocalizedString(@"Cancel", @"Cancel button title");
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText:question];
[alert setInformativeText:info];
[alert addButtonWithTitle:quitButton];
[alert addButtonWithTitle:cancelButton];
NSInteger answer = [alert runModal];
if (answer == NSAlertAlternateReturn) {
return NSTerminateCancel;
}
}
return NSTerminateNow;
}
@end

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.lyndir.lhunath.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2012 Lyndir. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@ -0,0 +1,11 @@
//
// Prefix header for all source files of the 'MasterPassword' target in the 'MasterPassword' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
#import "Pearl-Prefix.pch"
#import "MPTypes.h"

View File

@ -0,0 +1,29 @@
{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw9840\paperh8400
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
\f0\b\fs24 \cf0 Engineering:
\b0 \
Some people\
\
\b Human Interface Design:
\b0 \
Some other people\
\
\b Testing:
\b0 \
Hopefully not nobody\
\
\b Documentation:
\b0 \
Whoever\
\
\b With special thanks to:
\b0 \
Mom\
}

View File

@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */

File diff suppressed because it is too large Load Diff

14
MasterPassword/Mac/main.m Normal file
View File

@ -0,0 +1,14 @@
//
// main.m
// MasterPassword
//
// Created by Maarten Billemont on 04/03/12.
// Copyright (c) 2012 Lyndir. All rights reserved.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **)argv);
}

View File

@ -390,12 +390,17 @@
#pragma mark - Core Data stack #pragma mark - Core Data stack
/** - (NSManagedObjectModel *)managedObjectModel {
Returns the managed object context for the application.
If the context doesn't already exist, it is created and bound to the persistent store coordinator for the application. if (__managedObjectModel)
*/ return __managedObjectModel;
- (NSManagedObjectContext *)managedObjectContext
{ NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MasterPassword" withExtension:@"momd"];
return __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
}
- (NSManagedObjectContext *)managedObjectContext {
if (__managedObjectContext) if (__managedObjectContext)
return __managedObjectContext; return __managedObjectContext;
@ -414,7 +419,7 @@
[__managedObjectContext mergeChangesFromContextDidSaveNotification:note]; [__managedObjectContext mergeChangesFromContextDidSaveNotification:note];
[[NSNotificationCenter defaultCenter] postNotification: [[NSNotificationCenter defaultCenter] postNotification:
[NSNotification notificationWithName:UIScreenModeDidChangeNotification [NSNotification notificationWithName:MPNotificationStoreUpdated
object:self userInfo:[note userInfo]]]; object:self userInfo:[note userInfo]]];
}]; }];
}]; }];
@ -423,25 +428,8 @@
return __managedObjectContext; return __managedObjectContext;
} }
/** - (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
Returns the managed object model for the application.
If the model doesn't already exist, it is created from the application's model.
*/
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel)
return __managedObjectModel;
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MasterPassword" withExtension:@"momd"];
return __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
}
/**
Returns the persistent store coordinator for the application.
If the coordinator doesn't already exist, it is created and the application's store added to it.
*/
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (__persistentStoreCoordinator) if (__persistentStoreCoordinator)
return __persistentStoreCoordinator; return __persistentStoreCoordinator;
@ -460,31 +448,7 @@
URLByAppendingPathComponent:@"store" URLByAppendingPathComponent:@"store"
isDirectory:YES], NSPersistentStoreUbiquitousContentURLKey, isDirectory:YES], NSPersistentStoreUbiquitousContentURLKey,
nil] nil]
error:&error]) error:&error]) {
{
/*
Replace this implementation with code to handle the error appropriately.
abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
Typical reasons for an error here include:
* The persistent store is not accessible;
* The schema for the persistent store is incompatible with current managed object model.
Check the error message to determine what the actual problem was.
If the persistent store is not accessible, there is typically something wrong with the file path. Often, a file URL is pointing into the application's resources directory instead of a writeable directory.
If you encounter schema incompatibility errors during development, you can reduce their frequency by:
* Simply deleting the existing store:
[[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil]
* Performing automatic lightweight migration by passing the following dictionary as the options parameter:
[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
Lightweight migration will only work for a limited set of schema changes; consult "Core Data Model Versioning and Data Migration Programming Guide" for details.
*/
err(@"Unresolved error %@, %@", error, [error userInfo]); err(@"Unresolved error %@, %@", error, [error userInfo]);
#if DEBUG #if DEBUG
wrn(@"Deleted datastore: %@", storeURL); wrn(@"Deleted datastore: %@", storeURL);

View File

@ -10,8 +10,12 @@
#define PEARL #define PEARL
#define PEARL_CRYPTO #define PEARL_CRYPTO
#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
#define PEARL_UIKIT #define PEARL_UIKIT
#endif
#import "Pearl.h" #import "Pearl.h"
#import "Pearl-Crypto.h" #import "Pearl-Crypto.h"
#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
#import "Pearl-UIKit.h" #import "Pearl-UIKit.h"
#endif