├── PinCode ├── en.lproj │ └── InfoPlist.strings ├── fondo.png ├── boton_pad.png ├── fondo@2x.png ├── boton_cancel.png ├── boton_pad@2x.png ├── dibujo_atras.png ├── boton_cancel@2x.png ├── dibujo_atras@2x.png ├── iPad │ ├── PinCodeAppDelegate_iPad.h │ ├── PinCodeAppDelegate_iPad.m │ └── en.lproj │ │ └── MainWindow_iPad.xib ├── iPhone │ ├── PinCodeAppDelegate_iPhone.h │ ├── PinCodeAppDelegate_iPhone.m │ └── en.lproj │ │ └── MainWindow_iPhone.xib ├── PinCode-Prefix.pch ├── PinCodeAppDelegate.h ├── main.m ├── DummyViewController.h ├── PinCode-Info.plist ├── PinCode.h ├── PinCodeAppDelegate.m ├── DummyViewController.m ├── PinCode.m ├── DummyViewController.xib └── PinCode.xib ├── .gitignore ├── PinCode.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── project.pbxproj └── README /PinCode/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /PinCode/fondo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/fondo.png -------------------------------------------------------------------------------- /PinCode/boton_pad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/boton_pad.png -------------------------------------------------------------------------------- /PinCode/fondo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/fondo@2x.png -------------------------------------------------------------------------------- /PinCode/boton_cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/boton_cancel.png -------------------------------------------------------------------------------- /PinCode/boton_pad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/boton_pad@2x.png -------------------------------------------------------------------------------- /PinCode/dibujo_atras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/dibujo_atras.png -------------------------------------------------------------------------------- /PinCode/boton_cancel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/boton_cancel@2x.png -------------------------------------------------------------------------------- /PinCode/dibujo_atras@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moddity/PinCode/HEAD/PinCode/dibujo_atras@2x.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Exclude OS X folder attributes 2 | .DS_Store 3 | 4 | # Exclude user-specific XCode 4 files 5 | *xcuserdata* 6 | -------------------------------------------------------------------------------- /PinCode.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PinCode/iPad/PinCodeAppDelegate_iPad.h: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate_iPad.h 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PinCodeAppDelegate.h" 11 | 12 | @interface PinCodeAppDelegate_iPad : PinCodeAppDelegate { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PinCode/iPad/PinCodeAppDelegate_iPad.m: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate_iPad.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import "PinCodeAppDelegate_iPad.h" 10 | 11 | @implementation PinCodeAppDelegate_iPad 12 | 13 | - (void)dealloc 14 | { 15 | [super dealloc]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PinCode/iPhone/PinCodeAppDelegate_iPhone.h: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate_iPhone.h 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PinCodeAppDelegate.h" 11 | 12 | @interface PinCodeAppDelegate_iPhone : PinCodeAppDelegate { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PinCode/iPhone/PinCodeAppDelegate_iPhone.m: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate_iPhone.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import "PinCodeAppDelegate_iPhone.h" 10 | 11 | @implementation PinCodeAppDelegate_iPhone 12 | 13 | - (void)dealloc 14 | { 15 | [super dealloc]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PinCode/PinCode-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'PinCode' target in the 'PinCode' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /PinCode/PinCodeAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate.h 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DummyViewController.h" 11 | 12 | @interface PinCodeAppDelegate : NSObject { 13 | 14 | } 15 | 16 | @property (nonatomic, retain) IBOutlet UIWindow *window; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PinCode/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | [pool release]; 16 | return retVal; 17 | } 18 | -------------------------------------------------------------------------------- /PinCode/DummyViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DummyViewController.h 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PinCode.h" 11 | 12 | 13 | @interface DummyViewController : UIViewController { 14 | PinCode *pinCodeViewController; 15 | UITextField *pinCodeTextField; 16 | } 17 | @property (nonatomic, retain) IBOutlet UITextField *pinCodeTextField; 18 | 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | ***************************************************** 2 | * PINCODE VIEW * 3 | * Bazinga Systems (@bazingasystems) * 4 | * http://www.bazingasystems.com * 5 | ***************************************************** 6 | 7 | ////////// WHAT ARE YOU GOING TO FIND HERE////////// 8 | PinCode shows a view like the iOS generic autentication pinpad. 9 | This project is able to work on both platforms, Iphone and Ipad, but in this demo, we show Ipad version only. 10 | PinCode view supports landscape and portrait mode. 11 | 12 | As a demo, you can choose the correct password at the beginning. 13 | 14 | PinCode is a simple view to use as a Code Entry. 15 | 16 | ////////// HOW TO USE IT ////////// 17 | This project contains a simple ViewController and a Delegate Method. 18 | 19 | Add the files to your project and call the method PinCode to make it work: 20 | 21 | PinCode pinCodeVC=[[PinCode alloc] initWithNibName:@"PinCode" bundle:nil]; 22 | [pinCodeVC setDelegate:self]; 23 | [pinCodeVC.view setFrame:frame]; 24 | [self.view addSubview:pinCodeViewController.view]; 25 | 26 | 27 | ////////// DOWNLOAD PROJECT ////////// 28 | To download all files in this repository, click on "Downloads" near the top 29 | of this page and select tar or zip format. -------------------------------------------------------------------------------- /PinCode/PinCode-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.bazingasystems.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1.0 27 | LSRequiresIPhoneOS 28 | 29 | NSMainNibFile 30 | MainWindow_iPhone 31 | NSMainNibFile~ipad 32 | MainWindow_iPad 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /PinCode/PinCode.h: -------------------------------------------------------------------------------- 1 | // 2 | // PinCode.h 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol PinCodeDelegate 12 | 13 | -(BOOL) isPinCodeCorrect:(NSString*)pinCode; 14 | 15 | -(void) pinCodeViewWillClose; 16 | 17 | @end 18 | 19 | 20 | @interface PinCode : UIViewController { 21 | 22 | 23 | id delegate; 24 | 25 | NSMutableString *inputCode; 26 | 27 | UILabel *titleLabel; 28 | UIButton *cancelButton; // tag 300 29 | 30 | UILabel *descriptionLabel; 31 | UILabel *failedAttemptLabel; 32 | 33 | UITextField *firstElementTextField; 34 | UITextField *secondElementTextField; 35 | UITextField *thirdElementTextField; 36 | UITextField *fourthElementTextField; 37 | 38 | UIButton *oneButton; // tag 101 39 | UIButton *twoButton; // tag 102 40 | UIButton *threeButton; // tag 103 41 | UIButton *fourButton; // tag 104 42 | UIButton *fiveButton; // tag 105 43 | UIButton *sixButton; // tag 106 44 | UIButton *sevenButton; // tag 107 45 | UIButton *eightButton; // tag 108 46 | UIButton *nineButton; // tag 109 47 | UIButton *zeroButton; // tag 100 48 | UIButton *deleteButton; // tag 200 49 | 50 | 51 | } 52 | 53 | @property (assign) id delegate; 54 | 55 | // connections 56 | 57 | @property (nonatomic, retain) IBOutlet UILabel *titleLabel; 58 | @property (nonatomic, retain) IBOutlet UIButton *cancelButton; 59 | 60 | @property (nonatomic, retain) IBOutlet UILabel *descriptionLabel; 61 | @property (nonatomic, retain) IBOutlet UILabel *failedAttemptLabel; 62 | 63 | @property (nonatomic, retain) IBOutlet UITextField *firstElementTextField; 64 | @property (nonatomic, retain) IBOutlet UITextField *secondElementTextField; 65 | @property (nonatomic, retain) IBOutlet UITextField *thirdElementTextField; 66 | @property (nonatomic, retain) IBOutlet UITextField *fourthElementTextField; 67 | 68 | @property (nonatomic, retain) IBOutlet UIButton *oneButton; 69 | @property (nonatomic, retain) IBOutlet UIButton *twoButton; 70 | @property (nonatomic, retain) IBOutlet UIButton *threeButton; 71 | @property (nonatomic, retain) IBOutlet UIButton *fourButton; 72 | @property (nonatomic, retain) IBOutlet UIButton *fiveButton; 73 | @property (nonatomic, retain) IBOutlet UIButton *sixButton; 74 | @property (nonatomic, retain) IBOutlet UIButton *sevenButton; 75 | @property (nonatomic, retain) IBOutlet UIButton *eightButton; 76 | @property (nonatomic, retain) IBOutlet UIButton *nineButton; 77 | @property (nonatomic, retain) IBOutlet UIButton *zeroButton; 78 | @property (nonatomic, retain) IBOutlet UIButton *deleteButton; 79 | 80 | - (IBAction)buttonPressedAction:(id)sender; 81 | 82 | -(void)checkPinCode; 83 | 84 | @end 85 | -------------------------------------------------------------------------------- /PinCode/PinCodeAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // PinCodeAppDelegate.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import "PinCodeAppDelegate.h" 10 | 11 | @implementation PinCodeAppDelegate 12 | 13 | 14 | @synthesize window=_window; 15 | 16 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 17 | { 18 | // Override point for customization after application launch. 19 | [self.window makeKeyAndVisible]; 20 | 21 | 22 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 23 | 24 | DummyViewController *dummyViewController=[[DummyViewController alloc] initWithNibName:@"DummyViewController" bundle:nil]; 25 | [self.window addSubview:dummyViewController.view]; 26 | } 27 | else { 28 | 29 | 30 | 31 | 32 | } 33 | 34 | 35 | 36 | 37 | 38 | return YES; 39 | } 40 | 41 | - (void)applicationWillResignActive:(UIApplication *)application 42 | { 43 | /* 44 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 45 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 46 | */ 47 | } 48 | 49 | - (void)applicationDidEnterBackground:(UIApplication *)application 50 | { 51 | /* 52 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 53 | If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 54 | */ 55 | } 56 | 57 | - (void)applicationWillEnterForeground:(UIApplication *)application 58 | { 59 | /* 60 | Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. 61 | */ 62 | } 63 | 64 | - (void)applicationDidBecomeActive:(UIApplication *)application 65 | { 66 | /* 67 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 68 | */ 69 | } 70 | 71 | - (void)applicationWillTerminate:(UIApplication *)application 72 | { 73 | /* 74 | Called when the application is about to terminate. 75 | Save data if appropriate. 76 | See also applicationDidEnterBackground:. 77 | */ 78 | } 79 | 80 | - (void)dealloc 81 | { 82 | [_window release]; 83 | [super dealloc]; 84 | } 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /PinCode/DummyViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // DummyViewController.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import "DummyViewController.h" 10 | 11 | 12 | @implementation DummyViewController 13 | @synthesize pinCodeTextField; 14 | 15 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 16 | { 17 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 18 | if (self) { 19 | // Custom initialization 20 | } 21 | return self; 22 | } 23 | 24 | - (void)dealloc 25 | { 26 | [pinCodeTextField release]; 27 | [super dealloc]; 28 | } 29 | 30 | - (void)didReceiveMemoryWarning 31 | { 32 | // Releases the view if it doesn't have a superview. 33 | [super didReceiveMemoryWarning]; 34 | 35 | // Release any cached data, images, etc that aren't in use. 36 | } 37 | 38 | #pragma mark - View lifecycle 39 | 40 | - (void)viewDidLoad 41 | { 42 | [super viewDidLoad]; 43 | // Do any additional setup after loading the view from its nib. 44 | 45 | 46 | } 47 | 48 | - (void)viewDidUnload 49 | { 50 | [self setPinCodeTextField:nil]; 51 | [super viewDidUnload]; 52 | // Release any retained subviews of the main view. 53 | // e.g. self.myOutlet = nil; 54 | } 55 | 56 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 57 | { 58 | // Return YES for supported orientations 59 | return YES; 60 | } 61 | 62 | - (IBAction)loginAction:(id)sender { 63 | 64 | pinCodeViewController=[[PinCode alloc] initWithNibName:@"PinCode" bundle:nil]; 65 | 66 | [pinCodeViewController setDelegate:self]; 67 | 68 | 69 | if (UIDeviceOrientationIsPortrait([[UIDevice currentDevice] orientation])) 70 | { 71 | [pinCodeViewController.view setFrame:CGRectMake( 72 | (self.view.frame.size.width/2)-(pinCodeViewController.view.frame.size.width/2), 73 | (self.view.frame.size.height/2)-(pinCodeViewController.view.frame.size.height/2), 74 | pinCodeViewController.view.frame.size.width, 75 | pinCodeViewController.view.frame.size.height)]; 76 | }else{ 77 | [pinCodeViewController.view setFrame:CGRectMake( 78 | (self.view.frame.size.height/2)-(pinCodeViewController.view.frame.size.width/2), 79 | (self.view.frame.size.width/2)-(pinCodeViewController.view.frame.size.height/2), 80 | pinCodeViewController.view.frame.size.width, 81 | pinCodeViewController.view.frame.size.height)]; 82 | } 83 | 84 | [self.view addSubview:pinCodeViewController.view]; 85 | 86 | } 87 | 88 | # pragma mark -- PinView delegate methods 89 | 90 | -(BOOL) isPinCodeCorrect:(NSString *)pinCode{ 91 | 92 | if ([self.pinCodeTextField.text isEqualToString:pinCode]) { 93 | 94 | UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Login" message:@"Login successful" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:nil]; 95 | 96 | [alertView show]; 97 | [alertView release]; 98 | 99 | return YES; 100 | } 101 | 102 | return NO; 103 | } 104 | 105 | 106 | -(void) pinCodeViewWillClose{ 107 | 108 | [pinCodeViewController release]; 109 | pinCodeViewController=nil; 110 | } 111 | 112 | @end 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /PinCode/PinCode.m: -------------------------------------------------------------------------------- 1 | // 2 | // PinCode.m 3 | // PinCode 4 | // 5 | // Created by Oriol Vilaró on 20/06/11. 6 | // Copyright 2011 Bazinga Systems. All rights reserved. 7 | // 8 | 9 | #import "PinCode.h" 10 | 11 | 12 | @implementation PinCode 13 | 14 | @synthesize delegate; 15 | 16 | @synthesize firstElementTextField; 17 | @synthesize fourthElementTextField; 18 | @synthesize oneButton; 19 | @synthesize twoButton; 20 | @synthesize threeButton; 21 | @synthesize fourButton; 22 | @synthesize fiveButton; 23 | @synthesize sixButton; 24 | @synthesize sevenButton; 25 | @synthesize eightButton; 26 | @synthesize nineButton; 27 | @synthesize zeroButton; 28 | @synthesize deleteButton; 29 | @synthesize titleLabel; 30 | @synthesize cancelButton; 31 | @synthesize descriptionLabel; 32 | @synthesize failedAttemptLabel; 33 | @synthesize secondElementTextField; 34 | @synthesize thirdElementTextField; 35 | 36 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 37 | { 38 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 39 | if (self) { 40 | // Custom initialization 41 | 42 | inputCode=[[NSMutableString alloc] initWithCapacity:4]; 43 | [inputCode setString:@""]; 44 | } 45 | return self; 46 | } 47 | 48 | - (void)dealloc 49 | { 50 | [inputCode release]; 51 | 52 | [firstElementTextField release]; 53 | [fourthElementTextField release]; 54 | [secondElementTextField release]; 55 | [thirdElementTextField release]; 56 | [titleLabel release]; 57 | [cancelButton release]; 58 | [descriptionLabel release]; 59 | [oneButton release]; 60 | [twoButton release]; 61 | [threeButton release]; 62 | [fourButton release]; 63 | [fiveButton release]; 64 | [sixButton release]; 65 | [sevenButton release]; 66 | [nineButton release]; 67 | [eightButton release]; 68 | [zeroButton release]; 69 | [deleteButton release]; 70 | [failedAttemptLabel release]; 71 | [super dealloc]; 72 | } 73 | 74 | - (void)didReceiveMemoryWarning 75 | { 76 | // Releases the view if it doesn't have a superview. 77 | [super didReceiveMemoryWarning]; 78 | 79 | // Release any cached data, images, etc that aren't in use. 80 | } 81 | 82 | #pragma mark - View lifecycle 83 | 84 | - (void)viewDidLoad 85 | { 86 | [super viewDidLoad]; 87 | // Do any additional setup after loading the view from its nib. 88 | } 89 | 90 | - (void)viewDidUnload 91 | { 92 | [self setFirstElementTextField:nil]; 93 | [self setFourthElementTextField:nil]; 94 | [self setSecondElementTextField:nil]; 95 | [self setThirdElementTextField:nil]; 96 | [self setTitleLabel:nil]; 97 | [self setCancelButton:nil]; 98 | [self setDescriptionLabel:nil]; 99 | [self setOneButton:nil]; 100 | [self setTwoButton:nil]; 101 | [self setThreeButton:nil]; 102 | [self setFourButton:nil]; 103 | [self setFiveButton:nil]; 104 | [self setSixButton:nil]; 105 | [self setSevenButton:nil]; 106 | [self setNineButton:nil]; 107 | [self setEightButton:nil]; 108 | [self setZeroButton:nil]; 109 | [self setDeleteButton:nil]; 110 | [self setFailedAttemptLabel:nil]; 111 | [super viewDidUnload]; 112 | // Release any retained subviews of the main view. 113 | // e.g. self.myOutlet = nil; 114 | } 115 | 116 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 117 | { 118 | // Return YES for supported orientations 119 | // return (interfaceOrientation == UIInterfaceOrientationPortrait); 120 | return YES; 121 | } 122 | 123 | - (IBAction)buttonPressedAction:(id)sender { 124 | 125 | [self.failedAttemptLabel setHidden:YES]; 126 | 127 | 128 | switch ([sender tag]) { 129 | 130 | case 200: // delete button 131 | if ([inputCode length]>0) { 132 | 133 | // change textfields 134 | switch ([inputCode length]) { 135 | case 1: 136 | firstElementTextField.text=@""; 137 | break; 138 | case 2: 139 | secondElementTextField.text=@""; 140 | break; 141 | case 3: 142 | thirdElementTextField.text=@""; 143 | break; 144 | case 4: 145 | fourthElementTextField.text=@""; 146 | break; 147 | default: 148 | break; 149 | } 150 | 151 | // delete last input 152 | [inputCode deleteCharactersInRange:NSMakeRange([inputCode length]-1, 1)]; 153 | } 154 | break; 155 | 156 | case 300: // cancel button 157 | 158 | [self.view removeFromSuperview]; 159 | [delegate pinCodeViewWillClose]; 160 | 161 | break; 162 | 163 | default: // number buttons 164 | [inputCode appendString:[NSString stringWithFormat:@"%d",[sender tag]-100]]; 165 | 166 | // change textfields 167 | switch ([inputCode length]) { 168 | case 1: 169 | firstElementTextField.text=@"*"; 170 | break; 171 | case 2: 172 | secondElementTextField.text=@"*"; 173 | break; 174 | case 3: 175 | thirdElementTextField.text=@"*"; 176 | break; 177 | case 4: 178 | fourthElementTextField.text=@"*"; 179 | break; 180 | default: 181 | break; 182 | } 183 | 184 | if ([inputCode length]==4) { 185 | 186 | // Check the PinCode later to update the 4th textfield 187 | [self performSelector:@selector(checkPinCode) withObject:nil afterDelay:0.2]; 188 | } 189 | break; 190 | } 191 | } 192 | 193 | -(void)checkPinCode{ 194 | // check code 195 | if ([delegate isPinCodeCorrect:inputCode]){ 196 | 197 | [self.view removeFromSuperview]; 198 | [delegate pinCodeViewWillClose]; 199 | 200 | }else{ // bad code 201 | 202 | // resetting 203 | [inputCode setString:@""]; 204 | firstElementTextField.text=@""; 205 | secondElementTextField.text=@""; 206 | thirdElementTextField.text=@""; 207 | fourthElementTextField.text=@""; 208 | [self.failedAttemptLabel setHidden:NO]; 209 | } 210 | } 211 | 212 | @end 213 | -------------------------------------------------------------------------------- /PinCode/DummyViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1056 5 | 10K540 6 | 1306 7 | 1038.36 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 301 12 | 13 | 14 | YES 15 | IBUITextField 16 | IBUIButton 17 | IBUIView 18 | IBUILabel 19 | IBProxyObject 20 | 21 | 22 | YES 23 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 24 | 25 | 26 | YES 27 | 28 | YES 29 | 30 | 31 | 32 | 33 | YES 34 | 35 | IBFilesOwner 36 | IBIPadFramework 37 | 38 | 39 | IBFirstResponder 40 | IBIPadFramework 41 | 42 | 43 | 44 | 301 45 | 46 | YES 47 | 48 | 49 | 301 50 | {{348, 515}, {72, 35}} 51 | 52 | 53 | 54 | 3 55 | MCAwAA 56 | 57 | NO 58 | IBIPadFramework 59 | 0 60 | 0 61 | 62 | Helvetica-Bold 63 | 15 64 | 16 65 | 66 | 1 67 | Login 68 | 69 | 3 70 | MQA 71 | 72 | 73 | 1 74 | MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA 75 | 76 | 77 | 3 78 | MC41AA 79 | 80 | 81 | 82 | 83 | 292 84 | {{265, 469}, {190, 21}} 85 | 86 | 87 | 88 | 89 | NO 90 | YES 91 | 7 92 | NO 93 | IBIPadFramework 94 | Enter a 4 digit PinCode: 95 | 96 | Helvetica 97 | 17 98 | 16 99 | 100 | 101 | 102 | 1 103 | 10 104 | 105 | 106 | 107 | 292 108 | {{458, 464}, {46, 31}} 109 | 110 | 111 | 112 | NO 113 | YES 114 | IBIPadFramework 115 | 0 116 | 1984 117 | 3 118 | 119 | 3 120 | MAA 121 | 122 | 2 123 | 124 | 125 | 126 | Helvetica 127 | 12 128 | 16 129 | 130 | YES 131 | 17 132 | 133 | 4 134 | IBCocoaTouchFramework 135 | 136 | 137 | 138 | {768, 1024} 139 | 140 | 141 | 142 | 143 | 1 144 | MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA 145 | 146 | NO 147 | NO 148 | IBIPadFramework 149 | 150 | 151 | 152 | 153 | YES 154 | 155 | 156 | view 157 | 158 | 159 | 160 | 3 161 | 162 | 163 | 164 | loginAction: 165 | 166 | 167 | 7 168 | 169 | 5 170 | 171 | 172 | 173 | pinCodeTextField 174 | 175 | 176 | 177 | 8 178 | 179 | 180 | 181 | 182 | YES 183 | 184 | 0 185 | 186 | 187 | 188 | 189 | 190 | -1 191 | 192 | 193 | File's Owner 194 | 195 | 196 | -2 197 | 198 | 199 | 200 | 201 | 2 202 | 203 | 204 | YES 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 4 213 | 214 | 215 | 216 | 217 | 6 218 | 219 | 220 | 221 | 222 | 7 223 | 224 | 225 | 226 | 227 | 228 | 229 | YES 230 | 231 | YES 232 | -1.CustomClassName 233 | -2.CustomClassName 234 | 2.IBEditorWindowLastContentRect 235 | 2.IBPluginDependency 236 | 4.IBPluginDependency 237 | 6.IBPluginDependency 238 | 7.IBPluginDependency 239 | 240 | 241 | YES 242 | DummyViewController 243 | UIResponder 244 | {{353, 156}, {1024, 768}} 245 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 246 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 247 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 248 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 249 | 250 | 251 | 252 | YES 253 | 254 | 255 | 256 | 257 | 258 | YES 259 | 260 | 261 | 262 | 263 | 11 264 | 265 | 266 | 267 | YES 268 | 269 | DummyViewController 270 | UIViewController 271 | 272 | pinCodeTextField 273 | UITextField 274 | 275 | 276 | pinCodeTextField 277 | 278 | pinCodeTextField 279 | UITextField 280 | 281 | 282 | 283 | IBProjectSource 284 | ./Classes/DummyViewController.h 285 | 286 | 287 | 288 | 289 | 0 290 | IBIPadFramework 291 | 292 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 293 | 294 | 295 | YES 296 | 3 297 | 301 298 | 299 | 300 | -------------------------------------------------------------------------------- /PinCode/iPad/en.lproj/MainWindow_iPad.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1024 5 | 10D573 6 | 786 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 112 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBIPadFramework 35 | 36 | 37 | IBFirstResponder 38 | IBIPadFramework 39 | 40 | 41 | 42 | 292 43 | 44 | YES 45 | 46 | 47 | 301 48 | {{284, 501}, {200, 22}} 49 | 50 | NO 51 | YES 52 | 7 53 | NO 54 | IBIPadFramework 55 | My Universal App on iPad 56 | 57 | 1 58 | MCAwIDAAA 59 | 60 | 61 | 1 62 | 10 63 | 64 | 65 | {768, 1024} 66 | 67 | 68 | 1 69 | MSAxIDEAA 70 | 71 | NO 72 | NO 73 | 74 | 2 75 | 76 | IBIPadFramework 77 | YES 78 | 79 | 80 | IBIPadFramework 81 | 82 | 83 | 84 | 85 | YES 86 | 87 | 88 | window 89 | 90 | 91 | 92 | 7 93 | 94 | 95 | 96 | delegate 97 | 98 | 99 | 100 | 8 101 | 102 | 103 | 104 | 105 | YES 106 | 107 | 0 108 | 109 | 110 | 111 | 112 | 113 | -1 114 | 115 | 116 | File's Owner 117 | 118 | 119 | -2 120 | 121 | 122 | 123 | 124 | 2 125 | 126 | 127 | YES 128 | 129 | 130 | 131 | 132 | 133 | 6 134 | 135 | 136 | 137 | 138 | 11 139 | 140 | 141 | 142 | 143 | 144 | 145 | YES 146 | 147 | YES 148 | -1.CustomClassName 149 | -2.CustomClassName 150 | 11.IBPluginDependency 151 | 2.IBEditorWindowLastContentRect 152 | 2.IBPluginDependency 153 | 6.CustomClassName 154 | 6.IBPluginDependency 155 | 156 | 157 | YES 158 | UIApplication 159 | UIResponder 160 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 161 | {{202, 84}, {783, 772}} 162 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 163 | PinCodeAppDelegate_iPad 164 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 165 | 166 | 167 | 168 | YES 169 | 170 | 171 | YES 172 | 173 | 174 | 175 | 176 | YES 177 | 178 | 179 | YES 180 | 181 | 182 | 183 | 11 184 | 185 | 186 | 187 | YES 188 | 189 | PinCodeAppDelegate 190 | NSObject 191 | 192 | window 193 | UIWindow 194 | 195 | 196 | window 197 | 198 | window 199 | UIWindow 200 | 201 | 202 | 203 | IBProjectSource 204 | Shared/PinCodeAppDelegate.h 205 | 206 | 207 | 208 | PinCodeAppDelegate_iPad 209 | PinCodeAppDelegate 210 | 211 | IBProjectSource 212 | iPad/PinCodeAppDelegate_iPad.h 213 | 214 | 215 | 216 | 217 | YES 218 | 219 | NSObject 220 | 221 | IBFrameworkSource 222 | Foundation.framework/Headers/NSError.h 223 | 224 | 225 | 226 | NSObject 227 | 228 | IBFrameworkSource 229 | Foundation.framework/Headers/NSFileManager.h 230 | 231 | 232 | 233 | NSObject 234 | 235 | IBFrameworkSource 236 | Foundation.framework/Headers/NSKeyValueCoding.h 237 | 238 | 239 | 240 | NSObject 241 | 242 | IBFrameworkSource 243 | Foundation.framework/Headers/NSKeyValueObserving.h 244 | 245 | 246 | 247 | NSObject 248 | 249 | IBFrameworkSource 250 | Foundation.framework/Headers/NSKeyedArchiver.h 251 | 252 | 253 | 254 | NSObject 255 | 256 | IBFrameworkSource 257 | Foundation.framework/Headers/NSObject.h 258 | 259 | 260 | 261 | NSObject 262 | 263 | IBFrameworkSource 264 | Foundation.framework/Headers/NSRunLoop.h 265 | 266 | 267 | 268 | NSObject 269 | 270 | IBFrameworkSource 271 | Foundation.framework/Headers/NSThread.h 272 | 273 | 274 | 275 | NSObject 276 | 277 | IBFrameworkSource 278 | Foundation.framework/Headers/NSURL.h 279 | 280 | 281 | 282 | NSObject 283 | 284 | IBFrameworkSource 285 | Foundation.framework/Headers/NSURLConnection.h 286 | 287 | 288 | 289 | NSObject 290 | 291 | IBFrameworkSource 292 | UIKit.framework/Headers/UIAccessibility.h 293 | 294 | 295 | 296 | NSObject 297 | 298 | IBFrameworkSource 299 | UIKit.framework/Headers/UINibLoading.h 300 | 301 | 302 | 303 | NSObject 304 | 305 | IBFrameworkSource 306 | UIKit.framework/Headers/UIResponder.h 307 | 308 | 309 | 310 | UIApplication 311 | UIResponder 312 | 313 | IBFrameworkSource 314 | UIKit.framework/Headers/UIApplication.h 315 | 316 | 317 | 318 | UIResponder 319 | NSObject 320 | 321 | 322 | 323 | UIView 324 | 325 | IBFrameworkSource 326 | UIKit.framework/Headers/UITextField.h 327 | 328 | 329 | 330 | UIView 331 | UIResponder 332 | 333 | IBFrameworkSource 334 | UIKit.framework/Headers/UIView.h 335 | 336 | 337 | 338 | UIWindow 339 | UIView 340 | 341 | IBFrameworkSource 342 | UIKit.framework/Headers/UIWindow.h 343 | 344 | 345 | 346 | 347 | 0 348 | IBIPadFramework 349 | 350 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 351 | 352 | 353 | 354 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 355 | 356 | 357 | YES 358 | ../PinCode.xcodeproj 359 | 3 360 | 112 361 | 362 | 363 | -------------------------------------------------------------------------------- /PinCode/iPhone/en.lproj/MainWindow_iPhone.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1024 5 | 10D573 6 | 786 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 112 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | IBCocoaTouchFramework 42 | 43 | 44 | 45 | 1316 46 | 47 | YES 48 | 49 | 50 | 1325 51 | {{51, 229}, {218, 22}} 52 | 53 | NO 54 | YES 55 | 7 56 | NO 57 | IBCocoaTouchFramework 58 | My Universal App on iPhone 59 | 60 | 1 61 | MCAwIDAAA 62 | 63 | 64 | 1 65 | 10 66 | 67 | 68 | 69 | {320, 480} 70 | 71 | 72 | 1 73 | MSAxIDEAA 74 | 75 | NO 76 | NO 77 | 78 | IBCocoaTouchFramework 79 | YES 80 | 81 | 82 | 83 | 84 | YES 85 | 86 | 87 | delegate 88 | 89 | 90 | 91 | 5 92 | 93 | 94 | 95 | window 96 | 97 | 98 | 99 | 6 100 | 101 | 102 | 103 | 104 | YES 105 | 106 | 0 107 | 108 | 109 | 110 | 111 | 112 | 2 113 | 114 | 115 | YES 116 | 117 | 118 | 119 | 120 | 121 | -1 122 | 123 | 124 | File's Owner 125 | 126 | 127 | 4 128 | 129 | 130 | App Delegate 131 | 132 | 133 | -2 134 | 135 | 136 | 137 | 138 | 8 139 | 140 | 141 | 142 | 143 | 144 | 145 | YES 146 | 147 | YES 148 | -1.CustomClassName 149 | -2.CustomClassName 150 | 2.IBAttributePlaceholdersKey 151 | 2.IBEditorWindowLastContentRect 152 | 2.IBPluginDependency 153 | 2.UIWindow.visibleAtLaunch 154 | 4.CustomClassName 155 | 4.IBPluginDependency 156 | 8.IBPluginDependency 157 | 158 | 159 | YES 160 | UIApplication 161 | UIResponder 162 | 163 | YES 164 | 165 | 166 | YES 167 | 168 | 169 | {{520, 376}, {320, 480}} 170 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 171 | 172 | PinCodeAppDelegate_iPhone 173 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 174 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 175 | 176 | 177 | 178 | YES 179 | 180 | 181 | YES 182 | 183 | 184 | 185 | 186 | YES 187 | 188 | 189 | YES 190 | 191 | 192 | 193 | 8 194 | 195 | 196 | 197 | YES 198 | 199 | PinCodeAppDelegate 200 | NSObject 201 | 202 | window 203 | UIWindow 204 | 205 | 206 | window 207 | 208 | window 209 | UIWindow 210 | 211 | 212 | 213 | IBProjectSource 214 | Shared/PinCodeAppDelegate.h 215 | 216 | 217 | 218 | PinCodeAppDelegate_iPhone 219 | PinCodeAppDelegate 220 | 221 | IBProjectSource 222 | iPhone/PinCodeAppDelegate_iPhone.h 223 | 224 | 225 | 226 | 227 | YES 228 | 229 | NSObject 230 | 231 | IBFrameworkSource 232 | Foundation.framework/Headers/NSError.h 233 | 234 | 235 | 236 | NSObject 237 | 238 | IBFrameworkSource 239 | Foundation.framework/Headers/NSFileManager.h 240 | 241 | 242 | 243 | NSObject 244 | 245 | IBFrameworkSource 246 | Foundation.framework/Headers/NSKeyValueCoding.h 247 | 248 | 249 | 250 | NSObject 251 | 252 | IBFrameworkSource 253 | Foundation.framework/Headers/NSKeyValueObserving.h 254 | 255 | 256 | 257 | NSObject 258 | 259 | IBFrameworkSource 260 | Foundation.framework/Headers/NSKeyedArchiver.h 261 | 262 | 263 | 264 | NSObject 265 | 266 | IBFrameworkSource 267 | Foundation.framework/Headers/NSObject.h 268 | 269 | 270 | 271 | NSObject 272 | 273 | IBFrameworkSource 274 | Foundation.framework/Headers/NSRunLoop.h 275 | 276 | 277 | 278 | NSObject 279 | 280 | IBFrameworkSource 281 | Foundation.framework/Headers/NSThread.h 282 | 283 | 284 | 285 | NSObject 286 | 287 | IBFrameworkSource 288 | Foundation.framework/Headers/NSURL.h 289 | 290 | 291 | 292 | NSObject 293 | 294 | IBFrameworkSource 295 | Foundation.framework/Headers/NSURLConnection.h 296 | 297 | 298 | 299 | NSObject 300 | 301 | IBFrameworkSource 302 | UIKit.framework/Headers/UIAccessibility.h 303 | 304 | 305 | 306 | NSObject 307 | 308 | IBFrameworkSource 309 | UIKit.framework/Headers/UINibLoading.h 310 | 311 | 312 | 313 | NSObject 314 | 315 | IBFrameworkSource 316 | UIKit.framework/Headers/UIResponder.h 317 | 318 | 319 | 320 | UIApplication 321 | UIResponder 322 | 323 | IBFrameworkSource 324 | UIKit.framework/Headers/UIApplication.h 325 | 326 | 327 | 328 | UIResponder 329 | NSObject 330 | 331 | 332 | 333 | UIView 334 | 335 | IBFrameworkSource 336 | UIKit.framework/Headers/UITextField.h 337 | 338 | 339 | 340 | UIView 341 | UIResponder 342 | 343 | IBFrameworkSource 344 | UIKit.framework/Headers/UIView.h 345 | 346 | 347 | 348 | UIWindow 349 | UIView 350 | 351 | IBFrameworkSource 352 | UIKit.framework/Headers/UIWindow.h 353 | 354 | 355 | 356 | 357 | 0 358 | IBCocoaTouchFramework 359 | 360 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 361 | 362 | 363 | 364 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 365 | 366 | 367 | YES 368 | ../PinCode.xcodeproj 369 | 3 370 | 112 371 | 372 | 373 | -------------------------------------------------------------------------------- /PinCode.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | A81C932A13AF69D200809505 /* boton_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932213AF69D200809505 /* boton_cancel.png */; }; 11 | A81C932B13AF69D200809505 /* boton_cancel@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932313AF69D200809505 /* boton_cancel@2x.png */; }; 12 | A81C932C13AF69D200809505 /* boton_pad.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932413AF69D200809505 /* boton_pad.png */; }; 13 | A81C932D13AF69D200809505 /* boton_pad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932513AF69D200809505 /* boton_pad@2x.png */; }; 14 | A81C932E13AF69D200809505 /* dibujo_atras.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932613AF69D200809505 /* dibujo_atras.png */; }; 15 | A81C932F13AF69D200809505 /* dibujo_atras@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A81C932713AF69D200809505 /* dibujo_atras@2x.png */; }; 16 | A899BE0413AF51B20083B908 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A899BE0313AF51B20083B908 /* UIKit.framework */; }; 17 | A899BE0613AF51B20083B908 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A899BE0513AF51B20083B908 /* Foundation.framework */; }; 18 | A899BE0813AF51B20083B908 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A899BE0713AF51B20083B908 /* CoreGraphics.framework */; }; 19 | A899BE0E13AF51B20083B908 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A899BE0C13AF51B20083B908 /* InfoPlist.strings */; }; 20 | A899BE1113AF51B20083B908 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A899BE1013AF51B20083B908 /* main.m */; }; 21 | A899BE1413AF51B20083B908 /* PinCodeAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A899BE1313AF51B20083B908 /* PinCodeAppDelegate.m */; }; 22 | A899BE1813AF51B20083B908 /* PinCodeAppDelegate_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = A899BE1713AF51B20083B908 /* PinCodeAppDelegate_iPhone.m */; }; 23 | A899BE1B13AF51B30083B908 /* MainWindow_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = A899BE1913AF51B30083B908 /* MainWindow_iPhone.xib */; }; 24 | A899BE1F13AF51B30083B908 /* PinCodeAppDelegate_iPad.m in Sources */ = {isa = PBXBuildFile; fileRef = A899BE1E13AF51B30083B908 /* PinCodeAppDelegate_iPad.m */; }; 25 | A899BE2213AF51B30083B908 /* MainWindow_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = A899BE2013AF51B30083B908 /* MainWindow_iPad.xib */; }; 26 | A899BE2B13AF51EC0083B908 /* PinCode.m in Sources */ = {isa = PBXBuildFile; fileRef = A899BE2913AF51EC0083B908 /* PinCode.m */; }; 27 | A899BE2C13AF51EC0083B908 /* PinCode.xib in Resources */ = {isa = PBXBuildFile; fileRef = A899BE2A13AF51EC0083B908 /* PinCode.xib */; }; 28 | A8BAA70713AF95F600188C26 /* fondo.png in Resources */ = {isa = PBXBuildFile; fileRef = A8BAA70613AF95F600188C26 /* fondo.png */; }; 29 | A8BAA70913AF97AD00188C26 /* fondo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A8BAA70813AF97AD00188C26 /* fondo@2x.png */; }; 30 | A8BAA71513AF9C2C00188C26 /* DummyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A8BAA71313AF9C2C00188C26 /* DummyViewController.m */; }; 31 | A8BAA71613AF9C2C00188C26 /* DummyViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A8BAA71413AF9C2C00188C26 /* DummyViewController.xib */; }; 32 | /* End PBXBuildFile section */ 33 | 34 | /* Begin PBXFileReference section */ 35 | A81C932213AF69D200809505 /* boton_cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_cancel.png; sourceTree = ""; }; 36 | A81C932313AF69D200809505 /* boton_cancel@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_cancel@2x.png"; sourceTree = ""; }; 37 | A81C932413AF69D200809505 /* boton_pad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_pad.png; sourceTree = ""; }; 38 | A81C932513AF69D200809505 /* boton_pad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "boton_pad@2x.png"; sourceTree = ""; }; 39 | A81C932613AF69D200809505 /* dibujo_atras.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dibujo_atras.png; sourceTree = ""; }; 40 | A81C932713AF69D200809505 /* dibujo_atras@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dibujo_atras@2x.png"; sourceTree = ""; }; 41 | A899BDFF13AF51B20083B908 /* PinCode.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PinCode.app; sourceTree = BUILT_PRODUCTS_DIR; }; 42 | A899BE0313AF51B20083B908 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 43 | A899BE0513AF51B20083B908 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 44 | A899BE0713AF51B20083B908 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 45 | A899BE0B13AF51B20083B908 /* PinCode-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PinCode-Info.plist"; sourceTree = ""; }; 46 | A899BE0D13AF51B20083B908 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 47 | A899BE0F13AF51B20083B908 /* PinCode-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PinCode-Prefix.pch"; sourceTree = ""; }; 48 | A899BE1013AF51B20083B908 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = main.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 49 | A899BE1213AF51B20083B908 /* PinCodeAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = PinCodeAppDelegate.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 50 | A899BE1313AF51B20083B908 /* PinCodeAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = PinCodeAppDelegate.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 51 | A899BE1613AF51B20083B908 /* PinCodeAppDelegate_iPhone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = PinCodeAppDelegate_iPhone.h; path = iPhone/PinCodeAppDelegate_iPhone.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 52 | A899BE1713AF51B20083B908 /* PinCodeAppDelegate_iPhone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; name = PinCodeAppDelegate_iPhone.m; path = iPhone/PinCodeAppDelegate_iPhone.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 53 | A899BE1A13AF51B30083B908 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = iPhone/en.lproj/MainWindow_iPhone.xib; sourceTree = ""; }; 54 | A899BE1D13AF51B30083B908 /* PinCodeAppDelegate_iPad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = PinCodeAppDelegate_iPad.h; path = iPad/PinCodeAppDelegate_iPad.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 55 | A899BE1E13AF51B30083B908 /* PinCodeAppDelegate_iPad.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; name = PinCodeAppDelegate_iPad.m; path = iPad/PinCodeAppDelegate_iPad.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 56 | A899BE2113AF51B30083B908 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = iPad/en.lproj/MainWindow_iPad.xib; sourceTree = ""; }; 57 | A899BE2813AF51EC0083B908 /* PinCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = PinCode.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 58 | A899BE2913AF51EC0083B908 /* PinCode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = PinCode.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 59 | A899BE2A13AF51EC0083B908 /* PinCode.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PinCode.xib; sourceTree = ""; }; 60 | A8BAA70613AF95F600188C26 /* fondo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = fondo.png; sourceTree = ""; }; 61 | A8BAA70813AF97AD00188C26 /* fondo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "fondo@2x.png"; sourceTree = ""; }; 62 | A8BAA71213AF9C2C00188C26 /* DummyViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DummyViewController.h; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; 63 | A8BAA71313AF9C2C00188C26 /* DummyViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = DummyViewController.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 64 | A8BAA71413AF9C2C00188C26 /* DummyViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DummyViewController.xib; sourceTree = ""; }; 65 | /* End PBXFileReference section */ 66 | 67 | /* Begin PBXFrameworksBuildPhase section */ 68 | A899BDFC13AF51B20083B908 /* Frameworks */ = { 69 | isa = PBXFrameworksBuildPhase; 70 | buildActionMask = 2147483647; 71 | files = ( 72 | A899BE0413AF51B20083B908 /* UIKit.framework in Frameworks */, 73 | A899BE0613AF51B20083B908 /* Foundation.framework in Frameworks */, 74 | A899BE0813AF51B20083B908 /* CoreGraphics.framework in Frameworks */, 75 | ); 76 | runOnlyForDeploymentPostprocessing = 0; 77 | }; 78 | /* End PBXFrameworksBuildPhase section */ 79 | 80 | /* Begin PBXGroup section */ 81 | A81C931613AF69AB00809505 /* Resources */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | A81C932213AF69D200809505 /* boton_cancel.png */, 85 | A81C932313AF69D200809505 /* boton_cancel@2x.png */, 86 | A81C932413AF69D200809505 /* boton_pad.png */, 87 | A81C932513AF69D200809505 /* boton_pad@2x.png */, 88 | A81C932613AF69D200809505 /* dibujo_atras.png */, 89 | A81C932713AF69D200809505 /* dibujo_atras@2x.png */, 90 | A8BAA70613AF95F600188C26 /* fondo.png */, 91 | A8BAA70813AF97AD00188C26 /* fondo@2x.png */, 92 | ); 93 | name = Resources; 94 | sourceTree = ""; 95 | }; 96 | A899BDF413AF51B20083B908 = { 97 | isa = PBXGroup; 98 | children = ( 99 | A899BE0913AF51B20083B908 /* PinCode */, 100 | A899BE0213AF51B20083B908 /* Frameworks */, 101 | A899BE0013AF51B20083B908 /* Products */, 102 | ); 103 | sourceTree = ""; 104 | }; 105 | A899BE0013AF51B20083B908 /* Products */ = { 106 | isa = PBXGroup; 107 | children = ( 108 | A899BDFF13AF51B20083B908 /* PinCode.app */, 109 | ); 110 | name = Products; 111 | sourceTree = ""; 112 | }; 113 | A899BE0213AF51B20083B908 /* Frameworks */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | A899BE0313AF51B20083B908 /* UIKit.framework */, 117 | A899BE0513AF51B20083B908 /* Foundation.framework */, 118 | A899BE0713AF51B20083B908 /* CoreGraphics.framework */, 119 | ); 120 | name = Frameworks; 121 | sourceTree = ""; 122 | }; 123 | A899BE0913AF51B20083B908 /* PinCode */ = { 124 | isa = PBXGroup; 125 | children = ( 126 | A81C931613AF69AB00809505 /* Resources */, 127 | A899BE1213AF51B20083B908 /* PinCodeAppDelegate.h */, 128 | A899BE1313AF51B20083B908 /* PinCodeAppDelegate.m */, 129 | A899BE1513AF51B20083B908 /* iPhone */, 130 | A899BE1C13AF51B30083B908 /* iPad */, 131 | A899BE0A13AF51B20083B908 /* Supporting Files */, 132 | A899BE2813AF51EC0083B908 /* PinCode.h */, 133 | A899BE2913AF51EC0083B908 /* PinCode.m */, 134 | A899BE2A13AF51EC0083B908 /* PinCode.xib */, 135 | ); 136 | path = PinCode; 137 | sourceTree = ""; 138 | }; 139 | A899BE0A13AF51B20083B908 /* Supporting Files */ = { 140 | isa = PBXGroup; 141 | children = ( 142 | A899BE0B13AF51B20083B908 /* PinCode-Info.plist */, 143 | A899BE0C13AF51B20083B908 /* InfoPlist.strings */, 144 | A899BE0F13AF51B20083B908 /* PinCode-Prefix.pch */, 145 | A899BE1013AF51B20083B908 /* main.m */, 146 | ); 147 | name = "Supporting Files"; 148 | sourceTree = ""; 149 | }; 150 | A899BE1513AF51B20083B908 /* iPhone */ = { 151 | isa = PBXGroup; 152 | children = ( 153 | A899BE1613AF51B20083B908 /* PinCodeAppDelegate_iPhone.h */, 154 | A899BE1713AF51B20083B908 /* PinCodeAppDelegate_iPhone.m */, 155 | A899BE1913AF51B30083B908 /* MainWindow_iPhone.xib */, 156 | ); 157 | name = iPhone; 158 | sourceTree = ""; 159 | }; 160 | A899BE1C13AF51B30083B908 /* iPad */ = { 161 | isa = PBXGroup; 162 | children = ( 163 | A899BE1D13AF51B30083B908 /* PinCodeAppDelegate_iPad.h */, 164 | A899BE1E13AF51B30083B908 /* PinCodeAppDelegate_iPad.m */, 165 | A899BE2013AF51B30083B908 /* MainWindow_iPad.xib */, 166 | A8BAA71213AF9C2C00188C26 /* DummyViewController.h */, 167 | A8BAA71313AF9C2C00188C26 /* DummyViewController.m */, 168 | A8BAA71413AF9C2C00188C26 /* DummyViewController.xib */, 169 | ); 170 | name = iPad; 171 | sourceTree = ""; 172 | }; 173 | /* End PBXGroup section */ 174 | 175 | /* Begin PBXNativeTarget section */ 176 | A899BDFE13AF51B20083B908 /* PinCode */ = { 177 | isa = PBXNativeTarget; 178 | buildConfigurationList = A899BE2513AF51B30083B908 /* Build configuration list for PBXNativeTarget "PinCode" */; 179 | buildPhases = ( 180 | A899BDFB13AF51B20083B908 /* Sources */, 181 | A899BDFC13AF51B20083B908 /* Frameworks */, 182 | A899BDFD13AF51B20083B908 /* Resources */, 183 | ); 184 | buildRules = ( 185 | ); 186 | dependencies = ( 187 | ); 188 | name = PinCode; 189 | productName = PinCode; 190 | productReference = A899BDFF13AF51B20083B908 /* PinCode.app */; 191 | productType = "com.apple.product-type.application"; 192 | }; 193 | /* End PBXNativeTarget section */ 194 | 195 | /* Begin PBXProject section */ 196 | A899BDF613AF51B20083B908 /* Project object */ = { 197 | isa = PBXProject; 198 | buildConfigurationList = A899BDF913AF51B20083B908 /* Build configuration list for PBXProject "PinCode" */; 199 | compatibilityVersion = "Xcode 3.2"; 200 | developmentRegion = English; 201 | hasScannedForEncodings = 0; 202 | knownRegions = ( 203 | en, 204 | ); 205 | mainGroup = A899BDF413AF51B20083B908; 206 | productRefGroup = A899BE0013AF51B20083B908 /* Products */; 207 | projectDirPath = ""; 208 | projectRoot = ""; 209 | targets = ( 210 | A899BDFE13AF51B20083B908 /* PinCode */, 211 | ); 212 | }; 213 | /* End PBXProject section */ 214 | 215 | /* Begin PBXResourcesBuildPhase section */ 216 | A899BDFD13AF51B20083B908 /* Resources */ = { 217 | isa = PBXResourcesBuildPhase; 218 | buildActionMask = 2147483647; 219 | files = ( 220 | A899BE0E13AF51B20083B908 /* InfoPlist.strings in Resources */, 221 | A899BE1B13AF51B30083B908 /* MainWindow_iPhone.xib in Resources */, 222 | A899BE2213AF51B30083B908 /* MainWindow_iPad.xib in Resources */, 223 | A899BE2C13AF51EC0083B908 /* PinCode.xib in Resources */, 224 | A81C932A13AF69D200809505 /* boton_cancel.png in Resources */, 225 | A81C932B13AF69D200809505 /* boton_cancel@2x.png in Resources */, 226 | A81C932C13AF69D200809505 /* boton_pad.png in Resources */, 227 | A81C932D13AF69D200809505 /* boton_pad@2x.png in Resources */, 228 | A81C932E13AF69D200809505 /* dibujo_atras.png in Resources */, 229 | A81C932F13AF69D200809505 /* dibujo_atras@2x.png in Resources */, 230 | A8BAA70713AF95F600188C26 /* fondo.png in Resources */, 231 | A8BAA70913AF97AD00188C26 /* fondo@2x.png in Resources */, 232 | A8BAA71613AF9C2C00188C26 /* DummyViewController.xib in Resources */, 233 | ); 234 | runOnlyForDeploymentPostprocessing = 0; 235 | }; 236 | /* End PBXResourcesBuildPhase section */ 237 | 238 | /* Begin PBXSourcesBuildPhase section */ 239 | A899BDFB13AF51B20083B908 /* Sources */ = { 240 | isa = PBXSourcesBuildPhase; 241 | buildActionMask = 2147483647; 242 | files = ( 243 | A899BE1113AF51B20083B908 /* main.m in Sources */, 244 | A899BE1413AF51B20083B908 /* PinCodeAppDelegate.m in Sources */, 245 | A899BE1813AF51B20083B908 /* PinCodeAppDelegate_iPhone.m in Sources */, 246 | A899BE1F13AF51B30083B908 /* PinCodeAppDelegate_iPad.m in Sources */, 247 | A899BE2B13AF51EC0083B908 /* PinCode.m in Sources */, 248 | A8BAA71513AF9C2C00188C26 /* DummyViewController.m in Sources */, 249 | ); 250 | runOnlyForDeploymentPostprocessing = 0; 251 | }; 252 | /* End PBXSourcesBuildPhase section */ 253 | 254 | /* Begin PBXVariantGroup section */ 255 | A899BE0C13AF51B20083B908 /* InfoPlist.strings */ = { 256 | isa = PBXVariantGroup; 257 | children = ( 258 | A899BE0D13AF51B20083B908 /* en */, 259 | ); 260 | name = InfoPlist.strings; 261 | sourceTree = ""; 262 | }; 263 | A899BE1913AF51B30083B908 /* MainWindow_iPhone.xib */ = { 264 | isa = PBXVariantGroup; 265 | children = ( 266 | A899BE1A13AF51B30083B908 /* en */, 267 | ); 268 | name = MainWindow_iPhone.xib; 269 | sourceTree = ""; 270 | }; 271 | A899BE2013AF51B30083B908 /* MainWindow_iPad.xib */ = { 272 | isa = PBXVariantGroup; 273 | children = ( 274 | A899BE2113AF51B30083B908 /* en */, 275 | ); 276 | name = MainWindow_iPad.xib; 277 | sourceTree = ""; 278 | }; 279 | /* End PBXVariantGroup section */ 280 | 281 | /* Begin XCBuildConfiguration section */ 282 | A899BE2313AF51B30083B908 /* Debug */ = { 283 | isa = XCBuildConfiguration; 284 | buildSettings = { 285 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 286 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 287 | GCC_C_LANGUAGE_STANDARD = gnu99; 288 | GCC_OPTIMIZATION_LEVEL = 0; 289 | GCC_PREPROCESSOR_DEFINITIONS = DEBUG; 290 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 291 | GCC_VERSION = com.apple.compilers.llvmgcc42; 292 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 293 | GCC_WARN_UNUSED_VARIABLE = YES; 294 | IPHONEOS_DEPLOYMENT_TARGET = 4.3; 295 | SDKROOT = iphoneos; 296 | TARGETED_DEVICE_FAMILY = "1,2"; 297 | }; 298 | name = Debug; 299 | }; 300 | A899BE2413AF51B30083B908 /* Release */ = { 301 | isa = XCBuildConfiguration; 302 | buildSettings = { 303 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 304 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 305 | GCC_C_LANGUAGE_STANDARD = gnu99; 306 | GCC_VERSION = com.apple.compilers.llvmgcc42; 307 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 308 | GCC_WARN_UNUSED_VARIABLE = YES; 309 | IPHONEOS_DEPLOYMENT_TARGET = 4.3; 310 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 311 | SDKROOT = iphoneos; 312 | TARGETED_DEVICE_FAMILY = "1,2"; 313 | }; 314 | name = Release; 315 | }; 316 | A899BE2613AF51B30083B908 /* Debug */ = { 317 | isa = XCBuildConfiguration; 318 | buildSettings = { 319 | ALWAYS_SEARCH_USER_PATHS = NO; 320 | COPY_PHASE_STRIP = NO; 321 | GCC_DYNAMIC_NO_PIC = NO; 322 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 323 | GCC_PREFIX_HEADER = "PinCode/PinCode-Prefix.pch"; 324 | INFOPLIST_FILE = "PinCode/PinCode-Info.plist"; 325 | PRODUCT_NAME = "$(TARGET_NAME)"; 326 | WRAPPER_EXTENSION = app; 327 | }; 328 | name = Debug; 329 | }; 330 | A899BE2713AF51B30083B908 /* Release */ = { 331 | isa = XCBuildConfiguration; 332 | buildSettings = { 333 | ALWAYS_SEARCH_USER_PATHS = NO; 334 | COPY_PHASE_STRIP = YES; 335 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 336 | GCC_PREFIX_HEADER = "PinCode/PinCode-Prefix.pch"; 337 | INFOPLIST_FILE = "PinCode/PinCode-Info.plist"; 338 | PRODUCT_NAME = "$(TARGET_NAME)"; 339 | VALIDATE_PRODUCT = YES; 340 | WRAPPER_EXTENSION = app; 341 | }; 342 | name = Release; 343 | }; 344 | /* End XCBuildConfiguration section */ 345 | 346 | /* Begin XCConfigurationList section */ 347 | A899BDF913AF51B20083B908 /* Build configuration list for PBXProject "PinCode" */ = { 348 | isa = XCConfigurationList; 349 | buildConfigurations = ( 350 | A899BE2313AF51B30083B908 /* Debug */, 351 | A899BE2413AF51B30083B908 /* Release */, 352 | ); 353 | defaultConfigurationIsVisible = 0; 354 | defaultConfigurationName = Release; 355 | }; 356 | A899BE2513AF51B30083B908 /* Build configuration list for PBXNativeTarget "PinCode" */ = { 357 | isa = XCConfigurationList; 358 | buildConfigurations = ( 359 | A899BE2613AF51B30083B908 /* Debug */, 360 | A899BE2713AF51B30083B908 /* Release */, 361 | ); 362 | defaultConfigurationIsVisible = 0; 363 | defaultConfigurationName = Release; 364 | }; 365 | /* End XCConfigurationList section */ 366 | }; 367 | rootObject = A899BDF613AF51B20083B908 /* Project object */; 368 | } 369 | -------------------------------------------------------------------------------- /PinCode/PinCode.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1056 5 | 10J869 6 | 1306 7 | 1038.35 8 | 461.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 301 12 | 13 | 14 | YES 15 | IBUITextField 16 | IBUIButton 17 | IBUIImageView 18 | IBUIView 19 | IBUILabel 20 | IBProxyObject 21 | 22 | 23 | YES 24 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 25 | 26 | 27 | YES 28 | 29 | YES 30 | 31 | 32 | 33 | 34 | YES 35 | 36 | IBFilesOwner 37 | IBCocoaTouchFramework 38 | 39 | 40 | IBFirstResponder 41 | IBCocoaTouchFramework 42 | 43 | 44 | 45 | 274 46 | 47 | YES 48 | 49 | 50 | 292 51 | {320, 480} 52 | 53 | 54 | 55 | NO 56 | IBCocoaTouchFramework 57 | 58 | NSImage 59 | fondo.png 60 | 61 | 62 | 63 | 64 | 292 65 | {{79, 7}, {163, 29}} 66 | 67 | 68 | 69 | NO 70 | YES 71 | 7 72 | NO 73 | IBCocoaTouchFramework 74 | Enter PinCode 75 | 76 | Helvetica-Bold 77 | 18 78 | 16 79 | 80 | 81 | 3 82 | MQA 83 | 84 | 85 | 1 86 | 10 87 | 1 88 | 89 | 90 | 91 | 292 92 | {{238, 3}, {74, 37}} 93 | 94 | 95 | 96 | NO 97 | 300 98 | IBCocoaTouchFramework 99 | 0 100 | 0 101 | 102 | Helvetica-Bold 103 | 13 104 | 16 105 | 106 | Cancel 107 | 108 | 109 | 110 | 3 111 | MC41AA 112 | 113 | 114 | NSImage 115 | boton_cancel.png 116 | 117 | 118 | 119 | 120 | 292 121 | {{60, 75}, {200, 40}} 122 | 123 | 124 | 125 | NO 126 | YES 127 | 7 128 | NO 129 | IBCocoaTouchFramework 130 | Enter your PinCode 131 | 132 | Helvetica 133 | 17 134 | 16 135 | 136 | 137 | 3 138 | MC4zMzMzMzMzMzMzAA 139 | 140 | 141 | 1 142 | 10 143 | 1 144 | 145 | 146 | 147 | -2147483356 148 | {{60, 190}, {200, 40}} 149 | 150 | 151 | 152 | NO 153 | YES 154 | 7 155 | NO 156 | IBCocoaTouchFramework 157 | Failed PinCode attempt 158 | 159 | 160 | 1 161 | MSAwIDAAA 162 | 163 | 164 | 1 165 | 10 166 | 1 167 | 168 | 169 | 170 | 292 171 | {{48, 126}, {50, 50}} 172 | 173 | 174 | 175 | 176 | NO 177 | YES 178 | NO 179 | IBCocoaTouchFramework 180 | 0 181 | 0 182 | 183 | 2 184 | 185 | 3 186 | MAA 187 | 188 | 2 189 | 190 | 191 | 192 | Helvetica 193 | 36 194 | 16 195 | 196 | 1 197 | YES 198 | 17 199 | 200 | YES 201 | IBCocoaTouchFramework 202 | 203 | 204 | 205 | 206 | 292 207 | {{106, 126}, {50, 50}} 208 | 209 | 210 | 211 | 212 | NO 213 | YES 214 | NO 215 | IBCocoaTouchFramework 216 | 0 217 | 0 218 | 219 | 2 220 | 221 | 3 222 | MAA 223 | 224 | 225 | 226 | 1 227 | YES 228 | 17 229 | 230 | YES 231 | IBCocoaTouchFramework 232 | 233 | 234 | 235 | 236 | 292 237 | {{164, 126}, {50, 50}} 238 | 239 | 240 | 241 | 242 | NO 243 | YES 244 | NO 245 | IBCocoaTouchFramework 246 | 0 247 | 0 248 | 249 | 2 250 | 251 | 3 252 | MAA 253 | 254 | 255 | 256 | 1 257 | YES 258 | 17 259 | 260 | YES 261 | IBCocoaTouchFramework 262 | 263 | 264 | 265 | 266 | 292 267 | {{222, 126}, {50, 50}} 268 | 269 | 270 | 271 | 272 | NO 273 | YES 274 | NO 275 | IBCocoaTouchFramework 276 | 0 277 | 0 278 | 279 | 2 280 | 281 | 3 282 | MAA 283 | 284 | 285 | 286 | 1 287 | YES 288 | 17 289 | 290 | YES 291 | IBCocoaTouchFramework 292 | 293 | 294 | 295 | 296 | 292 297 | {{8, 254}, {103, 55}} 298 | 299 | 300 | 301 | NO 302 | 101 303 | IBCocoaTouchFramework 304 | 0 305 | 0 306 | 307 | Helvetica-Bold 308 | 24 309 | 16 310 | 311 | 1 312 | 313 | 314 | 315 | 316 | NSImage 317 | boton_pad.png 318 | 319 | 320 | 321 | 322 | 292 323 | {{109, 254}, {103, 55}} 324 | 325 | 326 | 327 | NO 328 | 102 329 | IBCocoaTouchFramework 330 | 0 331 | 0 332 | 333 | 2 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 292 342 | {{211, 254}, {103, 55}} 343 | 344 | 345 | 346 | NO 347 | 103 348 | IBCocoaTouchFramework 349 | 0 350 | 0 351 | 352 | 3 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 292 361 | {{8, 309}, {103, 55}} 362 | 363 | 364 | 365 | NO 366 | 104 367 | IBCocoaTouchFramework 368 | 0 369 | 0 370 | 371 | 4 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 292 380 | {{109, 309}, {103, 55}} 381 | 382 | 383 | 384 | NO 385 | 105 386 | IBCocoaTouchFramework 387 | 0 388 | 0 389 | 390 | 5 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 292 399 | {{211, 309}, {103, 55}} 400 | 401 | 402 | 403 | NO 404 | 106 405 | IBCocoaTouchFramework 406 | 0 407 | 0 408 | 409 | 6 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 292 418 | {{8, 363}, {103, 55}} 419 | 420 | 421 | 422 | NO 423 | 107 424 | IBCocoaTouchFramework 425 | 0 426 | 0 427 | 428 | 7 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 292 437 | {{109, 363}, {103, 55}} 438 | 439 | 440 | 441 | NO 442 | 108 443 | IBCocoaTouchFramework 444 | 0 445 | 0 446 | 447 | 8 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 292 456 | {{211, 363}, {103, 55}} 457 | 458 | 459 | 460 | NO 461 | 109 462 | IBCocoaTouchFramework 463 | 0 464 | 0 465 | 466 | 9 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 292 475 | {{8, 418}, {103, 55}} 476 | 477 | 478 | 479 | NO 480 | NO 481 | IBCocoaTouchFramework 482 | 0 483 | 0 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 292 493 | {{109, 418}, {103, 55}} 494 | 495 | 496 | 497 | NO 498 | 100 499 | IBCocoaTouchFramework 500 | 0 501 | 0 502 | 503 | 0 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 292 512 | {{211, 418}, {103, 55}} 513 | 514 | 515 | 516 | NO 517 | 200 518 | IBCocoaTouchFramework 519 | 0 520 | 0 521 | 522 | 523 | 524 | 525 | 526 | NSImage 527 | dibujo_atras.png 528 | 529 | 530 | 531 | 532 | 533 | 292 534 | {{106, 254}, {2, 225}} 535 | 536 | 537 | 538 | 539 | 3 540 | MAA 541 | 542 | IBCocoaTouchFramework 543 | 544 | 545 | 546 | 292 547 | {{210, 254}, {2, 225}} 548 | 549 | 550 | 551 | 552 | IBCocoaTouchFramework 553 | 554 | 555 | {320, 480} 556 | 557 | 558 | 559 | 560 | 3 561 | MCAwAA 562 | 563 | NO 564 | IBCocoaTouchFramework 565 | 566 | 567 | 568 | 569 | YES 570 | 571 | 572 | firstElementTextField 573 | 574 | 575 | 576 | 61 577 | 578 | 579 | 580 | fourthElementTextField 581 | 582 | 583 | 584 | 62 585 | 586 | 587 | 588 | secondElementTextField 589 | 590 | 591 | 592 | 63 593 | 594 | 595 | 596 | thirdElementTextField 597 | 598 | 599 | 600 | 64 601 | 602 | 603 | 604 | titleLabel 605 | 606 | 607 | 608 | 65 609 | 610 | 611 | 612 | cancelButton 613 | 614 | 615 | 616 | 66 617 | 618 | 619 | 620 | descriptionLabel 621 | 622 | 623 | 624 | 67 625 | 626 | 627 | 628 | oneButton 629 | 630 | 631 | 632 | 68 633 | 634 | 635 | 636 | twoButton 637 | 638 | 639 | 640 | 69 641 | 642 | 643 | 644 | threeButton 645 | 646 | 647 | 648 | 70 649 | 650 | 651 | 652 | fourButton 653 | 654 | 655 | 656 | 71 657 | 658 | 659 | 660 | fiveButton 661 | 662 | 663 | 664 | 72 665 | 666 | 667 | 668 | sixButton 669 | 670 | 671 | 672 | 73 673 | 674 | 675 | 676 | sevenButton 677 | 678 | 679 | 680 | 74 681 | 682 | 683 | 684 | eightButton 685 | 686 | 687 | 688 | 76 689 | 690 | 691 | 692 | nineButton 693 | 694 | 695 | 696 | 77 697 | 698 | 699 | 700 | zeroButton 701 | 702 | 703 | 704 | 78 705 | 706 | 707 | 708 | deleteButton 709 | 710 | 711 | 712 | 79 713 | 714 | 715 | 716 | buttonPressedAction: 717 | 718 | 719 | 7 720 | 721 | 80 722 | 723 | 724 | 725 | buttonPressedAction: 726 | 727 | 728 | 7 729 | 730 | 81 731 | 732 | 733 | 734 | buttonPressedAction: 735 | 736 | 737 | 7 738 | 739 | 82 740 | 741 | 742 | 743 | buttonPressedAction: 744 | 745 | 746 | 7 747 | 748 | 83 749 | 750 | 751 | 752 | buttonPressedAction: 753 | 754 | 755 | 7 756 | 757 | 84 758 | 759 | 760 | 761 | buttonPressedAction: 762 | 763 | 764 | 7 765 | 766 | 85 767 | 768 | 769 | 770 | buttonPressedAction: 771 | 772 | 773 | 7 774 | 775 | 86 776 | 777 | 778 | 779 | buttonPressedAction: 780 | 781 | 782 | 7 783 | 784 | 87 785 | 786 | 787 | 788 | buttonPressedAction: 789 | 790 | 791 | 7 792 | 793 | 88 794 | 795 | 796 | 797 | buttonPressedAction: 798 | 799 | 800 | 7 801 | 802 | 89 803 | 804 | 805 | 806 | buttonPressedAction: 807 | 808 | 809 | 7 810 | 811 | 90 812 | 813 | 814 | 815 | buttonPressedAction: 816 | 817 | 818 | 7 819 | 820 | 91 821 | 822 | 823 | 824 | view 825 | 826 | 827 | 828 | 93 829 | 830 | 831 | 832 | failedAttemptLabel 833 | 834 | 835 | 836 | 96 837 | 838 | 839 | 840 | 841 | YES 842 | 843 | 0 844 | 845 | 846 | 847 | 848 | 849 | -1 850 | 851 | 852 | File's Owner 853 | 854 | 855 | -2 856 | 857 | 858 | 859 | 860 | 4 861 | 862 | 863 | YES 864 | 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | View 890 | 891 | 892 | 5 893 | 894 | 895 | Label - Enter your PinCode 896 | 897 | 898 | 9 899 | 900 | 901 | 902 | 903 | 10 904 | 905 | 906 | 907 | 908 | 11 909 | 910 | 911 | 912 | 913 | 12 914 | 915 | 916 | 917 | 918 | 21 919 | 920 | 921 | 922 | 923 | 22 924 | 925 | 926 | 927 | 928 | 23 929 | 930 | 931 | Label - Enter Pincode 932 | 933 | 934 | 24 935 | 936 | 937 | 938 | 939 | 45 940 | 941 | 942 | 943 | 944 | 46 945 | 946 | 947 | 948 | 949 | 50 950 | 951 | 952 | 953 | 954 | 51 955 | 956 | 957 | 958 | 959 | 52 960 | 961 | 962 | 963 | 964 | 53 965 | 966 | 967 | 968 | 969 | 54 970 | 971 | 972 | 973 | 974 | 55 975 | 976 | 977 | 978 | 979 | 56 980 | 981 | 982 | 983 | 984 | 57 985 | 986 | 987 | 988 | 989 | 58 990 | 991 | 992 | 993 | 994 | 60 995 | 996 | 997 | 998 | 999 | 59 1000 | 1001 | 1002 | 1003 | 1004 | 95 1005 | 1006 | 1007 | Label - Enter your PinCode 1008 | 1009 | 1010 | 1011 | 1012 | YES 1013 | 1014 | YES 1015 | -1.CustomClassName 1016 | -2.CustomClassName 1017 | 10.IBPluginDependency 1018 | 11.IBPluginDependency 1019 | 12.IBPluginDependency 1020 | 21.IBPluginDependency 1021 | 21.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1022 | 22.IBPluginDependency 1023 | 23.IBPluginDependency 1024 | 24.IBPluginDependency 1025 | 4.IBEditorWindowLastContentRect 1026 | 4.IBPluginDependency 1027 | 45.IBPluginDependency 1028 | 45.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1029 | 46.IBPluginDependency 1030 | 46.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1031 | 5.IBPluginDependency 1032 | 50.IBPluginDependency 1033 | 50.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1034 | 51.IBPluginDependency 1035 | 51.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1036 | 52.IBPluginDependency 1037 | 52.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1038 | 53.IBPluginDependency 1039 | 53.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1040 | 54.IBPluginDependency 1041 | 54.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1042 | 55.IBPluginDependency 1043 | 55.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1044 | 56.IBPluginDependency 1045 | 56.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1046 | 57.IBPluginDependency 1047 | 57.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1048 | 58.IBPluginDependency 1049 | 58.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 1050 | 59.IBPluginDependency 1051 | 60.IBPluginDependency 1052 | 9.IBPluginDependency 1053 | 95.IBPluginDependency 1054 | 1055 | 1056 | YES 1057 | PinCode 1058 | UIResponder 1059 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1060 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1061 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1062 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1063 | 1064 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1065 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1066 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1067 | {{513, 0}, {783, 856}} 1068 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1069 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1070 | 1071 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1072 | 1073 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1074 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1075 | 1076 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1077 | 1078 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1079 | 1080 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1081 | 1082 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1083 | 1084 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1085 | 1086 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1087 | 1088 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1089 | 1090 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1091 | 1092 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1093 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1094 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1095 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 1096 | 1097 | 1098 | 1099 | YES 1100 | 1101 | 1102 | 1103 | 1104 | 1105 | YES 1106 | 1107 | 1108 | 1109 | 1110 | 96 1111 | 1112 | 1113 | 1114 | YES 1115 | 1116 | PinCode 1117 | UIViewController 1118 | 1119 | buttonPressedAction: 1120 | id 1121 | 1122 | 1123 | buttonPressedAction: 1124 | 1125 | buttonPressedAction: 1126 | id 1127 | 1128 | 1129 | 1130 | YES 1131 | 1132 | YES 1133 | cancelButton 1134 | deleteButton 1135 | descriptionLabel 1136 | eightButton 1137 | failedAttemptLabel 1138 | firstElementTextField 1139 | fiveButton 1140 | fourButton 1141 | fourthElementTextField 1142 | nineButton 1143 | oneButton 1144 | secondElementTextField 1145 | sevenButton 1146 | sixButton 1147 | thirdElementTextField 1148 | threeButton 1149 | titleLabel 1150 | twoButton 1151 | zeroButton 1152 | 1153 | 1154 | YES 1155 | UIButton 1156 | UIButton 1157 | UILabel 1158 | UIButton 1159 | UILabel 1160 | UITextField 1161 | UIButton 1162 | UIButton 1163 | UITextField 1164 | UIButton 1165 | UIButton 1166 | UITextField 1167 | UIButton 1168 | UIButton 1169 | UITextField 1170 | UIButton 1171 | UILabel 1172 | UIButton 1173 | UIButton 1174 | 1175 | 1176 | 1177 | YES 1178 | 1179 | YES 1180 | cancelButton 1181 | deleteButton 1182 | descriptionLabel 1183 | eightButton 1184 | failedAttemptLabel 1185 | firstElementTextField 1186 | fiveButton 1187 | fourButton 1188 | fourthElementTextField 1189 | nineButton 1190 | oneButton 1191 | secondElementTextField 1192 | sevenButton 1193 | sixButton 1194 | thirdElementTextField 1195 | threeButton 1196 | titleLabel 1197 | twoButton 1198 | zeroButton 1199 | 1200 | 1201 | YES 1202 | 1203 | cancelButton 1204 | UIButton 1205 | 1206 | 1207 | deleteButton 1208 | UIButton 1209 | 1210 | 1211 | descriptionLabel 1212 | UILabel 1213 | 1214 | 1215 | eightButton 1216 | UIButton 1217 | 1218 | 1219 | failedAttemptLabel 1220 | UILabel 1221 | 1222 | 1223 | firstElementTextField 1224 | UITextField 1225 | 1226 | 1227 | fiveButton 1228 | UIButton 1229 | 1230 | 1231 | fourButton 1232 | UIButton 1233 | 1234 | 1235 | fourthElementTextField 1236 | UITextField 1237 | 1238 | 1239 | nineButton 1240 | UIButton 1241 | 1242 | 1243 | oneButton 1244 | UIButton 1245 | 1246 | 1247 | secondElementTextField 1248 | UITextField 1249 | 1250 | 1251 | sevenButton 1252 | UIButton 1253 | 1254 | 1255 | sixButton 1256 | UIButton 1257 | 1258 | 1259 | thirdElementTextField 1260 | UITextField 1261 | 1262 | 1263 | threeButton 1264 | UIButton 1265 | 1266 | 1267 | titleLabel 1268 | UILabel 1269 | 1270 | 1271 | twoButton 1272 | UIButton 1273 | 1274 | 1275 | zeroButton 1276 | UIButton 1277 | 1278 | 1279 | 1280 | 1281 | IBProjectSource 1282 | ./Classes/PinCode.h 1283 | 1284 | 1285 | 1286 | 1287 | 0 1288 | IBCocoaTouchFramework 1289 | 1290 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 1291 | 1292 | 1293 | YES 1294 | 3 1295 | 1296 | YES 1297 | 1298 | YES 1299 | boton_cancel.png 1300 | boton_pad.png 1301 | dibujo_atras.png 1302 | fondo.png 1303 | 1304 | 1305 | YES 1306 | {73, 33} 1307 | {102, 54} 1308 | {31, 20} 1309 | {321, 481} 1310 | 1311 | 1312 | 301 1313 | 1314 | 1315 | --------------------------------------------------------------------------------