From a6c047fc73aa5b04388df91c61f58b3e1db7b55c Mon Sep 17 00:00:00 2001 From: Johan Kool Date: Fri, 18 Mar 2011 20:56:42 +0800 Subject: [PATCH] better animation and vibration for invalid entry --- KVPasscodeViewController.h | 5 - KVPasscodeViewController.m | 31 +- .../PasscodeSample.xcodeproj/project.pbxproj | 4 + .../UserInterfaceState.xcuserstate | 1124 ++++++++--------- README.mdown | 2 +- 5 files changed, 562 insertions(+), 604 deletions(-) diff --git a/KVPasscodeViewController.h b/KVPasscodeViewController.h index ec20173..33cf91d 100644 --- a/KVPasscodeViewController.h +++ b/KVPasscodeViewController.h @@ -28,11 +28,6 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// -// Known issues: -// - KVPasscodeAnimationStyleConfirm animation not quite perfect (bullets visible in incoming field) -// - #import @class KVPasscodeViewController; diff --git a/KVPasscodeViewController.m b/KVPasscodeViewController.m index ac7a0ce..a6b8baf 100644 --- a/KVPasscodeViewController.m +++ b/KVPasscodeViewController.m @@ -31,10 +31,13 @@ #import "KVPasscodeViewController.h" #import +#import @interface KVPasscodeViewController () - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag; +- (void)internalResetWithAnimation:(NSNumber *)animationStyleNumber; +- (void)notifyDelegate:(NSString *)passcode; @end @@ -120,10 +123,15 @@ - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interface return (interfaceOrientation == UIInterfaceOrientationPortrait); } -- (void)resetWithAnimation:(KVPasscodeAnimationStyle)animationStyle { +- (void)internalResetWithAnimation:(NSNumber *)animationStyleNumber { + KVPasscodeAnimationStyle animationStyle = [animationStyleNumber intValue]; switch (animationStyle) { case KVPasscodeAnimationStyleInvalid: ; + + // Vibrate to indicate error + AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); + CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; [animation setDelegate:self]; [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:)]; @@ -138,6 +146,12 @@ - (void)resetWithAnimation:(KVPasscodeAnimationStyle)animationStyle { break; case KVPasscodeAnimationStyleConfirm: ; + + self.bulletField0.text = nil; + self.bulletField1.text = nil; + self.bulletField2.text = nil; + self.bulletField3.text = nil; + CATransition *transition = [CATransition animation]; [transition setDelegate:self]; [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:)]; @@ -160,6 +174,16 @@ - (void)resetWithAnimation:(KVPasscodeAnimationStyle)animationStyle { } } +- (void)resetWithAnimation:(KVPasscodeAnimationStyle)animationStyle { + // Do the animation a little later, for better animatio + [self performSelector:@selector(internalResetWithAnimation:) withObject:[NSNumber numberWithInt:animationStyle] afterDelay:0]; +} + +- (void)notifyDelegate:(NSString *)passcode { + [self.delegate passcodeController:self passcodeEntered:passcode]; + fakeField.text = @""; +} + #pragma mark - CAAnimationDelegate - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag { self.bulletField0.text = nil; @@ -206,8 +230,9 @@ - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRang self.bulletField2.text = @"*"; self.bulletField3.text = @"*"; - [self.delegate passcodeController:self passcodeEntered:passcode]; - textField.text = @""; + // Notify delegate a little later so we have a change to show the 4th bullet + [self performSelector:@selector(notifyDelegate:) withObject:passcode afterDelay:0]; + return NO; break; diff --git a/PasscodeSample/PasscodeSample.xcodeproj/project.pbxproj b/PasscodeSample/PasscodeSample.xcodeproj/project.pbxproj index 1568553..d9e56c3 100644 --- a/PasscodeSample/PasscodeSample.xcodeproj/project.pbxproj +++ b/PasscodeSample/PasscodeSample.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ C79F710C13325C73007B9A22 /* KVPasscodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C79F710A13325C73007B9A22 /* KVPasscodeViewController.m */; }; C79F710D13325C73007B9A22 /* KVPasscodeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C79F710B13325C73007B9A22 /* KVPasscodeViewController.xib */; }; C79F710F1332670E007B9A22 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C79F710E1332670E007B9A22 /* QuartzCore.framework */; }; + C79F711213338C8F007B9A22 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C79F711113338C8F007B9A22 /* AudioToolbox.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -40,6 +41,7 @@ C79F710A13325C73007B9A22 /* KVPasscodeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = KVPasscodeViewController.m; path = ../KVPasscodeViewController.m; sourceTree = ""; }; C79F710B13325C73007B9A22 /* KVPasscodeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = KVPasscodeViewController.xib; path = ../KVPasscodeViewController.xib; sourceTree = ""; }; C79F710E1332670E007B9A22 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + C79F711113338C8F007B9A22 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -47,6 +49,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C79F711213338C8F007B9A22 /* AudioToolbox.framework in Frameworks */, C79F710F1332670E007B9A22 /* QuartzCore.framework in Frameworks */, C79F70EA13325C64007B9A22 /* UIKit.framework in Frameworks */, C79F70EC13325C64007B9A22 /* Foundation.framework in Frameworks */, @@ -80,6 +83,7 @@ C79F70E813325C64007B9A22 /* Frameworks */ = { isa = PBXGroup; children = ( + C79F711113338C8F007B9A22 /* AudioToolbox.framework */, C79F710E1332670E007B9A22 /* QuartzCore.framework */, C79F70E913325C64007B9A22 /* UIKit.framework */, C79F70EB13325C64007B9A22 /* Foundation.framework */, diff --git a/PasscodeSample/PasscodeSample.xcodeproj/project.xcworkspace/xcuserdata/jkool.xcuserdatad/UserInterfaceState.xcuserstate b/PasscodeSample/PasscodeSample.xcodeproj/project.xcworkspace/xcuserdata/jkool.xcuserdatad/UserInterfaceState.xcuserstate index 7cd58f7..7c8d6ca 100644 --- a/PasscodeSample/PasscodeSample.xcodeproj/project.xcworkspace/xcuserdata/jkool.xcuserdatad/UserInterfaceState.xcuserstate +++ b/PasscodeSample/PasscodeSample.xcodeproj/project.xcworkspace/xcuserdata/jkool.xcuserdatad/UserInterfaceState.xcuserstate @@ -32,7 +32,7 @@ CF$UID - 259 + 262 @@ -99,27 +99,27 @@ CF$UID - 190 + 193 CF$UID - 191 + 194 CF$UID - 196 + 199 CF$UID - 199 + 202 CF$UID - 230 + 233 CF$UID - 231 + 234 CF$UID @@ -179,11 +179,11 @@ CF$UID - 88 + 91 CF$UID - 149 + 152 @@ -441,7 +441,7 @@ CF$UID - 72 + 76 @@ -592,7 +592,7 @@ $class CF$UID - 71 + 75 documentURL @@ -611,7 +611,7 @@ file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample.xcodeproj/ - 322070892.01543897 + 322145697.90761501 $class @@ -675,9 +675,56 @@ 35 NS.keys - + + + CF$UID + 71 + + NS.objects - + + + CF$UID + 72 + + + + Link Binary With Libraries + + $class + + CF$UID + 31 + + NS.objects + + + CF$UID + 73 + + + + + $class + + CF$UID + 74 + + NSLength + 1 + NSLocation + 0 + NSRangeCount + 1 + + + $classes + + NSIndexSet + NSObject + + $classname + NSIndexSet $classes @@ -699,62 +746,62 @@ CF$UID - 73 + 77 CF$UID - 74 + 78 CF$UID - 75 + 79 CF$UID - 76 + 80 CF$UID - 77 + 81 CF$UID - 78 + 82 CF$UID - 79 + 83 NS.objects CF$UID - 80 + 84 CF$UID - 81 + 85 CF$UID - 82 + 86 CF$UID - 84 + 87 CF$UID - 85 + 88 CF$UID - 86 + 89 CF$UID - 87 + 90 @@ -777,27 +824,38 @@ CF$UID - 83 + 71 CF$UID - 83 + 71 CF$UID - 83 + 71 CF$UID - 83 + 71 CF$UID - 83 + 71 + + + CF$UID + 71 + + + CF$UID + 71 + + + CF$UID + 71 - Link Binary With Libraries $class @@ -852,78 +910,78 @@ CF$UID - 89 + 92 CF$UID - 91 + 94 CF$UID - 93 + 96 CF$UID - 95 + 98 CF$UID - 97 + 100 CF$UID - 99 + 102 CF$UID - 101 + 104 CF$UID - 103 + 106 CF$UID - 105 + 108 NS.objects CF$UID - 107 + 110 CF$UID - 115 + 118 CF$UID - 118 + 121 CF$UID - 122 + 125 CF$UID - 128 + 131 CF$UID - 132 + 135 CF$UID - 136 + 139 CF$UID - 140 + 143 CF$UID - 145 + 148 @@ -941,7 +999,7 @@ NS.relative CF$UID - 90 + 93 @@ -967,7 +1025,7 @@ NS.relative CF$UID - 92 + 95 @@ -993,7 +1051,7 @@ NS.relative CF$UID - 94 + 97 @@ -1019,7 +1077,7 @@ NS.relative CF$UID - 96 + 99 @@ -1045,7 +1103,7 @@ NS.relative CF$UID - 98 + 101 @@ -1071,7 +1129,7 @@ NS.relative CF$UID - 100 + 103 @@ -1097,7 +1155,7 @@ NS.relative CF$UID - 102 + 105 @@ -1123,7 +1181,7 @@ NS.relative CF$UID - 104 + 107 @@ -1149,7 +1207,7 @@ NS.relative CF$UID - 106 + 109 @@ -1171,30 +1229,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 112 + 115 CF$UID - 113 + 116 CF$UID @@ -1202,7 +1260,7 @@ CF$UID - 114 + 117 @@ -1223,30 +1281,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 116 + 119 CF$UID - 117 + 120 CF$UID @@ -1254,7 +1312,7 @@ CF$UID - 80 + 84 @@ -1270,30 +1328,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 119 + 122 CF$UID - 120 + 123 CF$UID @@ -1301,7 +1359,7 @@ CF$UID - 121 + 124 @@ -1318,34 +1376,34 @@ CF$UID - 123 + 126 CF$UID - 108 + 111 CF$UID - 110 + 113 CF$UID - 109 + 112 CF$UID - 111 + 114 NS.objects CF$UID - 124 + 127 CF$UID - 125 + 128 CF$UID @@ -1353,11 +1411,11 @@ CF$UID - 126 + 129 CF$UID - 127 + 130 @@ -1396,9 +1454,9 @@ s = 0; } - 322073323.01516402 - {0, 1692} - {208, 0} + 322145729.53439999 + {0, 2374} + {1660, 0} $class @@ -1409,30 +1467,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 129 + 132 CF$UID - 130 + 133 CF$UID @@ -1440,7 +1498,7 @@ CF$UID - 131 + 134 @@ -1457,30 +1515,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 133 + 136 CF$UID - 134 + 137 CF$UID @@ -1488,13 +1546,13 @@ CF$UID - 135 + 138 - 322073400.07016301 - {0, 1334} - {4460, 0} + 322145727.40194499 + {745, 1964} + {1994, 0} $class @@ -1505,30 +1563,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 137 + 140 CF$UID - 138 + 141 CF$UID @@ -1536,7 +1594,7 @@ CF$UID - 139 + 142 @@ -1553,34 +1611,34 @@ CF$UID - 123 + 126 CF$UID - 108 + 111 CF$UID - 110 + 113 CF$UID - 109 + 112 CF$UID - 111 + 114 NS.objects CF$UID - 141 + 144 CF$UID - 142 + 145 CF$UID @@ -1588,11 +1646,11 @@ CF$UID - 143 + 146 CF$UID - 144 + 147 @@ -1625,7 +1683,7 @@ s = 0; } - 322073483.46980602 + 322145724.54164797 {0, 1886} {1011, 0} @@ -1638,30 +1696,30 @@ CF$UID - 108 + 111 CF$UID - 109 + 112 CF$UID - 110 + 113 CF$UID - 111 + 114 NS.objects CF$UID - 146 + 149 CF$UID - 147 + 150 CF$UID @@ -1669,7 +1727,7 @@ CF$UID - 148 + 151 @@ -1686,30 +1744,30 @@ CF$UID - 150 + 153 CF$UID - 152 + 155 CF$UID - 154 + 157 NS.objects CF$UID - 156 + 159 CF$UID - 173 + 176 CF$UID - 182 + 185 @@ -1727,7 +1785,7 @@ NS.relative CF$UID - 151 + 154 @@ -1753,7 +1811,7 @@ NS.relative CF$UID - 153 + 156 @@ -1779,7 +1837,7 @@ NS.relative CF$UID - 155 + 158 @@ -1801,38 +1859,38 @@ CF$UID - 157 + 160 CF$UID - 158 + 161 CF$UID - 159 + 162 CF$UID - 160 + 163 NS.objects CF$UID - 161 + 164 CF$UID - 164 + 167 CF$UID - 166 + 169 CF$UID - 167 + 170 @@ -1850,14 +1908,14 @@ CF$UID - 162 + 165 NS.objects CF$UID - 163 + 166 @@ -1873,7 +1931,7 @@ CF$UID - 165 + 168 @@ -1889,22 +1947,22 @@ CF$UID - 168 + 171 CF$UID - 169 + 172 NS.objects CF$UID - 170 + 173 CF$UID - 171 + 174 @@ -1931,11 +1989,11 @@ CF$UID - 165 + 168 CF$UID - 172 + 175 @@ -1950,38 +2008,38 @@ CF$UID - 157 + 160 CF$UID - 158 + 161 CF$UID - 159 + 162 CF$UID - 160 + 163 NS.objects CF$UID - 174 + 177 CF$UID - 176 + 179 CF$UID - 166 + 169 CF$UID - 178 + 181 @@ -1995,14 +2053,14 @@ CF$UID - 162 + 165 NS.objects CF$UID - 175 + 178 @@ -2017,7 +2075,7 @@ CF$UID - 177 + 180 @@ -2032,22 +2090,22 @@ CF$UID - 168 + 171 CF$UID - 169 + 172 NS.objects CF$UID - 179 + 182 CF$UID - 180 + 183 @@ -2072,7 +2130,7 @@ CF$UID - 181 + 184 @@ -2087,38 +2145,38 @@ CF$UID - 157 + 160 CF$UID - 158 + 161 CF$UID - 159 + 162 CF$UID - 160 + 163 NS.objects CF$UID - 183 + 186 CF$UID - 185 + 188 CF$UID - 160 + 163 CF$UID - 187 + 190 @@ -2132,14 +2190,14 @@ CF$UID - 162 + 165 NS.objects CF$UID - 184 + 187 @@ -2154,7 +2212,7 @@ CF$UID - 186 + 189 @@ -2169,22 +2227,22 @@ CF$UID - 168 + 171 CF$UID - 169 + 172 NS.objects CF$UID - 188 + 191 CF$UID - 189 + 192 @@ -2209,7 +2267,7 @@ CF$UID - 186 + 189 @@ -2224,22 +2282,22 @@ CF$UID - 192 + 195 CF$UID - 193 + 196 NS.objects CF$UID - 194 + 197 CF$UID - 195 + 198 @@ -2257,14 +2315,14 @@ CF$UID - 197 + 200 NS.objects CF$UID - 198 + 201 @@ -2280,30 +2338,30 @@ CF$UID - 200 + 203 CF$UID - 201 + 204 CF$UID - 202 + 205 NS.objects CF$UID - 203 + 206 CF$UID - 229 + 232 CF$UID - 210 + 68 @@ -2320,19 +2378,19 @@ CF$UID - 204 + 207 CF$UID - 211 + 214 CF$UID - 215 + 218 CF$UID - 220 + 223 @@ -2346,30 +2404,30 @@ CF$UID - 205 + 208 CF$UID - 206 + 209 CF$UID - 207 + 210 NS.objects CF$UID - 208 + 211 CF$UID - 209 + 212 CF$UID - 210 + 213 @@ -2389,30 +2447,30 @@ CF$UID - 205 + 208 CF$UID - 206 + 209 CF$UID - 207 + 210 NS.objects CF$UID - 212 + 215 CF$UID - 213 + 216 CF$UID - 214 + 217 @@ -2429,30 +2487,30 @@ CF$UID - 205 + 208 CF$UID - 206 + 209 CF$UID - 207 + 210 NS.objects CF$UID - 216 + 219 CF$UID - 217 + 220 CF$UID - 218 + 221 @@ -2462,7 +2520,7 @@ $class CF$UID - 219 + 222 NS.data @@ -2504,54 +2562,54 @@ CF$UID - 205 + 208 CF$UID - 221 + 224 CF$UID - 222 + 225 CF$UID - 207 + 210 CF$UID - 223 + 226 CF$UID - 224 + 227 NS.objects CF$UID - 225 + 228 CF$UID - 181 + 184 CF$UID - 226 + 229 CF$UID - 228 + 231 CF$UID - 181 + 184 CF$UID - 181 + 184 @@ -2564,10 +2622,10 @@ $class CF$UID - 227 + 230 NS.time - 322073194.15127999 + 322145633.42025 $classes @@ -2578,7 +2636,7 @@ $classname NSDate - Today at 12:46 AM + Today at 8:53 PM 106 $class @@ -2604,23 +2662,19 @@ CF$UID - 232 - - - CF$UID - 234 + 235 CF$UID - 236 + 237 CF$UID - 238 + 239 CF$UID - 240 + 241 CF$UID @@ -2648,15 +2702,19 @@ CF$UID - 253 + 254 CF$UID - 255 + 256 CF$UID - 257 + 258 + + + CF$UID + 260 @@ -2674,10 +2732,10 @@ NS.relative CF$UID - 233 + 236 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/en.lproj/RootViewController.xib + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.h $class @@ -2692,10 +2750,10 @@ NS.relative CF$UID - 235 + 238 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/RootViewController.m + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.m $class @@ -2710,10 +2768,10 @@ NS.relative CF$UID - 237 + 240 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/PasscodeSample-Info.plist + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/RootViewController.m $class @@ -2728,10 +2786,9 @@ NS.relative CF$UID - 239 + 61 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/RootViewController.h $class @@ -2746,10 +2803,10 @@ NS.relative CF$UID - 241 + 243 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.m + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/en.lproj/RootViewController.xib $class @@ -2764,10 +2821,10 @@ NS.relative CF$UID - 243 + 245 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.h + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/PasscodeSample-Info.plist $class @@ -2782,10 +2839,10 @@ NS.relative CF$UID - 245 + 247 - file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/RootViewController.h $class @@ -2800,10 +2857,10 @@ NS.relative CF$UID - 247 + 249 - file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h + file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h $class @@ -2818,10 +2875,10 @@ NS.relative CF$UID - 249 + 251 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.xib + file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAAnimation.h $class @@ -2836,10 +2893,10 @@ NS.relative CF$UID - 251 + 253 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/PasscodeSampleAppDelegate.m + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.xib $class @@ -2854,9 +2911,10 @@ NS.relative CF$UID - 61 + 255 + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/PasscodeSampleAppDelegate.m $class @@ -2871,7 +2929,7 @@ NS.relative CF$UID - 254 + 257 file://localhost/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableViewCell.h @@ -2889,7 +2947,7 @@ NS.relative CF$UID - 256 + 259 file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/en.lproj/MainWindow.xib @@ -2907,7 +2965,7 @@ NS.relative CF$UID - 258 + 261 file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/PasscodeSampleAppDelegate.h @@ -2921,50 +2979,50 @@ CF$UID - 260 + 263 CF$UID - 261 + 264 CF$UID - 262 + 265 CF$UID - 263 + 266 CF$UID - 264 + 267 CF$UID - 265 + 268 NS.objects CF$UID - 266 + 269 CF$UID - 451 + 446 CF$UID - 275 + 278 CF$UID - 260 + 263 CF$UID - 452 + 447 CF$UID @@ -2988,70 +3046,70 @@ CF$UID - 267 + 270 CF$UID - 268 + 271 CF$UID - 269 + 272 CF$UID - 270 + 273 CF$UID - 271 + 274 CF$UID - 272 + 275 CF$UID - 273 + 276 CF$UID - 274 + 277 NS.objects CF$UID - 190 + 193 CF$UID - 275 + 278 CF$UID - 276 + 279 CF$UID - 277 + 280 CF$UID - 283 + 286 CF$UID - 344 + 347 CF$UID - 275 + 278 CF$UID - 353 + 356 @@ -3064,7 +3122,7 @@ IDEShowUtilities IDEEditorArea - RootViewController.xib + KVPasscodeViewController.h $class @@ -3082,7 +3140,7 @@ CF$UID - 278 + 281 @@ -3096,11 +3154,11 @@ CF$UID - 279 + 282 CF$UID - 281 + 284 @@ -3129,7 +3187,7 @@ CF$UID - 280 + 283 @@ -3159,7 +3217,7 @@ CF$UID - 282 + 285 @@ -3174,46 +3232,46 @@ CF$UID - 284 + 287 CF$UID - 285 + 288 CF$UID - 286 + 289 CF$UID - 287 + 290 CF$UID - 288 + 291 NS.objects CF$UID - 289 + 292 CF$UID - 312 + 315 CF$UID - 316 + 319 CF$UID - 284 + 287 CF$UID - 327 + 330 @@ -3232,38 +3290,38 @@ CF$UID - 290 + 293 CF$UID - 291 + 294 CF$UID - 292 + 295 CF$UID - 293 + 296 CF$UID - 294 + 297 CF$UID - 295 + 298 CF$UID - 296 + 299 NS.objects CF$UID - 297 + 300 CF$UID @@ -3271,7 +3329,7 @@ CF$UID - 298 + 301 CF$UID @@ -3283,11 +3341,11 @@ CF$UID - 300 + 303 CF$UID - 305 + 307 @@ -3303,7 +3361,7 @@ $class CF$UID - 299 + 302 NS.objects @@ -3327,7 +3385,7 @@ CF$UID - 301 + 304 @@ -3341,44 +3399,39 @@ CF$UID - 302 - - - CF$UID - 303 + 305 CF$UID - 304 + 306 PasscodeSample - PasscodeSample - Supporting Files + KVPasscodeViewController.h $class CF$UID - 299 + 302 NS.objects CF$UID - 306 + 308 CF$UID - 307 + 309 CF$UID - 308 + 311 CF$UID - 310 + 313 @@ -3392,7 +3445,7 @@ CF$UID - 302 + 305 @@ -3406,14 +3459,15 @@ CF$UID - 302 + 305 CF$UID - 303 + 310 + PasscodeSample $class @@ -3424,11 +3478,11 @@ CF$UID - 302 + 305 CF$UID - 309 + 312 @@ -3443,15 +3497,15 @@ CF$UID - 302 + 305 CF$UID - 309 + 312 CF$UID - 311 + 314 @@ -3466,26 +3520,26 @@ CF$UID - 313 + 316 CF$UID - 314 + 317 CF$UID - 315 + 318 NS.objects CF$UID - 172 + 175 CF$UID - 190 + 193 CF$UID @@ -3506,42 +3560,42 @@ CF$UID - 317 + 320 CF$UID - 318 + 321 CF$UID - 319 + 322 CF$UID - 320 + 323 CF$UID - 321 + 324 CF$UID - 322 + 325 CF$UID - 323 + 326 NS.objects CF$UID - 275 + 278 CF$UID - 275 + 278 CF$UID @@ -3549,19 +3603,19 @@ CF$UID - 275 + 278 CF$UID - 324 + 327 CF$UID - 325 + 328 CF$UID - 326 + 329 @@ -3594,23 +3648,11 @@ $class - CF$UID - 35 - - NS.keys - - - CF$UID - 328 - - - CF$UID - 329 - - - CF$UID - 330 - + CF$UID + 35 + + NS.keys + CF$UID 331 @@ -3639,6 +3681,18 @@ CF$UID 337 + + CF$UID + 338 + + + CF$UID + 339 + + + CF$UID + 340 + NS.objects @@ -3648,19 +3702,19 @@ CF$UID - 338 + 341 CF$UID - 339 + 342 CF$UID - 340 + 343 CF$UID - 341 + 344 CF$UID @@ -3672,7 +3726,7 @@ CF$UID - 342 + 345 CF$UID @@ -3680,7 +3734,7 @@ CF$UID - 343 + 346 @@ -3757,7 +3811,7 @@ CF$UID - 345 + 348 @@ -3771,15 +3825,15 @@ CF$UID - 346 + 349 CF$UID - 348 + 351 CF$UID - 350 + 353 @@ -3804,11 +3858,11 @@ CF$UID - 271 + 274 CF$UID - 347 + 350 @@ -3834,11 +3888,11 @@ CF$UID - 274 + 277 CF$UID - 349 + 352 @@ -3864,11 +3918,11 @@ CF$UID - 351 + 354 CF$UID - 352 + 355 @@ -3884,42 +3938,42 @@ CF$UID - 354 + 357 CF$UID - 355 + 358 CF$UID - 356 + 359 CF$UID - 357 + 360 CF$UID - 358 + 361 CF$UID - 359 + 362 CF$UID - 360 + 363 CF$UID - 361 + 364 NS.objects CF$UID - 362 + 365 CF$UID @@ -3931,23 +3985,23 @@ CF$UID - 275 + 278 CF$UID - 190 + 193 CF$UID - 442 + 437 CF$UID - 450 + 445 CF$UID - 275 + 278 @@ -3973,7 +4027,7 @@ primaryEditorContextNode CF$UID - 363 + 366 rootLayoutTreeNode @@ -3997,7 +4051,7 @@ documentArchivableRepresentation CF$UID - 364 + 367 orientation 0 @@ -4021,17 +4075,17 @@ DomainIdentifier CF$UID - 365 + 368 IdentifierPath CF$UID - 366 + 369 IndexOfDocumentIdentifier CF$UID - 373 + 193 Xcode.IDENavigableItemDomain.WorkspaceStructure @@ -4043,17 +4097,13 @@ NS.objects - - CF$UID - 367 - CF$UID 370 CF$UID - 371 + 372 @@ -4061,15 +4111,14 @@ $class CF$UID - 369 + 371 Identifier CF$UID - 368 + 306 - RootViewController.xib $classes @@ -4083,28 +4132,15 @@ $class CF$UID - 369 - - Identifier - - CF$UID - 303 - - - - $class - - CF$UID - 369 + 371 Identifier CF$UID - 372 + 373 PasscodeSample - 9223372036854775807 $class @@ -4114,7 +4150,7 @@ documentURL CF$UID - 155 + 99 timestamp @@ -4176,7 +4212,7 @@ CF$UID - 363 + 366 @@ -4235,7 +4271,7 @@ CF$UID - 181 + 184 CF$UID @@ -4247,7 +4283,7 @@ CF$UID - 181 + 184 CF$UID @@ -4282,7 +4318,7 @@ CF$UID - 190 + 193 @@ -4304,7 +4340,7 @@ CF$UID - 172 + 175 @@ -4582,11 +4618,11 @@ CF$UID - 190 + 193 CF$UID - 440 + 435 @@ -4656,23 +4692,23 @@ CF$UID - 432 + 429 CF$UID - 437 + 306 CF$UID - 368 + 306 CF$UID - 20 + 19 CF$UID - 438 + 433 @@ -4683,7 +4719,7 @@ DocumentNavigableItemName DocumentExtensionIdentifier DocumentURL - com.apple.InterfaceBuilder3.CocoaTouch.XIB + public.c-header $class @@ -4693,12 +4729,12 @@ DocumentLocation CF$UID - 431 + 374 DomainIdentifier CF$UID - 365 + 368 IdentifierPath @@ -4708,7 +4744,7 @@ IndexOfDocumentIdentifier CF$UID - 430 + 193 @@ -4727,67 +4763,33 @@ CF$UID 427 - - CF$UID - 428 - $class CF$UID - 369 - - Identifier - - CF$UID - 368 - - - - $class - - CF$UID - 369 + 371 Identifier CF$UID - 303 + 306 $class CF$UID - 369 + 371 Identifier CF$UID - 429 + 428 PasscodeSample - 9223372036854775807 - - $class - - CF$UID - 375 - - documentURL - - CF$UID - 155 - - timestamp - - CF$UID - 0 - - $class @@ -4798,120 +4800,52 @@ CF$UID - 157 - - - CF$UID - 158 - - - CF$UID - 159 - - - CF$UID - 160 - - - NS.objects - - - CF$UID - 433 - - - CF$UID - 434 + 126 CF$UID - 160 + 111 CF$UID - 435 + 113 - - - - $class - - CF$UID - 35 - - NS.keys - CF$UID - 162 + 112 - - NS.objects - CF$UID - 184 + 114 - - - $class - - CF$UID - 57 - NS.objects CF$UID - 186 - - - - - $class - - CF$UID - 35 - - NS.keys - - - CF$UID - 168 + 127 CF$UID - 169 + 430 - - NS.objects - CF$UID - 188 + 15 CF$UID - 436 + 431 - - - - $class - - CF$UID - 57 - - NS.objects - CF$UID - 186 + 432 - View + 322145729.53489202 + {0, 2374} + {1660, 0} $class @@ -4926,10 +4860,10 @@ NS.relative CF$UID - 439 + 434 - file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/PasscodeSample/PasscodeSample/en.lproj/RootViewController.xib + file://localhost/Users/jkool/Developer/Frameworks/Koolistov/Passcode/KVPasscodeViewController.h $class @@ -4940,7 +4874,7 @@ CF$UID - 441 + 436 @@ -4962,7 +4896,7 @@ CF$UID - 443 + 438 @@ -4976,11 +4910,11 @@ CF$UID - 444 + 439 CF$UID - 447 + 442 @@ -5005,11 +4939,11 @@ CF$UID - 445 + 440 CF$UID - 446 + 441 @@ -5036,11 +4970,11 @@ CF$UID - 448 + 443 CF$UID - 449 + 444 @@ -5067,7 +5001,7 @@ CF$UID - 260 + 263 diff --git a/README.mdown b/README.mdown index 65bbde1..e402700 100644 --- a/README.mdown +++ b/README.mdown @@ -5,7 +5,7 @@ A view controller that lets you enter 4 digit pass codes. It supports animations USAGE ----- -Your app needs to link against the QuartzCore framework. +Your app needs to link against the QuartzCore framework and the AudioToolbox framework. SAMPLE ------