├── .gitignore ├── .gitmodules ├── Classes ├── LROAuth2DemoAppDelegate.h ├── LROAuth2DemoAppDelegate.m ├── LROAuth2DemoViewController.h ├── LROAuth2DemoViewController.m ├── OAuthRequestController.h ├── OAuthRequestController.m └── OAuthRequestController.xib ├── LROAuth2Demo-Info.plist ├── LROAuth2Demo.xcodeproj ├── luke.perspectivev3 └── project.pbxproj ├── LROAuth2DemoViewController.xib ├── LROAuth2Demo_Prefix.pch ├── MainWindow.xib ├── OAuthCredentials-Example.h ├── README.markdown ├── Vendor └── ASIHTTPRequestConfig.h └── main.m /.gitignore: -------------------------------------------------------------------------------- 1 | # xcode noise 2 | build/* 3 | *.pbxuser 4 | *.mode1v3 5 | *.mode* 6 | 7 | # osx noise 8 | .DS_Store 9 | profile 10 | 11 | OAuthCredentials.h 12 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Vendor/LROAuth2Client"] 2 | path = Vendor/LROAuth2Client 3 | url = git://github.com/lukeredpath/LROAuth2Client.git 4 | -------------------------------------------------------------------------------- /Classes/LROAuth2DemoAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // LROAuth2DemoAppDelegate.h 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright LJR Software Limited 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class LROAuth2DemoViewController; 12 | 13 | @interface LROAuth2DemoAppDelegate : NSObject { 14 | UIWindow *window; 15 | LROAuth2DemoViewController *viewController; 16 | } 17 | 18 | @property (nonatomic, retain) IBOutlet UIWindow *window; 19 | @property (nonatomic, retain) IBOutlet LROAuth2DemoViewController *viewController; 20 | 21 | @end 22 | 23 | -------------------------------------------------------------------------------- /Classes/LROAuth2DemoAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // LROAuth2DemoAppDelegate.m 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright LJR Software Limited 2010. All rights reserved. 7 | // 8 | 9 | #import "LROAuth2DemoAppDelegate.h" 10 | #import "LROAuth2DemoViewController.h" 11 | 12 | @implementation LROAuth2DemoAppDelegate 13 | 14 | @synthesize window; 15 | @synthesize viewController; 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | 20 | [window addSubview:viewController.view]; 21 | [window makeKeyAndVisible]; 22 | 23 | return YES; 24 | } 25 | 26 | - (void)dealloc 27 | { 28 | [viewController release]; 29 | [window release]; 30 | [super dealloc]; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Classes/LROAuth2DemoViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LROAuth2DemoViewController.h 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright LJR Software Limited 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ASIHTTPRequestDelegate.h" 11 | 12 | @class LROAuth2AccessToken; 13 | 14 | @interface LROAuth2DemoViewController : UITableViewController { 15 | LROAuth2AccessToken *accessToken; 16 | NSArray *friends; 17 | NSMutableData *_data; 18 | } 19 | @property (nonatomic, retain) LROAuth2AccessToken *accessToken; 20 | @property (nonatomic, retain) NSArray *friends; 21 | 22 | - (void)saveAccessTokenToDisk; 23 | - (void)beginAuthorization; 24 | - (void)loadFacebookFriends; 25 | @end 26 | 27 | -------------------------------------------------------------------------------- /Classes/LROAuth2DemoViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LROAuth2DemoViewController.m 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright LJR Software Limited 2010. All rights reserved. 7 | // 8 | 9 | #import "LROAuth2DemoViewController.h" 10 | #import "LROAuth2AccessToken.h" 11 | #import "OAuthRequestController.h" 12 | #import "ASIHTTPRequest.h" 13 | #import "NSString+QueryString.h" 14 | #import "NSObject+YAJL.h" 15 | 16 | NSString * AccessTokenSavePath() { 17 | NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 18 | return [[paths objectAtIndex:0] stringByAppendingPathComponent:@"OAuthAccessToken.cache"]; 19 | } 20 | 21 | @implementation LROAuth2DemoViewController 22 | 23 | @synthesize accessToken; 24 | @synthesize friends; 25 | 26 | - (void)viewDidLoad 27 | { 28 | [super viewDidLoad]; 29 | 30 | /* 31 | * OAuthRequestController will post notifications when it has received/refreshed an access token, 32 | * we'll use those to keep track of the OAuth authentication process and update the UI 33 | */ 34 | [[NSNotificationCenter defaultCenter] addObserver:self 35 | selector:@selector(didReceiveAccessToken:) name:OAuthReceivedAccessTokenNotification object:nil]; 36 | [[NSNotificationCenter defaultCenter] addObserver:self 37 | selector:@selector(didRefreshAccessToken:) name:OAuthRefreshedAccessTokenNotification object:nil]; 38 | } 39 | 40 | - (void)viewDidAppear:(BOOL)animated 41 | { 42 | // try and load an existing access token from disk 43 | self.accessToken = [NSKeyedUnarchiver unarchiveObjectWithFile:AccessTokenSavePath()]; 44 | 45 | // check if we have a valid access token before continuing otherwise obtain a token 46 | if (self.accessToken == nil) { 47 | [self beginAuthorization]; 48 | } else { 49 | [self loadFacebookFriends]; 50 | } 51 | } 52 | 53 | - (void)dealloc 54 | { 55 | [friends release]; 56 | [accessToken release]; 57 | [super dealloc]; 58 | } 59 | 60 | - (void)didReceiveAccessToken:(NSNotification *)note; 61 | { 62 | self.accessToken = (LROAuth2AccessToken *)note.object; 63 | 64 | [self dismissModalViewControllerAnimated:YES]; 65 | [self saveAccessTokenToDisk]; 66 | [self loadFacebookFriends]; 67 | } 68 | 69 | - (void)didRefreshAccessToken:(NSNotification *)note; 70 | { 71 | self.accessToken = (LROAuth2AccessToken *)note.object; 72 | 73 | [self saveAccessTokenToDisk]; 74 | [self loadFacebookFriends]; 75 | } 76 | 77 | #pragma mark - 78 | 79 | - (void)saveAccessTokenToDisk; 80 | { 81 | [NSKeyedArchiver archiveRootObject:self.accessToken toFile:AccessTokenSavePath()]; 82 | } 83 | 84 | - (void)beginAuthorization; 85 | { 86 | OAuthRequestController *oauthController = [[OAuthRequestController alloc] init]; 87 | [self presentModalViewController:oauthController animated:YES]; 88 | [oauthController release]; 89 | } 90 | 91 | - (void)loadFacebookFriends; 92 | { 93 | NSString *URLString = [NSString stringWithFormat:@"https://graph.facebook.com/me/friends?access_token=%@", [self.accessToken.accessToken stringByEscapingForURLQuery]]; 94 | NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:URLString]]; 95 | [_data release]; _data = nil; 96 | _data = [[NSMutableData alloc] init]; 97 | 98 | [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 99 | [NSURLConnection connectionWithRequest:request delegate:self]; 100 | } 101 | 102 | #pragma mark - 103 | #pragma mark NSURLConnection methods 104 | 105 | - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { 106 | [_data appendData:data]; 107 | } 108 | 109 | - (void)connectionDidFinishLoading:(NSURLConnection *)connection { 110 | [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 111 | 112 | NSError *jsonError = nil; 113 | NSDictionary *friendsData = [_data yajl_JSON]; 114 | if (jsonError) { 115 | NSLog(@"JSON parse error: %@", jsonError); 116 | } else { 117 | self.friends = [friendsData valueForKey:@"data"]; 118 | [self.tableView reloadData]; 119 | } 120 | } 121 | 122 | #pragma mark - 123 | #pragma mark UITableView methods 124 | 125 | - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section 126 | { 127 | if (self.friends == nil) { 128 | return 0; 129 | } 130 | return self.friends.count; 131 | } 132 | 133 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 134 | { 135 | static NSString *identifier = @"Cell"; 136 | 137 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; 138 | if (cell == nil) { 139 | cell = [[[UITableViewCell alloc] initWithStyle:UITableViewStylePlain reuseIdentifier:identifier] autorelease]; 140 | } 141 | NSDictionary *friend = [self.friends objectAtIndex:indexPath.row]; 142 | cell.textLabel.text = [friend valueForKey:@"name"]; 143 | return cell; 144 | } 145 | 146 | @end 147 | -------------------------------------------------------------------------------- /Classes/OAuthRequestController.h: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthRequestController.h 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "LROAuth2ClientDelegate.h" 11 | 12 | @class LROAuth2Client; 13 | @class LROAuth2AccessToken; 14 | 15 | extern NSString *const OAuthReceivedAccessTokenNotification; 16 | extern NSString *const OAuthRefreshedAccessTokenNotification; 17 | 18 | @interface OAuthRequestController : UIViewController { 19 | LROAuth2Client *oauthClient; 20 | UIWebView *webView; 21 | } 22 | @property (nonatomic, retain) IBOutlet UIWebView *webView; 23 | 24 | - (void)refreshAccessToken:(LROAuth2AccessToken *)accessToken; 25 | @end 26 | -------------------------------------------------------------------------------- /Classes/OAuthRequestController.m: -------------------------------------------------------------------------------- 1 | // 2 | // OAuthRequestController.m 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import "OAuthRequestController.h" 10 | #import "LROAuth2Client.h" 11 | 12 | /* 13 | * you will need to create this from OAuthCredentials-Example.h 14 | * 15 | */ 16 | #import "OAuthCredentials.h" 17 | 18 | NSString *const OAuthReceivedAccessTokenNotification = @"OAuthReceivedAccessTokenNotification"; 19 | NSString *const OAuthRefreshedAccessTokenNotification = @"OAuthRefreshedAccessTokenNotification"; 20 | 21 | @implementation OAuthRequestController 22 | 23 | @synthesize webView; 24 | 25 | - (id)init; 26 | { 27 | if (self = [super initWithNibName:@"OAuthRequestController" bundle:nil]) { 28 | oauthClient = [[LROAuth2Client alloc] initWithClientID:kOAuthClientID 29 | secret:kOAuthClientSecret redirectURL:[NSURL URLWithString:kOAuthClientAuthURL]]; 30 | 31 | oauthClient.debug = YES; 32 | oauthClient.delegate = self; 33 | oauthClient.userURL = [NSURL URLWithString:@"https://graph.facebook.com/oauth/authorize"]; 34 | oauthClient.tokenURL = [NSURL URLWithString:@"https://graph.facebook.com/oauth/access_token"]; 35 | 36 | self.modalPresentationStyle = UIModalPresentationFormSheet; 37 | self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 38 | } 39 | return self; 40 | } 41 | 42 | - (void)viewDidUnload 43 | { 44 | [super viewDidUnload]; 45 | self.webView = nil; 46 | } 47 | 48 | - (void)viewDidAppear:(BOOL)animated 49 | { 50 | NSDictionary *params = [NSDictionary dictionaryWithObject:@"touch" forKey:@"display"]; 51 | [oauthClient authorizeUsingWebView:self.webView additionalParameters:params]; 52 | } 53 | 54 | - (void)dealloc 55 | { 56 | oauthClient.delegate = nil; 57 | webView.delegate = nil; 58 | 59 | [webView release]; 60 | [oauthClient release]; 61 | [super dealloc]; 62 | } 63 | 64 | - (void)refreshAccessToken:(LROAuth2AccessToken *)accessToken 65 | { 66 | [oauthClient refreshAccessToken:accessToken]; 67 | } 68 | 69 | #pragma mark - 70 | #pragma mark LROAuth2ClientDelegate methods 71 | 72 | - (void)oauthClientDidReceiveAccessToken:(LROAuth2Client *)client 73 | { 74 | [[NSNotificationCenter defaultCenter] postNotificationName:OAuthReceivedAccessTokenNotification object:client.accessToken]; 75 | } 76 | 77 | - (void)oauthClientDidRefreshAccessToken:(LROAuth2Client *)client 78 | { 79 | [[NSNotificationCenter defaultCenter] postNotificationName:OAuthRefreshedAccessTokenNotification object:client.accessToken]; 80 | } 81 | 82 | @end 83 | -------------------------------------------------------------------------------- /Classes/OAuthRequestController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 800 5 | 10D2094 6 | 762 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 87 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 | 42 | 292 43 | 44 | YES 45 | 46 | 47 | 290 48 | {590, 44} 49 | 50 | IBCocoaTouchFramework 51 | 52 | YES 53 | 54 | 55 | Connect to your Facebook account 56 | IBCocoaTouchFramework 57 | 58 | 59 | 60 | 61 | 62 | 274 63 | {{0, 44}, {590, 430}} 64 | 65 | 66 | 1 67 | MSAxIDEAA 68 | 69 | IBCocoaTouchFramework 70 | 1 71 | YES 72 | 73 | 74 | {590, 467} 75 | 76 | 77 | 3 78 | MQA 79 | 80 | IBCocoaTouchFramework 81 | 82 | 83 | 84 | 85 | YES 86 | 87 | 88 | webView 89 | 90 | 91 | 92 | 8 93 | 94 | 95 | 96 | view 97 | 98 | 99 | 100 | 9 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 | 4 125 | 126 | 127 | YES 128 | 129 | 130 | 131 | 132 | 133 | 134 | 5 135 | 136 | 137 | YES 138 | 139 | 140 | 141 | 142 | 143 | 6 144 | 145 | 146 | 147 | 148 | 7 149 | 150 | 151 | 152 | 153 | 154 | 155 | YES 156 | 157 | YES 158 | -1.CustomClassName 159 | -2.CustomClassName 160 | 4.IBEditorWindowLastContentRect 161 | 4.IBPluginDependency 162 | 5.IBPluginDependency 163 | 6.IBPluginDependency 164 | 7.IBPluginDependency 165 | 166 | 167 | YES 168 | OAuthRequestController 169 | UIResponder 170 | {{473, 474}, {590, 467}} 171 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 172 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 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 | 9 194 | 195 | 196 | 197 | YES 198 | 199 | OAuthRequestController 200 | UIViewController 201 | 202 | webView 203 | UIWebView 204 | 205 | 206 | IBProjectSource 207 | Classes/OAuthRequestController.h 208 | 209 | 210 | 211 | 212 | YES 213 | 214 | NSObject 215 | 216 | IBFrameworkSource 217 | Foundation.framework/Headers/NSError.h 218 | 219 | 220 | 221 | NSObject 222 | 223 | IBFrameworkSource 224 | Foundation.framework/Headers/NSFileManager.h 225 | 226 | 227 | 228 | NSObject 229 | 230 | IBFrameworkSource 231 | Foundation.framework/Headers/NSKeyValueCoding.h 232 | 233 | 234 | 235 | NSObject 236 | 237 | IBFrameworkSource 238 | Foundation.framework/Headers/NSKeyValueObserving.h 239 | 240 | 241 | 242 | NSObject 243 | 244 | IBFrameworkSource 245 | Foundation.framework/Headers/NSKeyedArchiver.h 246 | 247 | 248 | 249 | NSObject 250 | 251 | IBFrameworkSource 252 | Foundation.framework/Headers/NSNetServices.h 253 | 254 | 255 | 256 | NSObject 257 | 258 | IBFrameworkSource 259 | Foundation.framework/Headers/NSObject.h 260 | 261 | 262 | 263 | NSObject 264 | 265 | IBFrameworkSource 266 | Foundation.framework/Headers/NSPort.h 267 | 268 | 269 | 270 | NSObject 271 | 272 | IBFrameworkSource 273 | Foundation.framework/Headers/NSRunLoop.h 274 | 275 | 276 | 277 | NSObject 278 | 279 | IBFrameworkSource 280 | Foundation.framework/Headers/NSStream.h 281 | 282 | 283 | 284 | NSObject 285 | 286 | IBFrameworkSource 287 | Foundation.framework/Headers/NSThread.h 288 | 289 | 290 | 291 | NSObject 292 | 293 | IBFrameworkSource 294 | Foundation.framework/Headers/NSURL.h 295 | 296 | 297 | 298 | NSObject 299 | 300 | IBFrameworkSource 301 | Foundation.framework/Headers/NSURLConnection.h 302 | 303 | 304 | 305 | NSObject 306 | 307 | IBFrameworkSource 308 | Foundation.framework/Headers/NSXMLParser.h 309 | 310 | 311 | 312 | NSObject 313 | 314 | IBFrameworkSource 315 | UIKit.framework/Headers/UIAccessibility.h 316 | 317 | 318 | 319 | NSObject 320 | 321 | IBFrameworkSource 322 | UIKit.framework/Headers/UINibLoading.h 323 | 324 | 325 | 326 | NSObject 327 | 328 | IBFrameworkSource 329 | UIKit.framework/Headers/UIResponder.h 330 | 331 | 332 | 333 | UIBarButtonItem 334 | UIBarItem 335 | 336 | IBFrameworkSource 337 | UIKit.framework/Headers/UIBarButtonItem.h 338 | 339 | 340 | 341 | UIBarItem 342 | NSObject 343 | 344 | IBFrameworkSource 345 | UIKit.framework/Headers/UIBarItem.h 346 | 347 | 348 | 349 | UINavigationBar 350 | UIView 351 | 352 | IBFrameworkSource 353 | UIKit.framework/Headers/UINavigationBar.h 354 | 355 | 356 | 357 | UINavigationItem 358 | NSObject 359 | 360 | 361 | 362 | UIResponder 363 | NSObject 364 | 365 | 366 | 367 | UISearchBar 368 | UIView 369 | 370 | IBFrameworkSource 371 | UIKit.framework/Headers/UISearchBar.h 372 | 373 | 374 | 375 | UISearchDisplayController 376 | NSObject 377 | 378 | IBFrameworkSource 379 | UIKit.framework/Headers/UISearchDisplayController.h 380 | 381 | 382 | 383 | UIView 384 | 385 | IBFrameworkSource 386 | UIKit.framework/Headers/UITextField.h 387 | 388 | 389 | 390 | UIView 391 | UIResponder 392 | 393 | IBFrameworkSource 394 | UIKit.framework/Headers/UIView.h 395 | 396 | 397 | 398 | UIViewController 399 | 400 | IBFrameworkSource 401 | UIKit.framework/Headers/UINavigationController.h 402 | 403 | 404 | 405 | UIViewController 406 | 407 | IBFrameworkSource 408 | UIKit.framework/Headers/UIPopoverController.h 409 | 410 | 411 | 412 | UIViewController 413 | 414 | IBFrameworkSource 415 | UIKit.framework/Headers/UISplitViewController.h 416 | 417 | 418 | 419 | UIViewController 420 | 421 | IBFrameworkSource 422 | UIKit.framework/Headers/UITabBarController.h 423 | 424 | 425 | 426 | UIViewController 427 | UIResponder 428 | 429 | IBFrameworkSource 430 | UIKit.framework/Headers/UIViewController.h 431 | 432 | 433 | 434 | UIWebView 435 | UIView 436 | 437 | IBFrameworkSource 438 | UIKit.framework/Headers/UIWebView.h 439 | 440 | 441 | 442 | 443 | 0 444 | IBCocoaTouchFramework 445 | 446 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 447 | 448 | 449 | 450 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 451 | 452 | 453 | YES 454 | ../LROAuth2Demo.xcodeproj 455 | 3 456 | 87 457 | 458 | 459 | -------------------------------------------------------------------------------- /LROAuth2Demo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationPortraitUpsideDown 33 | UIInterfaceOrientationLandscapeLeft 34 | UIInterfaceOrientationLandscapeRight 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /LROAuth2Demo.xcodeproj/luke.perspectivev3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ActivePerspectiveName 6 | Project 7 | AllowedModules 8 | 9 | 10 | BundleLoadPath 11 | 12 | MaxInstances 13 | n 14 | Module 15 | PBXSmartGroupTreeModule 16 | Name 17 | Groups and Files Outline View 18 | 19 | 20 | BundleLoadPath 21 | 22 | MaxInstances 23 | n 24 | Module 25 | PBXNavigatorGroup 26 | Name 27 | Editor 28 | 29 | 30 | BundleLoadPath 31 | 32 | MaxInstances 33 | n 34 | Module 35 | XCTaskListModule 36 | Name 37 | Task List 38 | 39 | 40 | BundleLoadPath 41 | 42 | MaxInstances 43 | n 44 | Module 45 | XCDetailModule 46 | Name 47 | File and Smart Group Detail Viewer 48 | 49 | 50 | BundleLoadPath 51 | 52 | MaxInstances 53 | 1 54 | Module 55 | PBXBuildResultsModule 56 | Name 57 | Detailed Build Results Viewer 58 | 59 | 60 | BundleLoadPath 61 | 62 | MaxInstances 63 | 1 64 | Module 65 | PBXProjectFindModule 66 | Name 67 | Project Batch Find Tool 68 | 69 | 70 | BundleLoadPath 71 | 72 | MaxInstances 73 | n 74 | Module 75 | XCProjectFormatConflictsModule 76 | Name 77 | Project Format Conflicts List 78 | 79 | 80 | BundleLoadPath 81 | 82 | MaxInstances 83 | n 84 | Module 85 | PBXBookmarksModule 86 | Name 87 | Bookmarks Tool 88 | 89 | 90 | BundleLoadPath 91 | 92 | MaxInstances 93 | n 94 | Module 95 | PBXClassBrowserModule 96 | Name 97 | Class Browser 98 | 99 | 100 | BundleLoadPath 101 | 102 | MaxInstances 103 | n 104 | Module 105 | PBXCVSModule 106 | Name 107 | Source Code Control Tool 108 | 109 | 110 | BundleLoadPath 111 | 112 | MaxInstances 113 | n 114 | Module 115 | PBXDebugBreakpointsModule 116 | Name 117 | Debug Breakpoints Tool 118 | 119 | 120 | BundleLoadPath 121 | 122 | MaxInstances 123 | n 124 | Module 125 | XCDockableInspector 126 | Name 127 | Inspector 128 | 129 | 130 | BundleLoadPath 131 | 132 | MaxInstances 133 | n 134 | Module 135 | PBXOpenQuicklyModule 136 | Name 137 | Open Quickly Tool 138 | 139 | 140 | BundleLoadPath 141 | 142 | MaxInstances 143 | 1 144 | Module 145 | PBXDebugSessionModule 146 | Name 147 | Debugger 148 | 149 | 150 | BundleLoadPath 151 | 152 | MaxInstances 153 | 1 154 | Module 155 | PBXDebugCLIModule 156 | Name 157 | Debug Console 158 | 159 | 160 | BundleLoadPath 161 | 162 | MaxInstances 163 | n 164 | Module 165 | XCSnapshotModule 166 | Name 167 | Snapshots Tool 168 | 169 | 170 | BundlePath 171 | /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources 172 | Description 173 | AIODescriptionKey 174 | DockingSystemVisible 175 | 176 | Extension 177 | perspectivev3 178 | FavBarConfig 179 | 180 | PBXProjectModuleGUID 181 | A3FE046011BFFDD800DDDC85 182 | XCBarModuleItemNames 183 | 184 | XCBarModuleItems 185 | 186 | 187 | FirstTimeWindowDisplayed 188 | 189 | Identifier 190 | com.apple.perspectives.project.defaultV3 191 | MajorVersion 192 | 34 193 | MinorVersion 194 | 0 195 | Name 196 | All-In-One 197 | Notifications 198 | 199 | 200 | XCObserverAutoDisconnectKey 201 | 202 | XCObserverDefintionKey 203 | 204 | PBXStatusErrorsKey 205 | 0 206 | 207 | XCObserverFactoryKey 208 | XCPerspectivesSpecificationIdentifier 209 | XCObserverGUIDKey 210 | XCObserverProjectIdentifier 211 | XCObserverNotificationKey 212 | PBXStatusBuildStateMessageNotification 213 | XCObserverTargetKey 214 | XCMainBuildResultsModuleGUID 215 | XCObserverTriggerKey 216 | awakenModuleWithObserver: 217 | XCObserverValidationKey 218 | 219 | PBXStatusErrorsKey 220 | 2 221 | 222 | 223 | 224 | XCObserverAutoDisconnectKey 225 | 226 | XCObserverDefintionKey 227 | 228 | PBXStatusWarningsKey 229 | 0 230 | 231 | XCObserverFactoryKey 232 | XCPerspectivesSpecificationIdentifier 233 | XCObserverGUIDKey 234 | XCObserverProjectIdentifier 235 | XCObserverNotificationKey 236 | PBXStatusBuildStateMessageNotification 237 | XCObserverTargetKey 238 | XCMainBuildResultsModuleGUID 239 | XCObserverTriggerKey 240 | awakenModuleWithObserver: 241 | XCObserverValidationKey 242 | 243 | PBXStatusWarningsKey 244 | 2 245 | 246 | 247 | 248 | XCObserverAutoDisconnectKey 249 | 250 | XCObserverDefintionKey 251 | 252 | PBXStatusAnalyzerResultsKey 253 | 0 254 | 255 | XCObserverFactoryKey 256 | XCPerspectivesSpecificationIdentifier 257 | XCObserverGUIDKey 258 | XCObserverProjectIdentifier 259 | XCObserverNotificationKey 260 | PBXStatusBuildStateMessageNotification 261 | XCObserverTargetKey 262 | XCMainBuildResultsModuleGUID 263 | XCObserverTriggerKey 264 | awakenModuleWithObserver: 265 | XCObserverValidationKey 266 | 267 | PBXStatusAnalyzerResultsKey 268 | 2 269 | 270 | 271 | 272 | OpenEditors 273 | 274 | PerspectiveWidths 275 | 276 | 1326 277 | 1326 278 | 279 | Perspectives 280 | 281 | 282 | ChosenToolbarItems 283 | 284 | XCToolbarPerspectiveControl 285 | NSToolbarSeparatorItem 286 | active-target-popup 287 | active-platform-popup 288 | active-buildstyle-popup 289 | action 290 | NSToolbarFlexibleSpaceItem 291 | buildOrClean 292 | go 293 | clean-target 294 | NSToolbarFlexibleSpaceItem 295 | servicesModuledebug 296 | get-info 297 | com.apple.pbx.toolbar.searchfield 298 | 299 | ControllerClassBaseName 300 | 301 | IconName 302 | WindowOfProject 303 | Identifier 304 | perspective.project 305 | IsVertical 306 | 307 | Layout 308 | 309 | 310 | BecomeActive 311 | 312 | ContentConfiguration 313 | 314 | PBXBottomSmartGroupGIDs 315 | 316 | 1C37FBAC04509CD000000102 317 | 1C37FAAC04509CD000000102 318 | 1C37FABC05509CD000000102 319 | 1C37FABC05539CD112110102 320 | E2644B35053B69B200211256 321 | 1C37FABC04509CD000100104 322 | 1CC0EA4004350EF90044410B 323 | 1CC0EA4004350EF90041110B 324 | 1C77FABC04509CD000000102 325 | 326 | PBXProjectModuleGUID 327 | 1CA23ED40692098700951B8B 328 | PBXProjectModuleLabel 329 | Files 330 | PBXProjectStructureProvided 331 | yes 332 | PBXSmartGroupTreeModuleColumnData 333 | 334 | PBXSmartGroupTreeModuleColumnWidthsKey 335 | 336 | 274 337 | 338 | PBXSmartGroupTreeModuleColumnsKey_v4 339 | 340 | MainColumn 341 | 342 | 343 | PBXSmartGroupTreeModuleOutlineStateKey_v7 344 | 345 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 346 | 347 | 29B97314FDCFA39411CA2CEA 348 | A3B6F52811B54E6400533386 349 | A3FD764511E4A357008A44FB 350 | 080E96DDFE201D6D7F000001 351 | 29B97323FDCFA39411CA2CEA 352 | A3FD761B11E4A2DB008A44FB 353 | 1C37FBAC04509CD000000102 354 | A3FD765D11E4A3D8008A44FB 355 | 356 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 357 | 358 | 359 | 0 360 | 361 | 362 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 363 | {{0, 0}, {274, 888}} 364 | 365 | PBXTopSmartGroupGIDs 366 | 367 | XCIncludePerspectivesSwitch 368 | 369 | 370 | GeometryConfiguration 371 | 372 | Frame 373 | {{0, 0}, {291, 906}} 374 | GroupTreeTableConfiguration 375 | 376 | MainColumn 377 | 274 378 | 379 | RubberWindowFrame 380 | 29 88 1526 947 0 0 1920 1178 381 | 382 | Module 383 | PBXSmartGroupTreeModule 384 | Proportion 385 | 291pt 386 | 387 | 388 | Dock 389 | 390 | 391 | ContentConfiguration 392 | 393 | PBXProjectModuleGUID 394 | A3FE045511BFFDD800DDDC85 395 | PBXProjectModuleLabel 396 | LROAuth2DemoViewController.m 397 | PBXSplitModuleInNavigatorKey 398 | 399 | Split0 400 | 401 | PBXProjectModuleGUID 402 | A3FE045611BFFDD800DDDC85 403 | PBXProjectModuleLabel 404 | LROAuth2DemoViewController.m 405 | _historyCapacity 406 | 0 407 | bookmark 408 | A3FD766511E4A446008A44FB 409 | history 410 | 411 | A3FD763A11E4A32B008A44FB 412 | A3FD764811E4A362008A44FB 413 | 414 | 415 | SplitCount 416 | 1 417 | 418 | StatusBarVisibility 419 | 420 | XCSharingToken 421 | com.apple.Xcode.CommonNavigatorGroupSharingToken 422 | 423 | GeometryConfiguration 424 | 425 | Frame 426 | {{0, 0}, {1230, 631}} 427 | RubberWindowFrame 428 | 29 88 1526 947 0 0 1920 1178 429 | 430 | Module 431 | PBXNavigatorGroup 432 | Proportion 433 | 631pt 434 | 435 | 436 | Proportion 437 | 270pt 438 | Tabs 439 | 440 | 441 | ContentConfiguration 442 | 443 | PBXProjectModuleGUID 444 | 1CA23EDF0692099D00951B8B 445 | PBXProjectModuleLabel 446 | Detail 447 | 448 | GeometryConfiguration 449 | 450 | Frame 451 | {{10, 27}, {1230, 243}} 452 | RubberWindowFrame 453 | 29 88 1526 947 0 0 1920 1178 454 | 455 | Module 456 | XCDetailModule 457 | 458 | 459 | ContentConfiguration 460 | 461 | PBXProjectModuleGUID 462 | 1CA23EE00692099D00951B8B 463 | PBXProjectModuleLabel 464 | Project Find 465 | 466 | GeometryConfiguration 467 | 468 | Frame 469 | {{10, 31}, {603, 297}} 470 | 471 | Module 472 | PBXProjectFindModule 473 | 474 | 475 | ContentConfiguration 476 | 477 | PBXCVSModuleFilterTypeKey 478 | 1032 479 | PBXProjectModuleGUID 480 | 1CA23EE10692099D00951B8B 481 | PBXProjectModuleLabel 482 | SCM Results 483 | 484 | GeometryConfiguration 485 | 486 | Frame 487 | {{10, 31}, {603, 297}} 488 | 489 | Module 490 | PBXCVSModule 491 | 492 | 493 | ContentConfiguration 494 | 495 | PBXProjectModuleGUID 496 | XCMainBuildResultsModuleGUID 497 | PBXProjectModuleLabel 498 | Build Results 499 | XCBuildResultsTrigger_Collapse 500 | 1022 501 | XCBuildResultsTrigger_Open 502 | 1013 503 | 504 | GeometryConfiguration 505 | 506 | Frame 507 | {{10, 27}, {1230, -27}} 508 | 509 | Module 510 | PBXBuildResultsModule 511 | 512 | 513 | 514 | 515 | Proportion 516 | 1230pt 517 | 518 | 519 | Name 520 | Project 521 | ServiceClasses 522 | 523 | XCModuleDock 524 | PBXSmartGroupTreeModule 525 | XCModuleDock 526 | PBXNavigatorGroup 527 | XCDockableTabModule 528 | XCDetailModule 529 | PBXProjectFindModule 530 | PBXCVSModule 531 | PBXBuildResultsModule 532 | 533 | TableOfContents 534 | 535 | A3FD75E811E4A194008A44FB 536 | 1CA23ED40692098700951B8B 537 | A3FD75E911E4A194008A44FB 538 | A3FE045511BFFDD800DDDC85 539 | A3FD75EA11E4A194008A44FB 540 | 1CA23EDF0692099D00951B8B 541 | 1CA23EE00692099D00951B8B 542 | 1CA23EE10692099D00951B8B 543 | XCMainBuildResultsModuleGUID 544 | 545 | ToolbarConfigUserDefaultsMinorVersion 546 | 2 547 | ToolbarConfiguration 548 | xcode.toolbar.config.defaultV3 549 | 550 | 551 | ChosenToolbarItems 552 | 553 | XCToolbarPerspectiveControl 554 | NSToolbarSeparatorItem 555 | active-combo-popup 556 | NSToolbarFlexibleSpaceItem 557 | debugger-enable-breakpoints 558 | build-and-go 559 | com.apple.ide.PBXToolbarStopButton 560 | debugger-restart-executable 561 | debugger-pause 562 | debugger-step-over 563 | debugger-step-into 564 | debugger-step-out 565 | NSToolbarFlexibleSpaceItem 566 | servicesModulebreakpoints 567 | debugger-show-console-window 568 | 569 | ControllerClassBaseName 570 | PBXDebugSessionModule 571 | IconName 572 | DebugTabIcon 573 | Identifier 574 | perspective.debug 575 | IsVertical 576 | 577 | Layout 578 | 579 | 580 | ContentConfiguration 581 | 582 | PBXProjectModuleGUID 583 | 1CCC7628064C1048000F2A68 584 | PBXProjectModuleLabel 585 | Debugger Console 586 | 587 | GeometryConfiguration 588 | 589 | Frame 590 | {{0, 0}, {1326, 343}} 591 | 592 | Module 593 | PBXDebugCLIModule 594 | Proportion 595 | 343pt 596 | 597 | 598 | ContentConfiguration 599 | 600 | Debugger 601 | 602 | HorizontalSplitView 603 | 604 | _collapsingFrameDimension 605 | 0.0 606 | _indexOfCollapsedView 607 | 0 608 | _percentageOfCollapsedView 609 | 0.0 610 | isCollapsed 611 | yes 612 | sizes 613 | 614 | {{0, 0}, {652, 119}} 615 | {{652, 0}, {674, 119}} 616 | 617 | 618 | VerticalSplitView 619 | 620 | _collapsingFrameDimension 621 | 0.0 622 | _indexOfCollapsedView 623 | 0 624 | _percentageOfCollapsedView 625 | 0.0 626 | isCollapsed 627 | yes 628 | sizes 629 | 630 | {{0, 0}, {1326, 119}} 631 | {{0, 119}, {1326, 336}} 632 | 633 | 634 | 635 | LauncherConfigVersion 636 | 8 637 | PBXProjectModuleGUID 638 | 1CCC7629064C1048000F2A68 639 | PBXProjectModuleLabel 640 | Debug 641 | 642 | GeometryConfiguration 643 | 644 | DebugConsoleVisible 645 | None 646 | DebugConsoleWindowFrame 647 | {{200, 200}, {500, 300}} 648 | DebugSTDIOWindowFrame 649 | {{200, 200}, {500, 300}} 650 | Frame 651 | {{0, 348}, {1326, 455}} 652 | PBXDebugSessionStackFrameViewKey 653 | 654 | DebugVariablesTableConfiguration 655 | 656 | Name 657 | 120 658 | Value 659 | 85 660 | Summary 661 | 444 662 | 663 | Frame 664 | {{652, 0}, {674, 119}} 665 | 666 | 667 | Module 668 | PBXDebugSessionModule 669 | Proportion 670 | 455pt 671 | 672 | 673 | Name 674 | Debug 675 | ServiceClasses 676 | 677 | XCModuleDock 678 | PBXDebugCLIModule 679 | PBXDebugSessionModule 680 | PBXDebugProcessAndThreadModule 681 | PBXDebugProcessViewModule 682 | PBXDebugThreadViewModule 683 | PBXDebugStackFrameViewModule 684 | PBXNavigatorGroup 685 | 686 | TableOfContents 687 | 688 | A3FD75EB11E4A194008A44FB 689 | 1CCC7628064C1048000F2A68 690 | 1CCC7629064C1048000F2A68 691 | A3FD75EC11E4A194008A44FB 692 | A3FD75ED11E4A194008A44FB 693 | A3FD75EE11E4A194008A44FB 694 | A3FD75EF11E4A194008A44FB 695 | A3FE045511BFFDD800DDDC85 696 | 697 | ToolbarConfigUserDefaultsMinorVersion 698 | 2 699 | ToolbarConfiguration 700 | xcode.toolbar.config.debugV3 701 | 702 | 703 | PerspectivesBarVisible 704 | 705 | ShelfIsVisible 706 | 707 | SourceDescription 708 | file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' 709 | StatusbarIsVisible 710 | 711 | TimeStamp 712 | 300196934.18348902 713 | ToolbarConfigUserDefaultsMinorVersion 714 | 2 715 | ToolbarDisplayMode 716 | 1 717 | ToolbarIsVisible 718 | 719 | ToolbarSizeMode 720 | 1 721 | Type 722 | Perspectives 723 | UpdateMessage 724 | 725 | WindowJustification 726 | 5 727 | WindowOrderList 728 | 729 | /Users/luke/Code/mine/LROAuth2Demo/LROAuth2Demo.xcodeproj 730 | 731 | WindowString 732 | 29 88 1526 947 0 0 1920 1178 733 | WindowToolsV3 734 | 735 | 736 | Identifier 737 | windowTool.debugger 738 | Layout 739 | 740 | 741 | Dock 742 | 743 | 744 | ContentConfiguration 745 | 746 | Debugger 747 | 748 | HorizontalSplitView 749 | 750 | _collapsingFrameDimension 751 | 0.0 752 | _indexOfCollapsedView 753 | 0 754 | _percentageOfCollapsedView 755 | 0.0 756 | isCollapsed 757 | yes 758 | sizes 759 | 760 | {{0, 0}, {317, 164}} 761 | {{317, 0}, {377, 164}} 762 | 763 | 764 | VerticalSplitView 765 | 766 | _collapsingFrameDimension 767 | 0.0 768 | _indexOfCollapsedView 769 | 0 770 | _percentageOfCollapsedView 771 | 0.0 772 | isCollapsed 773 | yes 774 | sizes 775 | 776 | {{0, 0}, {694, 164}} 777 | {{0, 164}, {694, 216}} 778 | 779 | 780 | 781 | LauncherConfigVersion 782 | 8 783 | PBXProjectModuleGUID 784 | 1C162984064C10D400B95A72 785 | PBXProjectModuleLabel 786 | Debug - GLUTExamples (Underwater) 787 | 788 | GeometryConfiguration 789 | 790 | DebugConsoleDrawerSize 791 | {100, 120} 792 | DebugConsoleVisible 793 | None 794 | DebugConsoleWindowFrame 795 | {{200, 200}, {500, 300}} 796 | DebugSTDIOWindowFrame 797 | {{200, 200}, {500, 300}} 798 | Frame 799 | {{0, 0}, {694, 380}} 800 | RubberWindowFrame 801 | 321 238 694 422 0 0 1440 878 802 | 803 | Module 804 | PBXDebugSessionModule 805 | Proportion 806 | 100% 807 | 808 | 809 | Proportion 810 | 100% 811 | 812 | 813 | Name 814 | Debugger 815 | ServiceClasses 816 | 817 | PBXDebugSessionModule 818 | 819 | StatusbarIsVisible 820 | 1 821 | TableOfContents 822 | 823 | 1CD10A99069EF8BA00B06720 824 | 1C0AD2AB069F1E9B00FABCE6 825 | 1C162984064C10D400B95A72 826 | 1C0AD2AC069F1E9B00FABCE6 827 | 828 | ToolbarConfiguration 829 | xcode.toolbar.config.debugV3 830 | WindowString 831 | 321 238 694 422 0 0 1440 878 832 | WindowToolGUID 833 | 1CD10A99069EF8BA00B06720 834 | WindowToolIsVisible 835 | 0 836 | 837 | 838 | Identifier 839 | windowTool.build 840 | Layout 841 | 842 | 843 | Dock 844 | 845 | 846 | ContentConfiguration 847 | 848 | PBXProjectModuleGUID 849 | 1CD0528F0623707200166675 850 | PBXProjectModuleLabel 851 | <No Editor> 852 | PBXSplitModuleInNavigatorKey 853 | 854 | Split0 855 | 856 | PBXProjectModuleGUID 857 | 1CD052900623707200166675 858 | 859 | SplitCount 860 | 1 861 | 862 | StatusBarVisibility 863 | 1 864 | 865 | GeometryConfiguration 866 | 867 | Frame 868 | {{0, 0}, {500, 215}} 869 | RubberWindowFrame 870 | 192 257 500 500 0 0 1280 1002 871 | 872 | Module 873 | PBXNavigatorGroup 874 | Proportion 875 | 218pt 876 | 877 | 878 | BecomeActive 879 | 1 880 | ContentConfiguration 881 | 882 | PBXProjectModuleGUID 883 | XCMainBuildResultsModuleGUID 884 | PBXProjectModuleLabel 885 | Build Results 886 | 887 | GeometryConfiguration 888 | 889 | Frame 890 | {{0, 222}, {500, 236}} 891 | RubberWindowFrame 892 | 192 257 500 500 0 0 1280 1002 893 | 894 | Module 895 | PBXBuildResultsModule 896 | Proportion 897 | 236pt 898 | 899 | 900 | Proportion 901 | 458pt 902 | 903 | 904 | Name 905 | Build Results 906 | ServiceClasses 907 | 908 | PBXBuildResultsModule 909 | 910 | StatusbarIsVisible 911 | 1 912 | TableOfContents 913 | 914 | 1C78EAA5065D492600B07095 915 | 1C78EAA6065D492600B07095 916 | 1CD0528F0623707200166675 917 | XCMainBuildResultsModuleGUID 918 | 919 | ToolbarConfiguration 920 | xcode.toolbar.config.buildV3 921 | WindowString 922 | 192 257 500 500 0 0 1280 1002 923 | 924 | 925 | Identifier 926 | windowTool.find 927 | Layout 928 | 929 | 930 | Dock 931 | 932 | 933 | Dock 934 | 935 | 936 | ContentConfiguration 937 | 938 | PBXProjectModuleGUID 939 | 1CDD528C0622207200134675 940 | PBXProjectModuleLabel 941 | <No Editor> 942 | PBXSplitModuleInNavigatorKey 943 | 944 | Split0 945 | 946 | PBXProjectModuleGUID 947 | 1CD0528D0623707200166675 948 | 949 | SplitCount 950 | 1 951 | 952 | StatusBarVisibility 953 | 1 954 | 955 | GeometryConfiguration 956 | 957 | Frame 958 | {{0, 0}, {781, 167}} 959 | RubberWindowFrame 960 | 62 385 781 470 0 0 1440 878 961 | 962 | Module 963 | PBXNavigatorGroup 964 | Proportion 965 | 781pt 966 | 967 | 968 | Proportion 969 | 50% 970 | 971 | 972 | BecomeActive 973 | 1 974 | ContentConfiguration 975 | 976 | PBXProjectModuleGUID 977 | 1CD0528E0623707200166675 978 | PBXProjectModuleLabel 979 | Project Find 980 | 981 | GeometryConfiguration 982 | 983 | Frame 984 | {{8, 0}, {773, 254}} 985 | RubberWindowFrame 986 | 62 385 781 470 0 0 1440 878 987 | 988 | Module 989 | PBXProjectFindModule 990 | Proportion 991 | 50% 992 | 993 | 994 | Proportion 995 | 428pt 996 | 997 | 998 | Name 999 | Project Find 1000 | ServiceClasses 1001 | 1002 | PBXProjectFindModule 1003 | 1004 | StatusbarIsVisible 1005 | 1 1006 | TableOfContents 1007 | 1008 | 1C530D57069F1CE1000CFCEE 1009 | 1C530D58069F1CE1000CFCEE 1010 | 1C530D59069F1CE1000CFCEE 1011 | 1CDD528C0622207200134675 1012 | 1C530D5A069F1CE1000CFCEE 1013 | 1CE0B1FE06471DED0097A5F4 1014 | 1CD0528E0623707200166675 1015 | 1016 | WindowString 1017 | 62 385 781 470 0 0 1440 878 1018 | WindowToolGUID 1019 | 1C530D57069F1CE1000CFCEE 1020 | WindowToolIsVisible 1021 | 0 1022 | 1023 | 1024 | Identifier 1025 | windowTool.snapshots 1026 | Layout 1027 | 1028 | 1029 | Dock 1030 | 1031 | 1032 | Module 1033 | XCSnapshotModule 1034 | Proportion 1035 | 100% 1036 | 1037 | 1038 | Proportion 1039 | 100% 1040 | 1041 | 1042 | Name 1043 | Snapshots 1044 | ServiceClasses 1045 | 1046 | XCSnapshotModule 1047 | 1048 | StatusbarIsVisible 1049 | Yes 1050 | ToolbarConfiguration 1051 | xcode.toolbar.config.snapshots 1052 | WindowString 1053 | 315 824 300 550 0 0 1440 878 1054 | WindowToolIsVisible 1055 | Yes 1056 | 1057 | 1058 | Identifier 1059 | windowTool.debuggerConsole 1060 | Layout 1061 | 1062 | 1063 | Dock 1064 | 1065 | 1066 | BecomeActive 1067 | 1 1068 | ContentConfiguration 1069 | 1070 | PBXProjectModuleGUID 1071 | 1C78EAAC065D492600B07095 1072 | PBXProjectModuleLabel 1073 | Debugger Console 1074 | 1075 | GeometryConfiguration 1076 | 1077 | Frame 1078 | {{0, 0}, {700, 358}} 1079 | RubberWindowFrame 1080 | 149 87 700 400 0 0 1440 878 1081 | 1082 | Module 1083 | PBXDebugCLIModule 1084 | Proportion 1085 | 358pt 1086 | 1087 | 1088 | Proportion 1089 | 358pt 1090 | 1091 | 1092 | Name 1093 | Debugger Console 1094 | ServiceClasses 1095 | 1096 | PBXDebugCLIModule 1097 | 1098 | StatusbarIsVisible 1099 | 1 1100 | TableOfContents 1101 | 1102 | 1C530D5B069F1CE1000CFCEE 1103 | 1C530D5C069F1CE1000CFCEE 1104 | 1C78EAAC065D492600B07095 1105 | 1106 | ToolbarConfiguration 1107 | xcode.toolbar.config.consoleV3 1108 | WindowString 1109 | 149 87 440 400 0 0 1440 878 1110 | WindowToolGUID 1111 | 1C530D5B069F1CE1000CFCEE 1112 | WindowToolIsVisible 1113 | 0 1114 | 1115 | 1116 | Identifier 1117 | windowTool.scm 1118 | Layout 1119 | 1120 | 1121 | Dock 1122 | 1123 | 1124 | ContentConfiguration 1125 | 1126 | PBXProjectModuleGUID 1127 | 1C78EAB2065D492600B07095 1128 | PBXProjectModuleLabel 1129 | <No Editor> 1130 | PBXSplitModuleInNavigatorKey 1131 | 1132 | Split0 1133 | 1134 | PBXProjectModuleGUID 1135 | 1C78EAB3065D492600B07095 1136 | 1137 | SplitCount 1138 | 1 1139 | 1140 | StatusBarVisibility 1141 | 1 1142 | 1143 | GeometryConfiguration 1144 | 1145 | Frame 1146 | {{0, 0}, {452, 0}} 1147 | RubberWindowFrame 1148 | 743 379 452 308 0 0 1280 1002 1149 | 1150 | Module 1151 | PBXNavigatorGroup 1152 | Proportion 1153 | 0pt 1154 | 1155 | 1156 | BecomeActive 1157 | 1 1158 | ContentConfiguration 1159 | 1160 | PBXProjectModuleGUID 1161 | 1CD052920623707200166675 1162 | PBXProjectModuleLabel 1163 | SCM 1164 | 1165 | GeometryConfiguration 1166 | 1167 | ConsoleFrame 1168 | {{0, 259}, {452, 0}} 1169 | Frame 1170 | {{0, 7}, {452, 259}} 1171 | RubberWindowFrame 1172 | 743 379 452 308 0 0 1280 1002 1173 | TableConfiguration 1174 | 1175 | Status 1176 | 30 1177 | FileName 1178 | 199 1179 | Path 1180 | 197.09500122070312 1181 | 1182 | TableFrame 1183 | {{0, 0}, {452, 250}} 1184 | 1185 | Module 1186 | PBXCVSModule 1187 | Proportion 1188 | 262pt 1189 | 1190 | 1191 | Proportion 1192 | 266pt 1193 | 1194 | 1195 | Name 1196 | SCM 1197 | ServiceClasses 1198 | 1199 | PBXCVSModule 1200 | 1201 | StatusbarIsVisible 1202 | 1 1203 | TableOfContents 1204 | 1205 | 1C78EAB4065D492600B07095 1206 | 1C78EAB5065D492600B07095 1207 | 1C78EAB2065D492600B07095 1208 | 1CD052920623707200166675 1209 | 1210 | ToolbarConfiguration 1211 | xcode.toolbar.config.scmV3 1212 | WindowString 1213 | 743 379 452 308 0 0 1280 1002 1214 | 1215 | 1216 | Identifier 1217 | windowTool.breakpoints 1218 | IsVertical 1219 | 0 1220 | Layout 1221 | 1222 | 1223 | Dock 1224 | 1225 | 1226 | BecomeActive 1227 | 1 1228 | ContentConfiguration 1229 | 1230 | PBXBottomSmartGroupGIDs 1231 | 1232 | 1C77FABC04509CD000000102 1233 | 1234 | PBXProjectModuleGUID 1235 | 1CE0B1FE06471DED0097A5F4 1236 | PBXProjectModuleLabel 1237 | Files 1238 | PBXProjectStructureProvided 1239 | no 1240 | PBXSmartGroupTreeModuleColumnData 1241 | 1242 | PBXSmartGroupTreeModuleColumnWidthsKey 1243 | 1244 | 168 1245 | 1246 | PBXSmartGroupTreeModuleColumnsKey_v4 1247 | 1248 | MainColumn 1249 | 1250 | 1251 | PBXSmartGroupTreeModuleOutlineStateKey_v7 1252 | 1253 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 1254 | 1255 | 1C77FABC04509CD000000102 1256 | 1257 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 1258 | 1259 | 1260 | 0 1261 | 1262 | 1263 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 1264 | {{0, 0}, {168, 350}} 1265 | 1266 | PBXTopSmartGroupGIDs 1267 | 1268 | XCIncludePerspectivesSwitch 1269 | 0 1270 | 1271 | GeometryConfiguration 1272 | 1273 | Frame 1274 | {{0, 0}, {185, 368}} 1275 | GroupTreeTableConfiguration 1276 | 1277 | MainColumn 1278 | 168 1279 | 1280 | RubberWindowFrame 1281 | 315 424 744 409 0 0 1440 878 1282 | 1283 | Module 1284 | PBXSmartGroupTreeModule 1285 | Proportion 1286 | 185pt 1287 | 1288 | 1289 | ContentConfiguration 1290 | 1291 | PBXProjectModuleGUID 1292 | 1CA1AED706398EBD00589147 1293 | PBXProjectModuleLabel 1294 | Detail 1295 | 1296 | GeometryConfiguration 1297 | 1298 | Frame 1299 | {{190, 0}, {554, 368}} 1300 | RubberWindowFrame 1301 | 315 424 744 409 0 0 1440 878 1302 | 1303 | Module 1304 | XCDetailModule 1305 | Proportion 1306 | 554pt 1307 | 1308 | 1309 | Proportion 1310 | 368pt 1311 | 1312 | 1313 | MajorVersion 1314 | 3 1315 | MinorVersion 1316 | 0 1317 | Name 1318 | Breakpoints 1319 | ServiceClasses 1320 | 1321 | PBXSmartGroupTreeModule 1322 | XCDetailModule 1323 | 1324 | StatusbarIsVisible 1325 | 1 1326 | TableOfContents 1327 | 1328 | 1CDDB66807F98D9800BB5817 1329 | 1CDDB66907F98D9800BB5817 1330 | 1CE0B1FE06471DED0097A5F4 1331 | 1CA1AED706398EBD00589147 1332 | 1333 | ToolbarConfiguration 1334 | xcode.toolbar.config.breakpointsV3 1335 | WindowString 1336 | 315 424 744 409 0 0 1440 878 1337 | WindowToolGUID 1338 | 1CDDB66807F98D9800BB5817 1339 | WindowToolIsVisible 1340 | 1 1341 | 1342 | 1343 | Identifier 1344 | windowTool.debugAnimator 1345 | Layout 1346 | 1347 | 1348 | Dock 1349 | 1350 | 1351 | Module 1352 | PBXNavigatorGroup 1353 | Proportion 1354 | 100% 1355 | 1356 | 1357 | Proportion 1358 | 100% 1359 | 1360 | 1361 | Name 1362 | Debug Visualizer 1363 | ServiceClasses 1364 | 1365 | PBXNavigatorGroup 1366 | 1367 | StatusbarIsVisible 1368 | 1 1369 | ToolbarConfiguration 1370 | xcode.toolbar.config.debugAnimatorV3 1371 | WindowString 1372 | 100 100 700 500 0 0 1280 1002 1373 | 1374 | 1375 | Identifier 1376 | windowTool.bookmarks 1377 | Layout 1378 | 1379 | 1380 | Dock 1381 | 1382 | 1383 | Module 1384 | PBXBookmarksModule 1385 | Proportion 1386 | 166pt 1387 | 1388 | 1389 | Proportion 1390 | 166pt 1391 | 1392 | 1393 | Name 1394 | Bookmarks 1395 | ServiceClasses 1396 | 1397 | PBXBookmarksModule 1398 | 1399 | StatusbarIsVisible 1400 | 0 1401 | WindowString 1402 | 538 42 401 187 0 0 1280 1002 1403 | 1404 | 1405 | Identifier 1406 | windowTool.projectFormatConflicts 1407 | Layout 1408 | 1409 | 1410 | Dock 1411 | 1412 | 1413 | Module 1414 | XCProjectFormatConflictsModule 1415 | Proportion 1416 | 100% 1417 | 1418 | 1419 | Proportion 1420 | 100% 1421 | 1422 | 1423 | Name 1424 | Project Format Conflicts 1425 | ServiceClasses 1426 | 1427 | XCProjectFormatConflictsModule 1428 | 1429 | StatusbarIsVisible 1430 | 0 1431 | WindowContentMinSize 1432 | 450 300 1433 | WindowString 1434 | 50 850 472 307 0 0 1440 877 1435 | 1436 | 1437 | Identifier 1438 | windowTool.classBrowser 1439 | Layout 1440 | 1441 | 1442 | Dock 1443 | 1444 | 1445 | BecomeActive 1446 | 1 1447 | ContentConfiguration 1448 | 1449 | OptionsSetName 1450 | Hierarchy, all classes 1451 | PBXProjectModuleGUID 1452 | 1CA6456E063B45B4001379D8 1453 | PBXProjectModuleLabel 1454 | Class Browser - NSObject 1455 | 1456 | GeometryConfiguration 1457 | 1458 | ClassesFrame 1459 | {{0, 0}, {369, 96}} 1460 | ClassesTreeTableConfiguration 1461 | 1462 | PBXClassNameColumnIdentifier 1463 | 208 1464 | PBXClassBookColumnIdentifier 1465 | 22 1466 | 1467 | Frame 1468 | {{0, 0}, {616, 353}} 1469 | MembersFrame 1470 | {{0, 105}, {369, 395}} 1471 | MembersTreeTableConfiguration 1472 | 1473 | PBXMemberTypeIconColumnIdentifier 1474 | 22 1475 | PBXMemberNameColumnIdentifier 1476 | 216 1477 | PBXMemberTypeColumnIdentifier 1478 | 94 1479 | PBXMemberBookColumnIdentifier 1480 | 22 1481 | 1482 | PBXModuleWindowStatusBarHidden2 1483 | 1 1484 | RubberWindowFrame 1485 | 597 125 616 374 0 0 1280 1002 1486 | 1487 | Module 1488 | PBXClassBrowserModule 1489 | Proportion 1490 | 354pt 1491 | 1492 | 1493 | Proportion 1494 | 354pt 1495 | 1496 | 1497 | Name 1498 | Class Browser 1499 | ServiceClasses 1500 | 1501 | PBXClassBrowserModule 1502 | 1503 | StatusbarIsVisible 1504 | 0 1505 | TableOfContents 1506 | 1507 | 1C78EABA065D492600B07095 1508 | 1C78EABB065D492600B07095 1509 | 1CA6456E063B45B4001379D8 1510 | 1511 | ToolbarConfiguration 1512 | xcode.toolbar.config.classbrowser 1513 | WindowString 1514 | 597 125 616 374 0 0 1280 1002 1515 | 1516 | 1517 | Identifier 1518 | windowTool.refactoring 1519 | IncludeInToolsMenu 1520 | 0 1521 | Layout 1522 | 1523 | 1524 | Dock 1525 | 1526 | 1527 | BecomeActive 1528 | 1 1529 | GeometryConfiguration 1530 | 1531 | Frame 1532 | {0, 0}, {500, 335} 1533 | RubberWindowFrame 1534 | {0, 0}, {500, 335} 1535 | 1536 | Module 1537 | XCRefactoringModule 1538 | Proportion 1539 | 100% 1540 | 1541 | 1542 | Proportion 1543 | 100% 1544 | 1545 | 1546 | Name 1547 | Refactoring 1548 | ServiceClasses 1549 | 1550 | XCRefactoringModule 1551 | 1552 | WindowString 1553 | 200 200 500 356 0 0 1920 1200 1554 | 1555 | 1556 | 1557 | 1558 | -------------------------------------------------------------------------------- /LROAuth2Demo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 45; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1D3623260D0F684500981E51 /* LROAuth2DemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LROAuth2DemoAppDelegate.m */; }; 11 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 12 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 13 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 14 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; 15 | 2899E5220DE3E06400AC0155 /* LROAuth2DemoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* LROAuth2DemoViewController.xib */; }; 16 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 17 | 28D7ACF80DDB3853001CB0EB /* LROAuth2DemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* LROAuth2DemoViewController.m */; }; 18 | A3B6F53511B54E7C00533386 /* LROAuth2AccessToken.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F52B11B54E7C00533386 /* LROAuth2AccessToken.m */; }; 19 | A3B6F53611B54E7C00533386 /* LROAuth2Client.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F52D11B54E7C00533386 /* LROAuth2Client.m */; }; 20 | A3B6F53711B54E7C00533386 /* NSDictionary+QueryString.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F53011B54E7C00533386 /* NSDictionary+QueryString.m */; }; 21 | A3B6F53811B54E7C00533386 /* NSString+QueryString.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F53211B54E7C00533386 /* NSString+QueryString.m */; }; 22 | A3B6F53911B54E7C00533386 /* NSURL+QueryInspector.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F53411B54E7C00533386 /* NSURL+QueryInspector.m */; }; 23 | A3B6F58711B54EE600533386 /* ASIAuthenticationDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F54911B54EE600533386 /* ASIAuthenticationDialog.m */; }; 24 | A3B6F58811B54EE600533386 /* ASIFormDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F54B11B54EE600533386 /* ASIFormDataRequest.m */; }; 25 | A3B6F58911B54EE600533386 /* ASIHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F54D11B54EE600533386 /* ASIHTTPRequest.m */; }; 26 | A3B6F58A11B54EE600533386 /* ASIInputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55111B54EE600533386 /* ASIInputStream.m */; }; 27 | A3B6F58B11B54EE600533386 /* ASINetworkQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55311B54EE600533386 /* ASINetworkQueue.m */; }; 28 | A3B6F58C11B54EE600533386 /* ASINSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55511B54EE600533386 /* ASINSStringAdditions.m */; }; 29 | A3B6F58D11B54EE600533386 /* ASICloudFilesCDNRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55911B54EE600533386 /* ASICloudFilesCDNRequest.m */; }; 30 | A3B6F58E11B54EE600533386 /* ASICloudFilesContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55B11B54EE600533386 /* ASICloudFilesContainer.m */; }; 31 | A3B6F58F11B54EE600533386 /* ASICloudFilesContainerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55D11B54EE600533386 /* ASICloudFilesContainerRequest.m */; }; 32 | A3B6F59011B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F55F11B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.m */; }; 33 | A3B6F59111B54EE600533386 /* ASICloudFilesObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56111B54EE600533386 /* ASICloudFilesObject.m */; }; 34 | A3B6F59211B54EE600533386 /* ASICloudFilesObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56311B54EE600533386 /* ASICloudFilesObjectRequest.m */; }; 35 | A3B6F59311B54EE600533386 /* ASICloudFilesRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56511B54EE600533386 /* ASICloudFilesRequest.m */; }; 36 | A3B6F59411B54EE600533386 /* ASIS3Bucket.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56811B54EE600533386 /* ASIS3Bucket.m */; }; 37 | A3B6F59511B54EE600533386 /* ASIS3BucketObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56A11B54EE600533386 /* ASIS3BucketObject.m */; }; 38 | A3B6F59611B54EE600533386 /* ASIS3BucketRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56C11B54EE600533386 /* ASIS3BucketRequest.m */; }; 39 | A3B6F59711B54EE600533386 /* ASIS3ObjectRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F56E11B54EE600533386 /* ASIS3ObjectRequest.m */; }; 40 | A3B6F59811B54EE600533386 /* ASIS3Request.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F57011B54EE600533386 /* ASIS3Request.m */; }; 41 | A3B6F59911B54EE600533386 /* ASIS3ServiceRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F57211B54EE600533386 /* ASIS3ServiceRequest.m */; }; 42 | A3B6F5CA11B54F1100533386 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F5C911B54F1100533386 /* Reachability.m */; }; 43 | A3B6F5D611B54F2A00533386 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3B6F5D511B54F2A00533386 /* SystemConfiguration.framework */; }; 44 | A3B6F5F211B54FA300533386 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3B6F5F111B54FA300533386 /* CFNetwork.framework */; }; 45 | A3B6F5F711B54FB500533386 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A3B6F5F611B54FB500533386 /* libz.1.2.3.dylib */; }; 46 | A3B6F61111B5502600533386 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A3B6F61011B5502600533386 /* MobileCoreServices.framework */; }; 47 | A3B6F63D11B550ED00533386 /* OAuthRequestController.m in Sources */ = {isa = PBXBuildFile; fileRef = A3B6F63B11B550ED00533386 /* OAuthRequestController.m */; }; 48 | A3B6F63E11B550ED00533386 /* OAuthRequestController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A3B6F63C11B550ED00533386 /* OAuthRequestController.xib */; }; 49 | A3FD768911E4A46D008A44FB /* yajl.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD767911E4A46D008A44FB /* yajl.c */; }; 50 | A3FD768B11E4A46D008A44FB /* yajl_alloc.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD767B11E4A46D008A44FB /* yajl_alloc.c */; }; 51 | A3FD768C11E4A46D008A44FB /* yajl_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD767D11E4A46D008A44FB /* yajl_buf.c */; }; 52 | A3FD768D11E4A46D008A44FB /* yajl_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD768011E4A46D008A44FB /* yajl_encode.c */; }; 53 | A3FD768E11E4A46D008A44FB /* yajl_gen.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD768211E4A46D008A44FB /* yajl_gen.c */; }; 54 | A3FD768F11E4A46D008A44FB /* yajl_lex.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD768311E4A46D008A44FB /* yajl_lex.c */; }; 55 | A3FD769011E4A46D008A44FB /* yajl_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = A3FD768511E4A46D008A44FB /* yajl_parser.c */; }; 56 | A3FD769A11E4A488008A44FB /* NSObject+YAJL.m in Sources */ = {isa = PBXBuildFile; fileRef = A3FD769211E4A488008A44FB /* NSObject+YAJL.m */; }; 57 | A3FD769B11E4A488008A44FB /* YAJLDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = A3FD769511E4A488008A44FB /* YAJLDocument.m */; }; 58 | A3FD769C11E4A488008A44FB /* YAJLGen.m in Sources */ = {isa = PBXBuildFile; fileRef = A3FD769711E4A488008A44FB /* YAJLGen.m */; }; 59 | A3FD769D11E4A488008A44FB /* YAJLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A3FD769911E4A488008A44FB /* YAJLParser.m */; }; 60 | A3FD76A211E4A496008A44FB /* YAJL_GTMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = A3FD76A111E4A496008A44FB /* YAJL_GTMBase64.m */; }; 61 | /* End PBXBuildFile section */ 62 | 63 | /* Begin PBXFileReference section */ 64 | 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 65 | 1D3623240D0F684500981E51 /* LROAuth2DemoAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2DemoAppDelegate.h; sourceTree = ""; }; 66 | 1D3623250D0F684500981E51 /* LROAuth2DemoAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LROAuth2DemoAppDelegate.m; sourceTree = ""; }; 67 | 1D6058910D05DD3D006BFB54 /* LROAuth2Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LROAuth2Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 68 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 69 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 70 | 2899E5210DE3E06400AC0155 /* LROAuth2DemoViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LROAuth2DemoViewController.xib; sourceTree = ""; }; 71 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; 72 | 28D7ACF60DDB3853001CB0EB /* LROAuth2DemoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2DemoViewController.h; sourceTree = ""; }; 73 | 28D7ACF70DDB3853001CB0EB /* LROAuth2DemoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LROAuth2DemoViewController.m; sourceTree = ""; }; 74 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 75 | 32CA4F630368D1EE00C91783 /* LROAuth2Demo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2Demo_Prefix.pch; sourceTree = ""; }; 76 | 8D1107310486CEB800E47090 /* LROAuth2Demo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "LROAuth2Demo-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; 77 | A3B6F52A11B54E7C00533386 /* LROAuth2AccessToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2AccessToken.h; sourceTree = ""; }; 78 | A3B6F52B11B54E7C00533386 /* LROAuth2AccessToken.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LROAuth2AccessToken.m; sourceTree = ""; }; 79 | A3B6F52C11B54E7C00533386 /* LROAuth2Client.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2Client.h; sourceTree = ""; }; 80 | A3B6F52D11B54E7C00533386 /* LROAuth2Client.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LROAuth2Client.m; sourceTree = ""; }; 81 | A3B6F52E11B54E7C00533386 /* LROAuth2ClientDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LROAuth2ClientDelegate.h; sourceTree = ""; }; 82 | A3B6F52F11B54E7C00533386 /* NSDictionary+QueryString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+QueryString.h"; path = "Vendor/LROAuth2Client/NSDictionary+QueryString.h"; sourceTree = ""; }; 83 | A3B6F53011B54E7C00533386 /* NSDictionary+QueryString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+QueryString.m"; path = "Vendor/LROAuth2Client/NSDictionary+QueryString.m"; sourceTree = ""; }; 84 | A3B6F53111B54E7C00533386 /* NSString+QueryString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+QueryString.h"; path = "Vendor/LROAuth2Client/NSString+QueryString.h"; sourceTree = ""; }; 85 | A3B6F53211B54E7C00533386 /* NSString+QueryString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+QueryString.m"; path = "Vendor/LROAuth2Client/NSString+QueryString.m"; sourceTree = ""; }; 86 | A3B6F53311B54E7C00533386 /* NSURL+QueryInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSURL+QueryInspector.h"; path = "Vendor/LROAuth2Client/NSURL+QueryInspector.h"; sourceTree = ""; }; 87 | A3B6F53411B54E7C00533386 /* NSURL+QueryInspector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSURL+QueryInspector.m"; path = "Vendor/LROAuth2Client/NSURL+QueryInspector.m"; sourceTree = ""; }; 88 | A3B6F54811B54EE600533386 /* ASIAuthenticationDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIAuthenticationDialog.h; path = Classes/ASIAuthenticationDialog.h; sourceTree = ""; }; 89 | A3B6F54911B54EE600533386 /* ASIAuthenticationDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASIAuthenticationDialog.m; path = Classes/ASIAuthenticationDialog.m; sourceTree = ""; }; 90 | A3B6F54A11B54EE600533386 /* ASIFormDataRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIFormDataRequest.h; path = Classes/ASIFormDataRequest.h; sourceTree = ""; }; 91 | A3B6F54B11B54EE600533386 /* ASIFormDataRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASIFormDataRequest.m; path = Classes/ASIFormDataRequest.m; sourceTree = ""; }; 92 | A3B6F54C11B54EE600533386 /* ASIHTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIHTTPRequest.h; path = Classes/ASIHTTPRequest.h; sourceTree = ""; }; 93 | A3B6F54D11B54EE600533386 /* ASIHTTPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASIHTTPRequest.m; path = Classes/ASIHTTPRequest.m; sourceTree = ""; }; 94 | A3B6F54F11B54EE600533386 /* ASIHTTPRequestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIHTTPRequestDelegate.h; path = Classes/ASIHTTPRequestDelegate.h; sourceTree = ""; }; 95 | A3B6F55011B54EE600533386 /* ASIInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIInputStream.h; path = Classes/ASIInputStream.h; sourceTree = ""; }; 96 | A3B6F55111B54EE600533386 /* ASIInputStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASIInputStream.m; path = Classes/ASIInputStream.m; sourceTree = ""; }; 97 | A3B6F55211B54EE600533386 /* ASINetworkQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASINetworkQueue.h; path = Classes/ASINetworkQueue.h; sourceTree = ""; }; 98 | A3B6F55311B54EE600533386 /* ASINetworkQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASINetworkQueue.m; path = Classes/ASINetworkQueue.m; sourceTree = ""; }; 99 | A3B6F55411B54EE600533386 /* ASINSStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASINSStringAdditions.h; path = Classes/ASINSStringAdditions.h; sourceTree = ""; }; 100 | A3B6F55511B54EE600533386 /* ASINSStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ASINSStringAdditions.m; path = Classes/ASINSStringAdditions.m; sourceTree = ""; }; 101 | A3B6F55611B54EE600533386 /* ASIProgressDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIProgressDelegate.h; path = Classes/ASIProgressDelegate.h; sourceTree = ""; }; 102 | A3B6F55811B54EE600533386 /* ASICloudFilesCDNRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesCDNRequest.h; sourceTree = ""; }; 103 | A3B6F55911B54EE600533386 /* ASICloudFilesCDNRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesCDNRequest.m; sourceTree = ""; }; 104 | A3B6F55A11B54EE600533386 /* ASICloudFilesContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesContainer.h; sourceTree = ""; }; 105 | A3B6F55B11B54EE600533386 /* ASICloudFilesContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesContainer.m; sourceTree = ""; }; 106 | A3B6F55C11B54EE600533386 /* ASICloudFilesContainerRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesContainerRequest.h; sourceTree = ""; }; 107 | A3B6F55D11B54EE600533386 /* ASICloudFilesContainerRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesContainerRequest.m; sourceTree = ""; }; 108 | A3B6F55E11B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesContainerXMLParserDelegate.h; sourceTree = ""; }; 109 | A3B6F55F11B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesContainerXMLParserDelegate.m; sourceTree = ""; }; 110 | A3B6F56011B54EE600533386 /* ASICloudFilesObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesObject.h; sourceTree = ""; }; 111 | A3B6F56111B54EE600533386 /* ASICloudFilesObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesObject.m; sourceTree = ""; }; 112 | A3B6F56211B54EE600533386 /* ASICloudFilesObjectRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesObjectRequest.h; sourceTree = ""; }; 113 | A3B6F56311B54EE600533386 /* ASICloudFilesObjectRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesObjectRequest.m; sourceTree = ""; }; 114 | A3B6F56411B54EE600533386 /* ASICloudFilesRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICloudFilesRequest.h; sourceTree = ""; }; 115 | A3B6F56511B54EE600533386 /* ASICloudFilesRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASICloudFilesRequest.m; sourceTree = ""; }; 116 | A3B6F56711B54EE600533386 /* ASIS3Bucket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3Bucket.h; sourceTree = ""; }; 117 | A3B6F56811B54EE600533386 /* ASIS3Bucket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3Bucket.m; sourceTree = ""; }; 118 | A3B6F56911B54EE600533386 /* ASIS3BucketObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3BucketObject.h; sourceTree = ""; }; 119 | A3B6F56A11B54EE600533386 /* ASIS3BucketObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3BucketObject.m; sourceTree = ""; }; 120 | A3B6F56B11B54EE600533386 /* ASIS3BucketRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3BucketRequest.h; sourceTree = ""; }; 121 | A3B6F56C11B54EE600533386 /* ASIS3BucketRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3BucketRequest.m; sourceTree = ""; }; 122 | A3B6F56D11B54EE600533386 /* ASIS3ObjectRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3ObjectRequest.h; sourceTree = ""; }; 123 | A3B6F56E11B54EE600533386 /* ASIS3ObjectRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3ObjectRequest.m; sourceTree = ""; }; 124 | A3B6F56F11B54EE600533386 /* ASIS3Request.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3Request.h; sourceTree = ""; }; 125 | A3B6F57011B54EE600533386 /* ASIS3Request.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3Request.m; sourceTree = ""; }; 126 | A3B6F57111B54EE600533386 /* ASIS3ServiceRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIS3ServiceRequest.h; sourceTree = ""; }; 127 | A3B6F57211B54EE600533386 /* ASIS3ServiceRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIS3ServiceRequest.m; sourceTree = ""; }; 128 | A3B6F5C811B54F1100533386 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = External/Reachability2.0/Reachability.h; sourceTree = ""; }; 129 | A3B6F5C911B54F1100533386 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = External/Reachability2.0/Reachability.m; sourceTree = ""; }; 130 | A3B6F5D511B54F2A00533386 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; 131 | A3B6F5E211B54F6600533386 /* ASIHTTPRequestConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ASIHTTPRequestConfig.h; path = Vendor/ASIHTTPRequestConfig.h; sourceTree = ""; }; 132 | A3B6F5F111B54FA300533386 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 133 | A3B6F5F611B54FB500533386 /* libz.1.2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.2.3.dylib; path = usr/lib/libz.1.2.3.dylib; sourceTree = SDKROOT; }; 134 | A3B6F61011B5502600533386 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 135 | A3B6F63A11B550ED00533386 /* OAuthRequestController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OAuthRequestController.h; sourceTree = ""; }; 136 | A3B6F63B11B550ED00533386 /* OAuthRequestController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OAuthRequestController.m; sourceTree = ""; }; 137 | A3B6F63C11B550ED00533386 /* OAuthRequestController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = OAuthRequestController.xib; path = Classes/OAuthRequestController.xib; sourceTree = ""; }; 138 | A3B6F64511B5517B00533386 /* OAuthCredentials-Example.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OAuthCredentials-Example.h"; sourceTree = ""; }; 139 | A3B6F64611B5522D00533386 /* OAuthCredentials.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OAuthCredentials.h; sourceTree = ""; }; 140 | A3FD767411E4A46D008A44FB /* yajl_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_common.h; sourceTree = ""; }; 141 | A3FD767511E4A46D008A44FB /* yajl_gen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_gen.h; sourceTree = ""; }; 142 | A3FD767611E4A46D008A44FB /* yajl_parse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_parse.h; sourceTree = ""; }; 143 | A3FD767911E4A46D008A44FB /* yajl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl.c; sourceTree = ""; }; 144 | A3FD767B11E4A46D008A44FB /* yajl_alloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_alloc.c; sourceTree = ""; }; 145 | A3FD767C11E4A46D008A44FB /* yajl_alloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_alloc.h; sourceTree = ""; }; 146 | A3FD767D11E4A46D008A44FB /* yajl_buf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_buf.c; sourceTree = ""; }; 147 | A3FD767E11E4A46D008A44FB /* yajl_buf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_buf.h; sourceTree = ""; }; 148 | A3FD767F11E4A46D008A44FB /* yajl_bytestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_bytestack.h; sourceTree = ""; }; 149 | A3FD768011E4A46D008A44FB /* yajl_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_encode.c; sourceTree = ""; }; 150 | A3FD768111E4A46D008A44FB /* yajl_encode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_encode.h; sourceTree = ""; }; 151 | A3FD768211E4A46D008A44FB /* yajl_gen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_gen.c; sourceTree = ""; }; 152 | A3FD768311E4A46D008A44FB /* yajl_lex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_lex.c; sourceTree = ""; }; 153 | A3FD768411E4A46D008A44FB /* yajl_lex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_lex.h; sourceTree = ""; }; 154 | A3FD768511E4A46D008A44FB /* yajl_parser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yajl_parser.c; sourceTree = ""; }; 155 | A3FD768611E4A46D008A44FB /* yajl_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yajl_parser.h; sourceTree = ""; }; 156 | A3FD769111E4A488008A44FB /* NSObject+YAJL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSObject+YAJL.h"; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/NSObject+YAJL.h"; sourceTree = ""; }; 157 | A3FD769211E4A488008A44FB /* NSObject+YAJL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSObject+YAJL.m"; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/NSObject+YAJL.m"; sourceTree = ""; }; 158 | A3FD769311E4A488008A44FB /* YAJL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YAJL.h; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJL.h"; sourceTree = ""; }; 159 | A3FD769411E4A488008A44FB /* YAJLDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YAJLDocument.h; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLDocument.h"; sourceTree = ""; }; 160 | A3FD769511E4A488008A44FB /* YAJLDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YAJLDocument.m; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLDocument.m"; sourceTree = ""; }; 161 | A3FD769611E4A488008A44FB /* YAJLGen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YAJLGen.h; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLGen.h"; sourceTree = ""; }; 162 | A3FD769711E4A488008A44FB /* YAJLGen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YAJLGen.m; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLGen.m"; sourceTree = ""; }; 163 | A3FD769811E4A488008A44FB /* YAJLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YAJLParser.h; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLParser.h"; sourceTree = ""; }; 164 | A3FD769911E4A488008A44FB /* YAJLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YAJLParser.m; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Classes/YAJLParser.m"; sourceTree = ""; }; 165 | A3FD76A011E4A496008A44FB /* YAJL_GTMBase64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YAJL_GTMBase64.h; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Libraries/GTM/YAJL_GTMBase64.h"; sourceTree = ""; }; 166 | A3FD76A111E4A496008A44FB /* YAJL_GTMBase64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YAJL_GTMBase64.m; path = "Vendor/LROAuth2Client/Vendor/yajl-objc/Libraries/GTM/YAJL_GTMBase64.m"; sourceTree = ""; }; 167 | /* End PBXFileReference section */ 168 | 169 | /* Begin PBXFrameworksBuildPhase section */ 170 | 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { 171 | isa = PBXFrameworksBuildPhase; 172 | buildActionMask = 2147483647; 173 | files = ( 174 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 175 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, 176 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, 177 | A3B6F5D611B54F2A00533386 /* SystemConfiguration.framework in Frameworks */, 178 | A3B6F5F211B54FA300533386 /* CFNetwork.framework in Frameworks */, 179 | A3B6F5F711B54FB500533386 /* libz.1.2.3.dylib in Frameworks */, 180 | A3B6F61111B5502600533386 /* MobileCoreServices.framework in Frameworks */, 181 | ); 182 | runOnlyForDeploymentPostprocessing = 0; 183 | }; 184 | /* End PBXFrameworksBuildPhase section */ 185 | 186 | /* Begin PBXGroup section */ 187 | 080E96DDFE201D6D7F000001 /* Classes */ = { 188 | isa = PBXGroup; 189 | children = ( 190 | A3B6F63311B5509D00533386 /* Controllers */, 191 | 1D3623240D0F684500981E51 /* LROAuth2DemoAppDelegate.h */, 192 | 1D3623250D0F684500981E51 /* LROAuth2DemoAppDelegate.m */, 193 | ); 194 | path = Classes; 195 | sourceTree = ""; 196 | }; 197 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 198 | isa = PBXGroup; 199 | children = ( 200 | 1D6058910D05DD3D006BFB54 /* LROAuth2Demo.app */, 201 | ); 202 | name = Products; 203 | sourceTree = ""; 204 | }; 205 | 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { 206 | isa = PBXGroup; 207 | children = ( 208 | A3B6F52811B54E6400533386 /* LROAuth2Client */, 209 | 080E96DDFE201D6D7F000001 /* Classes */, 210 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 211 | 29B97317FDCFA39411CA2CEA /* Resources */, 212 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 213 | 19C28FACFE9D520D11CA2CBB /* Products */, 214 | ); 215 | name = CustomTemplate; 216 | sourceTree = ""; 217 | }; 218 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 219 | isa = PBXGroup; 220 | children = ( 221 | A3B6F64611B5522D00533386 /* OAuthCredentials.h */, 222 | 32CA4F630368D1EE00C91783 /* LROAuth2Demo_Prefix.pch */, 223 | 29B97316FDCFA39411CA2CEA /* main.m */, 224 | A3B6F64511B5517B00533386 /* OAuthCredentials-Example.h */, 225 | ); 226 | name = "Other Sources"; 227 | sourceTree = ""; 228 | }; 229 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 230 | isa = PBXGroup; 231 | children = ( 232 | A3B6F63C11B550ED00533386 /* OAuthRequestController.xib */, 233 | 2899E5210DE3E06400AC0155 /* LROAuth2DemoViewController.xib */, 234 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */, 235 | 8D1107310486CEB800E47090 /* LROAuth2Demo-Info.plist */, 236 | ); 237 | name = Resources; 238 | sourceTree = ""; 239 | }; 240 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 241 | isa = PBXGroup; 242 | children = ( 243 | A3B6F5F111B54FA300533386 /* CFNetwork.framework */, 244 | A3B6F5F611B54FB500533386 /* libz.1.2.3.dylib */, 245 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 246 | 1D30AB110D05D00D00671497 /* Foundation.framework */, 247 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */, 248 | A3B6F5D511B54F2A00533386 /* SystemConfiguration.framework */, 249 | A3B6F61011B5502600533386 /* MobileCoreServices.framework */, 250 | ); 251 | name = Frameworks; 252 | sourceTree = ""; 253 | }; 254 | A3B6F52811B54E6400533386 /* LROAuth2Client */ = { 255 | isa = PBXGroup; 256 | children = ( 257 | A3FD764511E4A357008A44FB /* YAJL */, 258 | A3B6F5E211B54F6600533386 /* ASIHTTPRequestConfig.h */, 259 | A3B6F53A11B54E8D00533386 /* ASIHTTPRequest */, 260 | A3B6F52911B54E7C00533386 /* Classes */, 261 | A3B6F52F11B54E7C00533386 /* NSDictionary+QueryString.h */, 262 | A3B6F53011B54E7C00533386 /* NSDictionary+QueryString.m */, 263 | A3B6F53111B54E7C00533386 /* NSString+QueryString.h */, 264 | A3B6F53211B54E7C00533386 /* NSString+QueryString.m */, 265 | A3B6F53311B54E7C00533386 /* NSURL+QueryInspector.h */, 266 | A3B6F53411B54E7C00533386 /* NSURL+QueryInspector.m */, 267 | ); 268 | name = LROAuth2Client; 269 | sourceTree = ""; 270 | }; 271 | A3B6F52911B54E7C00533386 /* Classes */ = { 272 | isa = PBXGroup; 273 | children = ( 274 | A3B6F52A11B54E7C00533386 /* LROAuth2AccessToken.h */, 275 | A3B6F52B11B54E7C00533386 /* LROAuth2AccessToken.m */, 276 | A3B6F52C11B54E7C00533386 /* LROAuth2Client.h */, 277 | A3B6F52D11B54E7C00533386 /* LROAuth2Client.m */, 278 | A3B6F52E11B54E7C00533386 /* LROAuth2ClientDelegate.h */, 279 | ); 280 | name = Classes; 281 | path = Vendor/LROAuth2Client/Classes; 282 | sourceTree = ""; 283 | }; 284 | A3B6F53A11B54E8D00533386 /* ASIHTTPRequest */ = { 285 | isa = PBXGroup; 286 | children = ( 287 | A3B6F5C811B54F1100533386 /* Reachability.h */, 288 | A3B6F5C911B54F1100533386 /* Reachability.m */, 289 | A3B6F54811B54EE600533386 /* ASIAuthenticationDialog.h */, 290 | A3B6F54911B54EE600533386 /* ASIAuthenticationDialog.m */, 291 | A3B6F54A11B54EE600533386 /* ASIFormDataRequest.h */, 292 | A3B6F54B11B54EE600533386 /* ASIFormDataRequest.m */, 293 | A3B6F54C11B54EE600533386 /* ASIHTTPRequest.h */, 294 | A3B6F54D11B54EE600533386 /* ASIHTTPRequest.m */, 295 | A3B6F54F11B54EE600533386 /* ASIHTTPRequestDelegate.h */, 296 | A3B6F55011B54EE600533386 /* ASIInputStream.h */, 297 | A3B6F55111B54EE600533386 /* ASIInputStream.m */, 298 | A3B6F55211B54EE600533386 /* ASINetworkQueue.h */, 299 | A3B6F55311B54EE600533386 /* ASINetworkQueue.m */, 300 | A3B6F55411B54EE600533386 /* ASINSStringAdditions.h */, 301 | A3B6F55511B54EE600533386 /* ASINSStringAdditions.m */, 302 | A3B6F55611B54EE600533386 /* ASIProgressDelegate.h */, 303 | A3B6F55711B54EE600533386 /* CloudFiles */, 304 | A3B6F56611B54EE600533386 /* S3 */, 305 | ); 306 | name = ASIHTTPRequest; 307 | path = Vendor/LROAuth2Client/Vendor/ASIHTTPRequest; 308 | sourceTree = ""; 309 | }; 310 | A3B6F55711B54EE600533386 /* CloudFiles */ = { 311 | isa = PBXGroup; 312 | children = ( 313 | A3B6F55811B54EE600533386 /* ASICloudFilesCDNRequest.h */, 314 | A3B6F55911B54EE600533386 /* ASICloudFilesCDNRequest.m */, 315 | A3B6F55A11B54EE600533386 /* ASICloudFilesContainer.h */, 316 | A3B6F55B11B54EE600533386 /* ASICloudFilesContainer.m */, 317 | A3B6F55C11B54EE600533386 /* ASICloudFilesContainerRequest.h */, 318 | A3B6F55D11B54EE600533386 /* ASICloudFilesContainerRequest.m */, 319 | A3B6F55E11B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.h */, 320 | A3B6F55F11B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.m */, 321 | A3B6F56011B54EE600533386 /* ASICloudFilesObject.h */, 322 | A3B6F56111B54EE600533386 /* ASICloudFilesObject.m */, 323 | A3B6F56211B54EE600533386 /* ASICloudFilesObjectRequest.h */, 324 | A3B6F56311B54EE600533386 /* ASICloudFilesObjectRequest.m */, 325 | A3B6F56411B54EE600533386 /* ASICloudFilesRequest.h */, 326 | A3B6F56511B54EE600533386 /* ASICloudFilesRequest.m */, 327 | ); 328 | name = CloudFiles; 329 | path = Classes/CloudFiles; 330 | sourceTree = ""; 331 | }; 332 | A3B6F56611B54EE600533386 /* S3 */ = { 333 | isa = PBXGroup; 334 | children = ( 335 | A3B6F56711B54EE600533386 /* ASIS3Bucket.h */, 336 | A3B6F56811B54EE600533386 /* ASIS3Bucket.m */, 337 | A3B6F56911B54EE600533386 /* ASIS3BucketObject.h */, 338 | A3B6F56A11B54EE600533386 /* ASIS3BucketObject.m */, 339 | A3B6F56B11B54EE600533386 /* ASIS3BucketRequest.h */, 340 | A3B6F56C11B54EE600533386 /* ASIS3BucketRequest.m */, 341 | A3B6F56D11B54EE600533386 /* ASIS3ObjectRequest.h */, 342 | A3B6F56E11B54EE600533386 /* ASIS3ObjectRequest.m */, 343 | A3B6F56F11B54EE600533386 /* ASIS3Request.h */, 344 | A3B6F57011B54EE600533386 /* ASIS3Request.m */, 345 | A3B6F57111B54EE600533386 /* ASIS3ServiceRequest.h */, 346 | A3B6F57211B54EE600533386 /* ASIS3ServiceRequest.m */, 347 | ); 348 | name = S3; 349 | path = Classes/S3; 350 | sourceTree = ""; 351 | }; 352 | A3B6F63311B5509D00533386 /* Controllers */ = { 353 | isa = PBXGroup; 354 | children = ( 355 | 28D7ACF60DDB3853001CB0EB /* LROAuth2DemoViewController.h */, 356 | 28D7ACF70DDB3853001CB0EB /* LROAuth2DemoViewController.m */, 357 | A3B6F63A11B550ED00533386 /* OAuthRequestController.h */, 358 | A3B6F63B11B550ED00533386 /* OAuthRequestController.m */, 359 | ); 360 | name = Controllers; 361 | sourceTree = ""; 362 | }; 363 | A3FD764511E4A357008A44FB /* YAJL */ = { 364 | isa = PBXGroup; 365 | children = ( 366 | A3FD76A011E4A496008A44FB /* YAJL_GTMBase64.h */, 367 | A3FD76A111E4A496008A44FB /* YAJL_GTMBase64.m */, 368 | A3FD769111E4A488008A44FB /* NSObject+YAJL.h */, 369 | A3FD769211E4A488008A44FB /* NSObject+YAJL.m */, 370 | A3FD769311E4A488008A44FB /* YAJL.h */, 371 | A3FD769411E4A488008A44FB /* YAJLDocument.h */, 372 | A3FD769511E4A488008A44FB /* YAJLDocument.m */, 373 | A3FD769611E4A488008A44FB /* YAJLGen.h */, 374 | A3FD769711E4A488008A44FB /* YAJLGen.m */, 375 | A3FD769811E4A488008A44FB /* YAJLParser.h */, 376 | A3FD769911E4A488008A44FB /* YAJLParser.m */, 377 | A3FD767211E4A46D008A44FB /* src */, 378 | ); 379 | name = YAJL; 380 | sourceTree = ""; 381 | }; 382 | A3FD767211E4A46D008A44FB /* src */ = { 383 | isa = PBXGroup; 384 | children = ( 385 | A3FD767311E4A46D008A44FB /* api */, 386 | A3FD767911E4A46D008A44FB /* yajl.c */, 387 | A3FD767B11E4A46D008A44FB /* yajl_alloc.c */, 388 | A3FD767C11E4A46D008A44FB /* yajl_alloc.h */, 389 | A3FD767D11E4A46D008A44FB /* yajl_buf.c */, 390 | A3FD767E11E4A46D008A44FB /* yajl_buf.h */, 391 | A3FD767F11E4A46D008A44FB /* yajl_bytestack.h */, 392 | A3FD768011E4A46D008A44FB /* yajl_encode.c */, 393 | A3FD768111E4A46D008A44FB /* yajl_encode.h */, 394 | A3FD768211E4A46D008A44FB /* yajl_gen.c */, 395 | A3FD768311E4A46D008A44FB /* yajl_lex.c */, 396 | A3FD768411E4A46D008A44FB /* yajl_lex.h */, 397 | A3FD768511E4A46D008A44FB /* yajl_parser.c */, 398 | A3FD768611E4A46D008A44FB /* yajl_parser.h */, 399 | ); 400 | name = src; 401 | path = "Vendor/LROAuth2Client/Vendor/yajl-objc/yajl-1.0.9/src"; 402 | sourceTree = ""; 403 | }; 404 | A3FD767311E4A46D008A44FB /* api */ = { 405 | isa = PBXGroup; 406 | children = ( 407 | A3FD767411E4A46D008A44FB /* yajl_common.h */, 408 | A3FD767511E4A46D008A44FB /* yajl_gen.h */, 409 | A3FD767611E4A46D008A44FB /* yajl_parse.h */, 410 | ); 411 | path = api; 412 | sourceTree = ""; 413 | }; 414 | /* End PBXGroup section */ 415 | 416 | /* Begin PBXNativeTarget section */ 417 | 1D6058900D05DD3D006BFB54 /* LROAuth2Demo */ = { 418 | isa = PBXNativeTarget; 419 | buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "LROAuth2Demo" */; 420 | buildPhases = ( 421 | 1D60588D0D05DD3D006BFB54 /* Resources */, 422 | 1D60588E0D05DD3D006BFB54 /* Sources */, 423 | 1D60588F0D05DD3D006BFB54 /* Frameworks */, 424 | ); 425 | buildRules = ( 426 | ); 427 | dependencies = ( 428 | ); 429 | name = LROAuth2Demo; 430 | productName = LROAuth2Demo; 431 | productReference = 1D6058910D05DD3D006BFB54 /* LROAuth2Demo.app */; 432 | productType = "com.apple.product-type.application"; 433 | }; 434 | /* End PBXNativeTarget section */ 435 | 436 | /* Begin PBXProject section */ 437 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 438 | isa = PBXProject; 439 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "LROAuth2Demo" */; 440 | compatibilityVersion = "Xcode 3.1"; 441 | hasScannedForEncodings = 1; 442 | mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; 443 | projectDirPath = ""; 444 | projectRoot = ""; 445 | targets = ( 446 | 1D6058900D05DD3D006BFB54 /* LROAuth2Demo */, 447 | ); 448 | }; 449 | /* End PBXProject section */ 450 | 451 | /* Begin PBXResourcesBuildPhase section */ 452 | 1D60588D0D05DD3D006BFB54 /* Resources */ = { 453 | isa = PBXResourcesBuildPhase; 454 | buildActionMask = 2147483647; 455 | files = ( 456 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, 457 | 2899E5220DE3E06400AC0155 /* LROAuth2DemoViewController.xib in Resources */, 458 | A3B6F63E11B550ED00533386 /* OAuthRequestController.xib in Resources */, 459 | ); 460 | runOnlyForDeploymentPostprocessing = 0; 461 | }; 462 | /* End PBXResourcesBuildPhase section */ 463 | 464 | /* Begin PBXSourcesBuildPhase section */ 465 | 1D60588E0D05DD3D006BFB54 /* Sources */ = { 466 | isa = PBXSourcesBuildPhase; 467 | buildActionMask = 2147483647; 468 | files = ( 469 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 470 | 1D3623260D0F684500981E51 /* LROAuth2DemoAppDelegate.m in Sources */, 471 | 28D7ACF80DDB3853001CB0EB /* LROAuth2DemoViewController.m in Sources */, 472 | A3B6F53511B54E7C00533386 /* LROAuth2AccessToken.m in Sources */, 473 | A3B6F53611B54E7C00533386 /* LROAuth2Client.m in Sources */, 474 | A3B6F53711B54E7C00533386 /* NSDictionary+QueryString.m in Sources */, 475 | A3B6F53811B54E7C00533386 /* NSString+QueryString.m in Sources */, 476 | A3B6F53911B54E7C00533386 /* NSURL+QueryInspector.m in Sources */, 477 | A3B6F58711B54EE600533386 /* ASIAuthenticationDialog.m in Sources */, 478 | A3B6F58811B54EE600533386 /* ASIFormDataRequest.m in Sources */, 479 | A3B6F58911B54EE600533386 /* ASIHTTPRequest.m in Sources */, 480 | A3B6F58A11B54EE600533386 /* ASIInputStream.m in Sources */, 481 | A3B6F58B11B54EE600533386 /* ASINetworkQueue.m in Sources */, 482 | A3B6F58C11B54EE600533386 /* ASINSStringAdditions.m in Sources */, 483 | A3B6F58D11B54EE600533386 /* ASICloudFilesCDNRequest.m in Sources */, 484 | A3B6F58E11B54EE600533386 /* ASICloudFilesContainer.m in Sources */, 485 | A3B6F58F11B54EE600533386 /* ASICloudFilesContainerRequest.m in Sources */, 486 | A3B6F59011B54EE600533386 /* ASICloudFilesContainerXMLParserDelegate.m in Sources */, 487 | A3B6F59111B54EE600533386 /* ASICloudFilesObject.m in Sources */, 488 | A3B6F59211B54EE600533386 /* ASICloudFilesObjectRequest.m in Sources */, 489 | A3B6F59311B54EE600533386 /* ASICloudFilesRequest.m in Sources */, 490 | A3B6F59411B54EE600533386 /* ASIS3Bucket.m in Sources */, 491 | A3B6F59511B54EE600533386 /* ASIS3BucketObject.m in Sources */, 492 | A3B6F59611B54EE600533386 /* ASIS3BucketRequest.m in Sources */, 493 | A3B6F59711B54EE600533386 /* ASIS3ObjectRequest.m in Sources */, 494 | A3B6F59811B54EE600533386 /* ASIS3Request.m in Sources */, 495 | A3B6F59911B54EE600533386 /* ASIS3ServiceRequest.m in Sources */, 496 | A3B6F5CA11B54F1100533386 /* Reachability.m in Sources */, 497 | A3B6F63D11B550ED00533386 /* OAuthRequestController.m in Sources */, 498 | A3FD768911E4A46D008A44FB /* yajl.c in Sources */, 499 | A3FD768B11E4A46D008A44FB /* yajl_alloc.c in Sources */, 500 | A3FD768C11E4A46D008A44FB /* yajl_buf.c in Sources */, 501 | A3FD768D11E4A46D008A44FB /* yajl_encode.c in Sources */, 502 | A3FD768E11E4A46D008A44FB /* yajl_gen.c in Sources */, 503 | A3FD768F11E4A46D008A44FB /* yajl_lex.c in Sources */, 504 | A3FD769011E4A46D008A44FB /* yajl_parser.c in Sources */, 505 | A3FD769A11E4A488008A44FB /* NSObject+YAJL.m in Sources */, 506 | A3FD769B11E4A488008A44FB /* YAJLDocument.m in Sources */, 507 | A3FD769C11E4A488008A44FB /* YAJLGen.m in Sources */, 508 | A3FD769D11E4A488008A44FB /* YAJLParser.m in Sources */, 509 | A3FD76A211E4A496008A44FB /* YAJL_GTMBase64.m in Sources */, 510 | ); 511 | runOnlyForDeploymentPostprocessing = 0; 512 | }; 513 | /* End PBXSourcesBuildPhase section */ 514 | 515 | /* Begin XCBuildConfiguration section */ 516 | 1D6058940D05DD3E006BFB54 /* Debug */ = { 517 | isa = XCBuildConfiguration; 518 | buildSettings = { 519 | ALWAYS_SEARCH_USER_PATHS = NO; 520 | COPY_PHASE_STRIP = NO; 521 | GCC_DYNAMIC_NO_PIC = NO; 522 | GCC_OPTIMIZATION_LEVEL = 0; 523 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 524 | GCC_PREFIX_HEADER = LROAuth2Demo_Prefix.pch; 525 | INFOPLIST_FILE = "LROAuth2Demo-Info.plist"; 526 | PRODUCT_NAME = LROAuth2Demo; 527 | }; 528 | name = Debug; 529 | }; 530 | 1D6058950D05DD3E006BFB54 /* Release */ = { 531 | isa = XCBuildConfiguration; 532 | buildSettings = { 533 | ALWAYS_SEARCH_USER_PATHS = NO; 534 | COPY_PHASE_STRIP = YES; 535 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 536 | GCC_PREFIX_HEADER = LROAuth2Demo_Prefix.pch; 537 | INFOPLIST_FILE = "LROAuth2Demo-Info.plist"; 538 | PRODUCT_NAME = LROAuth2Demo; 539 | VALIDATE_PRODUCT = YES; 540 | }; 541 | name = Release; 542 | }; 543 | C01FCF4F08A954540054247B /* Debug */ = { 544 | isa = XCBuildConfiguration; 545 | buildSettings = { 546 | "ARCHS[sdk=iphoneos*]" = armv7; 547 | "ARCHS[sdk=iphonesimulator*]" = i386; 548 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 549 | GCC_C_LANGUAGE_STANDARD = c99; 550 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 551 | GCC_WARN_UNUSED_VARIABLE = YES; 552 | PREBINDING = NO; 553 | SDKROOT = iphoneos3.2; 554 | TARGETED_DEVICE_FAMILY = 2; 555 | }; 556 | name = Debug; 557 | }; 558 | C01FCF5008A954540054247B /* Release */ = { 559 | isa = XCBuildConfiguration; 560 | buildSettings = { 561 | "ARCHS[sdk=iphoneos*]" = armv7; 562 | "ARCHS[sdk=iphonesimulator*]" = i386; 563 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 564 | GCC_C_LANGUAGE_STANDARD = c99; 565 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 566 | GCC_WARN_UNUSED_VARIABLE = YES; 567 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 568 | PREBINDING = NO; 569 | SDKROOT = iphoneos3.2; 570 | TARGETED_DEVICE_FAMILY = 2; 571 | }; 572 | name = Release; 573 | }; 574 | /* End XCBuildConfiguration section */ 575 | 576 | /* Begin XCConfigurationList section */ 577 | 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "LROAuth2Demo" */ = { 578 | isa = XCConfigurationList; 579 | buildConfigurations = ( 580 | 1D6058940D05DD3E006BFB54 /* Debug */, 581 | 1D6058950D05DD3E006BFB54 /* Release */, 582 | ); 583 | defaultConfigurationIsVisible = 0; 584 | defaultConfigurationName = Release; 585 | }; 586 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "LROAuth2Demo" */ = { 587 | isa = XCConfigurationList; 588 | buildConfigurations = ( 589 | C01FCF4F08A954540054247B /* Debug */, 590 | C01FCF5008A954540054247B /* Release */, 591 | ); 592 | defaultConfigurationIsVisible = 0; 593 | defaultConfigurationName = Release; 594 | }; 595 | /* End XCConfigurationList section */ 596 | }; 597 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 598 | } 599 | -------------------------------------------------------------------------------- /LROAuth2DemoViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 800 5 | 10D2094 6 | 762 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 87 12 | 13 | 14 | YES 15 | 16 | 17 | YES 18 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 19 | 20 | 21 | YES 22 | 23 | YES 24 | 25 | 26 | YES 27 | 28 | 29 | 30 | YES 31 | 32 | IBFilesOwner 33 | IBIPadFramework 34 | 35 | 36 | IBFirstResponder 37 | IBIPadFramework 38 | 39 | 40 | 41 | 274 42 | {{488, 20}, {320, 247}} 43 | 44 | 3 45 | MQA 46 | 47 | YES 48 | IBIPadFramework 49 | NO 50 | 1 51 | 0 52 | YES 53 | 44 54 | 22 55 | 22 56 | 57 | 58 | 59 | 60 | YES 61 | 62 | 63 | view 64 | 65 | 66 | 67 | 5 68 | 69 | 70 | 71 | delegate 72 | 73 | 74 | 75 | 6 76 | 77 | 78 | 79 | dataSource 80 | 81 | 82 | 83 | 7 84 | 85 | 86 | 87 | 88 | YES 89 | 90 | 0 91 | 92 | 93 | 94 | 95 | 96 | -1 97 | 98 | 99 | File's Owner 100 | 101 | 102 | -2 103 | 104 | 105 | 106 | 107 | 4 108 | 109 | 110 | 111 | 112 | 113 | 114 | YES 115 | 116 | YES 117 | -1.CustomClassName 118 | -2.CustomClassName 119 | 4.IBPluginDependency 120 | 121 | 122 | YES 123 | LROAuth2DemoViewController 124 | UIResponder 125 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 126 | 127 | 128 | 129 | YES 130 | 131 | 132 | YES 133 | 134 | 135 | 136 | 137 | YES 138 | 139 | 140 | YES 141 | 142 | 143 | 144 | 7 145 | 146 | 147 | 148 | YES 149 | 150 | LROAuth2DemoViewController 151 | UITableViewController 152 | 153 | IBProjectSource 154 | Classes/LROAuth2DemoViewController.h 155 | 156 | 157 | 158 | 159 | YES 160 | 161 | NSObject 162 | 163 | IBFrameworkSource 164 | Foundation.framework/Headers/NSError.h 165 | 166 | 167 | 168 | NSObject 169 | 170 | IBFrameworkSource 171 | Foundation.framework/Headers/NSFileManager.h 172 | 173 | 174 | 175 | NSObject 176 | 177 | IBFrameworkSource 178 | Foundation.framework/Headers/NSKeyValueCoding.h 179 | 180 | 181 | 182 | NSObject 183 | 184 | IBFrameworkSource 185 | Foundation.framework/Headers/NSKeyValueObserving.h 186 | 187 | 188 | 189 | NSObject 190 | 191 | IBFrameworkSource 192 | Foundation.framework/Headers/NSKeyedArchiver.h 193 | 194 | 195 | 196 | NSObject 197 | 198 | IBFrameworkSource 199 | Foundation.framework/Headers/NSNetServices.h 200 | 201 | 202 | 203 | NSObject 204 | 205 | IBFrameworkSource 206 | Foundation.framework/Headers/NSObject.h 207 | 208 | 209 | 210 | NSObject 211 | 212 | IBFrameworkSource 213 | Foundation.framework/Headers/NSPort.h 214 | 215 | 216 | 217 | NSObject 218 | 219 | IBFrameworkSource 220 | Foundation.framework/Headers/NSRunLoop.h 221 | 222 | 223 | 224 | NSObject 225 | 226 | IBFrameworkSource 227 | Foundation.framework/Headers/NSStream.h 228 | 229 | 230 | 231 | NSObject 232 | 233 | IBFrameworkSource 234 | Foundation.framework/Headers/NSThread.h 235 | 236 | 237 | 238 | NSObject 239 | 240 | IBFrameworkSource 241 | Foundation.framework/Headers/NSURL.h 242 | 243 | 244 | 245 | NSObject 246 | 247 | IBFrameworkSource 248 | Foundation.framework/Headers/NSURLConnection.h 249 | 250 | 251 | 252 | NSObject 253 | 254 | IBFrameworkSource 255 | Foundation.framework/Headers/NSXMLParser.h 256 | 257 | 258 | 259 | NSObject 260 | 261 | IBFrameworkSource 262 | UIKit.framework/Headers/UIAccessibility.h 263 | 264 | 265 | 266 | NSObject 267 | 268 | IBFrameworkSource 269 | UIKit.framework/Headers/UINibLoading.h 270 | 271 | 272 | 273 | NSObject 274 | 275 | IBFrameworkSource 276 | UIKit.framework/Headers/UIResponder.h 277 | 278 | 279 | 280 | UIResponder 281 | NSObject 282 | 283 | 284 | 285 | UIScrollView 286 | UIView 287 | 288 | IBFrameworkSource 289 | UIKit.framework/Headers/UIScrollView.h 290 | 291 | 292 | 293 | UISearchBar 294 | UIView 295 | 296 | IBFrameworkSource 297 | UIKit.framework/Headers/UISearchBar.h 298 | 299 | 300 | 301 | UISearchDisplayController 302 | NSObject 303 | 304 | IBFrameworkSource 305 | UIKit.framework/Headers/UISearchDisplayController.h 306 | 307 | 308 | 309 | UITableView 310 | UIScrollView 311 | 312 | IBFrameworkSource 313 | UIKit.framework/Headers/UITableView.h 314 | 315 | 316 | 317 | UITableViewController 318 | UIViewController 319 | 320 | IBFrameworkSource 321 | UIKit.framework/Headers/UITableViewController.h 322 | 323 | 324 | 325 | UIView 326 | 327 | IBFrameworkSource 328 | UIKit.framework/Headers/UITextField.h 329 | 330 | 331 | 332 | UIView 333 | UIResponder 334 | 335 | IBFrameworkSource 336 | UIKit.framework/Headers/UIView.h 337 | 338 | 339 | 340 | UIViewController 341 | 342 | IBFrameworkSource 343 | UIKit.framework/Headers/UINavigationController.h 344 | 345 | 346 | 347 | UIViewController 348 | 349 | IBFrameworkSource 350 | UIKit.framework/Headers/UIPopoverController.h 351 | 352 | 353 | 354 | UIViewController 355 | 356 | IBFrameworkSource 357 | UIKit.framework/Headers/UISplitViewController.h 358 | 359 | 360 | 361 | UIViewController 362 | 363 | IBFrameworkSource 364 | UIKit.framework/Headers/UITabBarController.h 365 | 366 | 367 | 368 | UIViewController 369 | UIResponder 370 | 371 | IBFrameworkSource 372 | UIKit.framework/Headers/UIViewController.h 373 | 374 | 375 | 376 | 377 | 0 378 | IBIPadFramework 379 | 380 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 381 | 382 | 383 | 384 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 385 | 386 | 387 | YES 388 | LROAuth2Demo.xcodeproj 389 | 3 390 | 87 391 | 392 | 393 | -------------------------------------------------------------------------------- /LROAuth2Demo_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'LROAuth2Demo' target in the 'LROAuth2Demo' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #import "ASIHTTPRequestConfig.h" // ensure our local copy is used instead 9 | #endif 10 | -------------------------------------------------------------------------------- /MainWindow.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 800 5 | 10D540 6 | 760 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 81 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 | 42 | 292 43 | {768, 1024} 44 | 45 | 46 | 1 47 | MSAxIDEAA 48 | 49 | NO 50 | NO 51 | 52 | 2 53 | 54 | IBIPadFramework 55 | YES 56 | 57 | 58 | IBIPadFramework 59 | 60 | 61 | LROAuth2DemoViewController 62 | 63 | IBIPadFramework 64 | 65 | 66 | 67 | 68 | YES 69 | 70 | 71 | viewController 72 | 73 | 74 | 75 | 8 76 | 77 | 78 | 79 | delegate 80 | 81 | 82 | 83 | 9 84 | 85 | 86 | 87 | window 88 | 89 | 90 | 91 | 10 92 | 93 | 94 | 95 | 96 | YES 97 | 98 | 0 99 | 100 | 101 | 102 | 103 | 104 | -1 105 | 106 | 107 | File's Owner 108 | 109 | 110 | -2 111 | 112 | 113 | 114 | 115 | 2 116 | 117 | 118 | 119 | 120 | 6 121 | 122 | 123 | LROAuth2Demo App Delegate 124 | 125 | 126 | 7 127 | 128 | 129 | 130 | 131 | 132 | 133 | YES 134 | 135 | YES 136 | -1.CustomClassName 137 | -2.CustomClassName 138 | 2.IBEditorWindowLastContentRect 139 | 2.IBPluginDependency 140 | 6.CustomClassName 141 | 6.IBPluginDependency 142 | 7.CustomClassName 143 | 7.IBEditorWindowLastContentRect 144 | 7.IBPluginDependency 145 | 146 | 147 | YES 148 | UIApplication 149 | UIResponder 150 | {{200, 57}, {783, 799}} 151 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 152 | LROAuth2DemoAppDelegate 153 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 154 | LROAuth2DemoViewController 155 | {{512, 351}, {320, 480}} 156 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 157 | 158 | 159 | 160 | YES 161 | 162 | 163 | YES 164 | 165 | 166 | 167 | 168 | YES 169 | 170 | 171 | YES 172 | 173 | 174 | 175 | 10 176 | 177 | 178 | 179 | YES 180 | 181 | LROAuth2DemoAppDelegate 182 | NSObject 183 | 184 | YES 185 | 186 | YES 187 | viewController 188 | window 189 | 190 | 191 | YES 192 | LROAuth2DemoViewController 193 | UIWindow 194 | 195 | 196 | 197 | IBProjectSource 198 | Classes/LROAuth2DemoAppDelegate.h 199 | 200 | 201 | 202 | LROAuth2DemoViewController 203 | UIViewController 204 | 205 | IBProjectSource 206 | Classes/LROAuth2DemoViewController.h 207 | 208 | 209 | 210 | 211 | YES 212 | 213 | NSObject 214 | 215 | IBFrameworkSource 216 | Foundation.framework/Headers/NSError.h 217 | 218 | 219 | 220 | NSObject 221 | 222 | IBFrameworkSource 223 | Foundation.framework/Headers/NSFileManager.h 224 | 225 | 226 | 227 | NSObject 228 | 229 | IBFrameworkSource 230 | Foundation.framework/Headers/NSKeyValueCoding.h 231 | 232 | 233 | 234 | NSObject 235 | 236 | IBFrameworkSource 237 | Foundation.framework/Headers/NSKeyValueObserving.h 238 | 239 | 240 | 241 | NSObject 242 | 243 | IBFrameworkSource 244 | Foundation.framework/Headers/NSKeyedArchiver.h 245 | 246 | 247 | 248 | NSObject 249 | 250 | IBFrameworkSource 251 | Foundation.framework/Headers/NSNetServices.h 252 | 253 | 254 | 255 | NSObject 256 | 257 | IBFrameworkSource 258 | Foundation.framework/Headers/NSObject.h 259 | 260 | 261 | 262 | NSObject 263 | 264 | IBFrameworkSource 265 | Foundation.framework/Headers/NSPort.h 266 | 267 | 268 | 269 | NSObject 270 | 271 | IBFrameworkSource 272 | Foundation.framework/Headers/NSRunLoop.h 273 | 274 | 275 | 276 | NSObject 277 | 278 | IBFrameworkSource 279 | Foundation.framework/Headers/NSStream.h 280 | 281 | 282 | 283 | NSObject 284 | 285 | IBFrameworkSource 286 | Foundation.framework/Headers/NSThread.h 287 | 288 | 289 | 290 | NSObject 291 | 292 | IBFrameworkSource 293 | Foundation.framework/Headers/NSURL.h 294 | 295 | 296 | 297 | NSObject 298 | 299 | IBFrameworkSource 300 | Foundation.framework/Headers/NSURLConnection.h 301 | 302 | 303 | 304 | NSObject 305 | 306 | IBFrameworkSource 307 | Foundation.framework/Headers/NSXMLParser.h 308 | 309 | 310 | 311 | NSObject 312 | 313 | IBFrameworkSource 314 | UIKit.framework/Headers/UIAccessibility.h 315 | 316 | 317 | 318 | NSObject 319 | 320 | IBFrameworkSource 321 | UIKit.framework/Headers/UINibLoading.h 322 | 323 | 324 | 325 | NSObject 326 | 327 | IBFrameworkSource 328 | UIKit.framework/Headers/UIResponder.h 329 | 330 | 331 | 332 | UIApplication 333 | UIResponder 334 | 335 | IBFrameworkSource 336 | UIKit.framework/Headers/UIApplication.h 337 | 338 | 339 | 340 | UIResponder 341 | NSObject 342 | 343 | 344 | 345 | UIResponder 346 | 347 | IBFrameworkSource 348 | UIKit.framework/Headers/UITextInput.h 349 | 350 | 351 | 352 | UISearchBar 353 | UIView 354 | 355 | IBFrameworkSource 356 | UIKit.framework/Headers/UISearchBar.h 357 | 358 | 359 | 360 | UISearchDisplayController 361 | NSObject 362 | 363 | IBFrameworkSource 364 | UIKit.framework/Headers/UISearchDisplayController.h 365 | 366 | 367 | 368 | UIView 369 | 370 | IBFrameworkSource 371 | UIKit.framework/Headers/UITextField.h 372 | 373 | 374 | 375 | UIView 376 | UIResponder 377 | 378 | IBFrameworkSource 379 | UIKit.framework/Headers/UIView.h 380 | 381 | 382 | 383 | UIViewController 384 | 385 | IBFrameworkSource 386 | UIKit.framework/Headers/UINavigationController.h 387 | 388 | 389 | 390 | UIViewController 391 | 392 | IBFrameworkSource 393 | UIKit.framework/Headers/UISplitViewController.h 394 | 395 | 396 | 397 | UIViewController 398 | 399 | IBFrameworkSource 400 | UIKit.framework/Headers/UITabBarController.h 401 | 402 | 403 | 404 | UIViewController 405 | UIResponder 406 | 407 | IBFrameworkSource 408 | UIKit.framework/Headers/UIViewController.h 409 | 410 | 411 | 412 | UIWindow 413 | UIView 414 | 415 | IBFrameworkSource 416 | UIKit.framework/Headers/UIWindow.h 417 | 418 | 419 | 420 | 421 | 0 422 | IBIPadFramework 423 | 424 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 425 | 426 | 427 | 428 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 429 | 430 | 431 | YES 432 | LROAuth2Demo.xcodeproj 433 | 3 434 | 81 435 | 436 | 437 | -------------------------------------------------------------------------------- /OAuthCredentials-Example.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Use this to define your credentials. 3 | * 4 | * You don't want to check this in to version control if you are sharing your code, 5 | * you should keep your app secret a secret! 6 | * 7 | * For the purposes of this Facebook example, your client ID is your API key. 8 | */ 9 | 10 | #define kOAuthClientID @"my-client-id" 11 | #define kOAuthClientSecret @"my-secret" 12 | #define kOAuthClientAuthURL @"http://example.com/oauth" 13 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | # LROAuth2Client Demo Project 2 | 3 | This is a simple demo project for the [LROAuth2Client](http://github.com/lukeredpath/LROAuth2Client) library. 4 | 5 | You can read more about it on [my blog](http://lukeredpath.co.uk/blog/oauth2-for-iphone-and-ipad-applications.html). 6 | 7 | ## Getting started 8 | 9 | Once you've cloned the project, you'll need to initialize the project submodules: 10 | 11 | git submodule update --init --recursive 12 | 13 | Next, you'll need to create a local copy of OAuthCredentials.h in the root of the project. An example file is provided. To actually run the example, you'll need to sign up with the Facebook Graph API and register an application. Enter your app's credentials in this file. 14 | 15 | At this stage, everything should build and run. 16 | -------------------------------------------------------------------------------- /Vendor/ASIHTTPRequestConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // ASIHTTPRequestConfig.h 3 | // Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest 4 | // 5 | // Created by Ben Copsey on 14/12/2009. 6 | // Copyright 2009 All-Seeing Interactive. All rights reserved. 7 | // 8 | 9 | 10 | // ====== 11 | // Debug output configuration options 12 | // ====== 13 | 14 | // When set to 1 ASIHTTPRequests will print information about what a request is doing 15 | #ifndef DEBUG_REQUEST_STATUS 16 | #define DEBUG_REQUEST_STATUS 0 17 | #endif 18 | 19 | // When set to 1, ASIFormDataRequests will print information about the request body to the console 20 | #ifndef DEBUG_FORM_DATA_REQUEST 21 | #define DEBUG_FORM_DATA_REQUEST 0 22 | #endif 23 | 24 | // When set to 1, ASIHTTPRequests will print information about bandwidth throttling to the console 25 | #ifndef DEBUG_THROTTLING 26 | #define DEBUG_THROTTLING 0 27 | #endif 28 | 29 | // When set to 1, ASIHTTPRequests will print information about persistent connections to the console 30 | #ifndef DEBUG_PERSISTENT_CONNECTIONS 31 | #define DEBUG_PERSISTENT_CONNECTIONS 0 32 | #endif 33 | 34 | // ====== 35 | // Reachability API (iPhone only) 36 | // ====== 37 | 38 | /* 39 | ASIHTTPRequest uses Apple's Reachability class (http://developer.apple.com/iphone/library/samplecode/Reachability/) to turn bandwidth throttling on and off automatically when shouldThrottleBandwidthForWWAN is set to YES on iPhone OS 40 | 41 | There are two versions of Apple's Reachability class, both of which are included in the source distribution of ASIHTTPRequest in the External/Reachability folder. 42 | 43 | * Version 2.0 is the latest version. You should use this if you are targeting iPhone OS 3.x and later 44 | To use Version 2.0, set this to 1, and include Reachability.h + Reachability.m from the Reachability 2.0 folder in your project 45 | 46 | * Version 1.5 is the old version, but it is compatible with both iPhone OS 2.2.1 and iPhone OS 3.0 and later. You should use this if your application needs to work on iPhone OS 2.2.1. 47 | To use Version 1.5, set this to 0, and include Reachability.h + Reachability.m from the Reachability 1.5 folder in your project 48 | 49 | This config option is not used for apps targeting Mac OS X 50 | */ 51 | 52 | #ifndef REACHABILITY_20_API 53 | #define REACHABILITY_20_API 2 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LROAuth2Demo 4 | // 5 | // Created by Luke Redpath on 01/06/2010. 6 | // Copyright LJR Software Limited 2010. 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 | --------------------------------------------------------------------------------