Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

a bunch of the initial app

  • Loading branch information...
commit 870f3cb6b63a6cdc83ce97e710e8639e59f0e5ed 1 parent a2df4f3
@rvanmelle rvanmelle authored
Showing with 18,470 additions and 25 deletions.
  1. +11 −0 .gitignore
  2. +57 −0 Classes/RunKeeper.h
  3. +276 −0 Classes/RunKeeper.m
  4. +8 −25 README.md
  5. BIN  images/connect-blue-black-300x57.png
  6. +749 −0 runkeepersample/runkeepersample.xcodeproj/project.pbxproj
  7. +17 −0 runkeepersample/runkeepersample/PositionTracker.h
  8. +40 −0 runkeepersample/runkeepersample/PositionTracker.m
  9. +22 −0 runkeepersample/runkeepersample/RootViewController.h
  10. +84 −0 runkeepersample/runkeepersample/RootViewController.m
  11. BIN  runkeepersample/runkeepersample/connect-blue-black-300x57.png
  12. +2 −0  runkeepersample/runkeepersample/en.lproj/InfoPlist.strings
  13. +542 −0 runkeepersample/runkeepersample/en.lproj/MainWindow.xib
  14. +337 −0 runkeepersample/runkeepersample/en.lproj/RootViewController.xib
  15. +17 −0 runkeepersample/runkeepersample/main.m
  16. +38 −0 runkeepersample/runkeepersample/runkeepersample-Info.plist
  17. +14 −0 runkeepersample/runkeepersample/runkeepersample-Prefix.pch
  18. +19 −0 runkeepersample/runkeepersample/runkeepersampleAppDelegate.h
  19. +73 −0 runkeepersample/runkeepersample/runkeepersampleAppDelegate.m
  20. +2 −0  runkeepersample/runkeepersampleTests/en.lproj/InfoPlist.strings
  21. +22 −0 runkeepersample/runkeepersampleTests/runkeepersampleTests-Info.plist
  22. +7 −0 runkeepersample/runkeepersampleTests/runkeepersampleTests-Prefix.pch
  23. +17 −0 runkeepersample/runkeepersampleTests/runkeepersampleTests.h
  24. +33 −0 runkeepersample/runkeepersampleTests/runkeepersampleTests.m
  25. +35 −0 vendor/ASI/ASIAuthenticationDialog.h
  26. +487 −0 vendor/ASI/ASIAuthenticationDialog.m
  27. +103 −0 vendor/ASI/ASICacheDelegate.h
  28. +42 −0 vendor/ASI/ASIDataCompressor.h
  29. +219 −0 vendor/ASI/ASIDataCompressor.m
  30. +41 −0 vendor/ASI/ASIDataDecompressor.h
  31. +218 −0 vendor/ASI/ASIDataDecompressor.m
  32. +46 −0 vendor/ASI/ASIDownloadCache.h
  33. +514 −0 vendor/ASI/ASIDownloadCache.m
  34. +76 −0 vendor/ASI/ASIFormDataRequest.h
  35. +361 −0 vendor/ASI/ASIFormDataRequest.m
  36. +1,004 −0 vendor/ASI/ASIHTTPRequest.h
  37. +5,107 −0 vendor/ASI/ASIHTTPRequest.m
  38. +37 −0 vendor/ASI/ASIHTTPRequestConfig.h
  39. +35 −0 vendor/ASI/ASIHTTPRequestDelegate.h
  40. +26 −0 vendor/ASI/ASIInputStream.h
  41. +138 −0 vendor/ASI/ASIInputStream.m
  42. +108 −0 vendor/ASI/ASINetworkQueue.h
  43. +343 −0 vendor/ASI/ASINetworkQueue.m
  44. +38 −0 vendor/ASI/ASIProgressDelegate.h
  45. +25 −0 vendor/OAuth2Client/NSData+NXOAuth2.h
  46. +48 −0 vendor/OAuth2Client/NSData+NXOAuth2.m
  47. +27 −0 vendor/OAuth2Client/NSString+NXOAuth2.h
  48. +81 −0 vendor/OAuth2Client/NSString+NXOAuth2.m
  49. +29 −0 vendor/OAuth2Client/NSURL+NXOAuth2.h
  50. +56 −0 vendor/OAuth2Client/NSURL+NXOAuth2.m
  51. +26 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2.h
  52. +47 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2AccessToken.h
  53. +288 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2AccessToken.m
  54. +108 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Client.h
  55. +369 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Client.m
  56. +28 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2ClientDelegate.h
  57. +97 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Connection.h
  58. +582 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Connection.m
  59. +60 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2ConnectionDelegate.h
  60. +108 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Constants.h
  61. +40 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2Constants.m
  62. +31 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2FileStreamWrapper.h
  63. +69 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2FileStreamWrapper.m
  64. +43 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2PostBodyPart.h
  65. +130 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2PostBodyPart.m
  66. +33 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2PostBodyStream.h
  67. +224 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2PostBodyStream.m
  68. +37 −0 vendor/OAuth2Client/OAuth2Client/NXOAuth2TrustDelegate.h
  69. +16 −0 vendor/OAuth2Client/OAuth2Client_Prefix.pch
  70. +193 −0 vendor/Reachability.h
  71. +814 −0 vendor/Reachability.m
  72. +67 −0 vendor/SBJson/NSObject+SBJson.h
  73. +58 −0 vendor/SBJson/NSObject+SBJson.m
  74. +84 −0 vendor/SBJson/SBJson.h
  75. +101 −0 vendor/SBJson/SBJsonParser.h
  76. +104 −0 vendor/SBJson/SBJsonParser.m
  77. +161 −0 vendor/SBJson/SBJsonStreamParser.h
  78. +264 −0 vendor/SBJson/SBJsonStreamParser.m
  79. +37 −0 vendor/SBJson/SBJsonStreamParserAccumulator.h
  80. +51 −0 vendor/SBJson/SBJsonStreamParserAccumulator.m
  81. +148 −0 vendor/SBJson/SBJsonStreamParserAdapter.h
  82. +171 −0 vendor/SBJson/SBJsonStreamParserAdapter.m
  83. +83 −0 vendor/SBJson/SBJsonStreamParserState.h
  84. +355 −0 vendor/SBJson/SBJsonStreamParserState.m
  85. +188 −0 vendor/SBJson/SBJsonStreamWriter.h
  86. +370 −0 vendor/SBJson/SBJsonStreamWriter.m
  87. +36 −0 vendor/SBJson/SBJsonStreamWriterAccumulator.h
  88. +56 −0 vendor/SBJson/SBJsonStreamWriterAccumulator.m
  89. +69 −0 vendor/SBJson/SBJsonStreamWriterState.h
  90. +139 −0 vendor/SBJson/SBJsonStreamWriterState.m
  91. +67 −0 vendor/SBJson/SBJsonTokeniser.h
  92. +463 −0 vendor/SBJson/SBJsonTokeniser.m
  93. +58 −0 vendor/SBJson/SBJsonUTF8Stream.h
  94. +143 −0 vendor/SBJson/SBJsonUTF8Stream.m
  95. +110 −0 vendor/SBJson/SBJsonWriter.h
  96. +113 −0 vendor/SBJson/SBJsonWriter.m
View
11 .gitignore
@@ -0,0 +1,11 @@
+# Xcode noise
+build
+*.pbxuser
+*.mode1v3
+*.mode2v3
+*.xcworkspace
+xcuserdata
+
+# OS X noise
+.DS_Store
+tmp
View
57 Classes/RunKeeper.h
@@ -0,0 +1,57 @@
+//
+// RunKeeper.h
+// rrgps-iphone
+//
+// Created by Reid van Melle on 11-09-14.
+// Copyright 2011 Brierwood Design Co-operative. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "NXOAuth2.h"
+
+typedef void(^RIBasicCompletionBlock)(void);
+typedef void(^RIJSONCompletionBlock)(id json);
+typedef void(^RINSStringCompletionBlock)(NSString *msg);
+typedef void(^RIBasicFailedBlock)(void);
+typedef void(^RIErrorDictFailedBlock)(NSDictionary *errors);
+
+typedef enum {
+ kRKRunning,
+ kRKCycling,
+ kRKMountainBiking,
+ kRKWalking,
+ kRKHiking,
+ kRKDownhillSkiing,
+ kRKXCountrySkiing,
+ kRKSnowboarding,
+ kRKSkating,
+ kRKSwimming,
+ kRKWheelchair,
+ kRKRowing,
+ kRKElliptical,
+ kRKOther
+} RunKeeperActivityType;
+
+@interface RunKeeper : NSObject <NXOAuth2ClientDelegate> {
+ NXOAuth2Client *oauthClient;
+ BOOL connected;
+ NSDictionary *paths;
+ NSNumber *userID;
+}
+
+@property (nonatomic, retain, readonly) NXOAuth2Client *oauthClient;
+@property (nonatomic, readonly) BOOL connected;
+@property (nonatomic, retain) NSDictionary *paths;
+@property (nonatomic, retain) NSNumber *userID;
+
++ (RunKeeper *)sharedRunKeeper;
+
+- (void)handleOpenURL:(NSURL *)url;
+- (void)connect;
+- (void)postActivity:(RunKeeperActivityType)activity start:(NSDate*)start distance:(NSNumber*)distance
+ duration:(NSNumber*)duration calories:(NSNumber*)calories heartRate:(NSNumber*)heartRate
+ notes:(NSString*)notes path:(NSArray*)path
+ success:(RIBasicCompletionBlock)success failed:(RIBasicFailedBlock)failed;
+
+
+@end
View
276 Classes/RunKeeper.m
@@ -0,0 +1,276 @@
+//
+// RunKeeper.m
+// rrgps-iphone
+//
+// Created by Reid van Melle on 11-09-14.
+// Copyright 2011 Brierwood Design Co-operative. All rights reserved.
+//
+
+#import "RunKeeper.h"
+#import "SynthesizeSingleton.h"
+#import "ASIHTTPRequest.h"
+#import "ASIFormDataRequest.h"
+#import "GTMNSDictionary+URLArguments.h"
+#import "JSON.h"
+#import "NSObject+SBJSON.h"
+
+#define kRunKeeperClientID @"bb22d96326844785909a32225799bb16"
+#define kRunKeeperClientSecret @"7d5cd12808b44e98a69561be2bad69b2"
+#define kRunKeeperAuthorizationURL @"https://runkeeper.com/apps/authorize"
+#define kRunKeeperAccessTokenURL @"https://runkeeper.com/apps/token"
+
+#define kRunKeeperBasePath @"https://api.runkeeper.com"
+#define kRunKeeperBaseURL @"/user/"
+
+#define kRKBackgroundActivitiesKey @"background_activities"
+#define kRKDiabetesKey @"diabetes"
+#define kRKFitnessActivitiesKey @"fitness_activities"
+#define kRKGeneralMeasurementsKey @"general_measurements"
+#define kRKNutritionKey @"nutrition"
+#define kRKProfileKey @"profile"
+#define kRKRecordsKey @"records"
+#define kRKSettingsKey @"settings"
+#define kRKSleepKey @"sleep"
+#define kRKStrengthTrainingActivitiesKey @"strength_training_activities"
+#define kRKTeamKey @"team"
+#define kRKUserIDKey @"userID"
+#define kRKWeightKey @"weight"
+
+@implementation RunKeeper
+
+@synthesize oauthClient, connected, paths, userID;
+
+SYNTHESIZE_SINGLETON_FOR_CLASS(RunKeeper);
+
+- (void)connect
+{
+ [self.oauthClient requestAccess];
+}
+
+- (void)handleOpenURL:(NSURL *)url
+{
+ [self.oauthClient openRedirectURL:url];
+}
+
+- (ASIHTTPRequest*)createStandardRequest:(NSURL*)url
+{
+ ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
+ [request addRequestHeader:@"Authorization" value:[NSString stringWithFormat:@"Bearer %@", oauthClient.accessToken.accessToken]];
+ request.delegate = self;
+ return request;
+}
+
+- (ASIHTTPRequest*)createRequest:(NSString*)path params:(NSDictionary*)params {
+ NSString *str = [NSString stringWithFormat:@"%@%@", kRunKeeperBasePath, path];
+ if (params != nil) {
+ str = [str stringByAppendingFormat:@"?%@", [params gtm_httpArgumentsString]];
+ }
+ NSLog(@"request URL: %@ params=%@", str, params);
+ NSURL *url = [NSURL URLWithString:str];
+ return [self createStandardRequest:url];
+}
+
+- (ASIFormDataRequest*)createPostRequest:(NSString*)path content:(NSString*)content {
+ NSString *str = [NSString stringWithFormat:@"%@%@", kRunKeeperBasePath, path];
+ NSURL *url = [NSURL URLWithString:str];
+ ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
+ [request addRequestHeader:@"Authorization" value:[NSString stringWithFormat:@"Bearer %@", oauthClient.accessToken.accessToken]];
+ [request addRequestHeader:@"Content-Type" value:@"application/vnd.com.runkeeper.NewFitnessActivity+json"];
+ request.delegate = self;
+ //[request setPostBody:[content dataUsingEncoding:NSUTF8StringEncoding]];
+ NSData *data = [content dataUsingEncoding:NSUTF8StringEncoding];
+ [request appendPostData:data];
+ //[request setContentLength:[data length]];
+ return request;
+}
+
+
+- (ASIHTTPRequest*)request:(NSString*)path params:(NSDictionary*)params onCompletion:(RIJSONCompletionBlock)completion onFailed:(RIBasicFailedBlock)failed {
+ __block ASIHTTPRequest *request = [self createRequest:path params:params];
+
+ [request setCompletionBlock:^{
+ // Use when fetching text data
+ if ([request responseStatusCode] == 200) {
+ if (completion) {
+ completion([[request responseString] JSONValue]);
+ }
+ }
+ }];
+ [request setFailedBlock:^{
+ NSLog(@"*** request failed reason: %@", [request error]);
+ if (failed) failed();
+ }];
+ [request startAsynchronous];
+ return request;
+}
+
+- (ASIHTTPRequest*)postRequest:(NSString*)path content:(NSString*)content onCompletion:(RIJSONCompletionBlock)completion onFailed:(RIBasicFailedBlock)failed {
+ __block ASIFormDataRequest *request = [self createPostRequest:path content:content];
+
+ [request setCompletionBlock:^{
+ // Use when fetching text data
+ if ([request responseStatusCode] == 201) { // CREATED
+ if (completion) {
+ NSLog(@"Done: %@", [request responseString]);
+ completion(nil);
+ //completion([[request responseString] JSONValue]);
+ }
+ } else {
+ NSLog(@"postFailed: %d %@", [request responseStatusCode], [request responseString]);
+ if (failed) failed();
+ }
+ }];
+ [request setFailedBlock:^{
+ NSLog(@"*** request failed reason: %@", [request error]);
+ if (failed) failed();
+ }];
+ [request startAsynchronous];
+ return request;
+}
+
+
+- (void)getBasePaths
+{
+ [self request:kRunKeeperBaseURL params:nil onCompletion:^(id json) {
+ self.paths = json;
+ self.userID = [self.paths objectForKey:@"kRKUserIDKey"];
+ }onFailed:^{
+ self.paths = nil;
+ self.userID = nil;
+ connected = NO;
+ NSLog(@"fail: ");
+ }];
+}
+
+#pragma mark RunKeeperAPI Calls
+
+- (NSString*)activityString:(RunKeeperActivityType)activity
+{
+ switch (activity) {
+ case kRKRunning: return @"Running";
+ case kRKCycling: return @"Cycling";
+ case kRKMountainBiking: return @"Mountain Biking";
+ case kRKWalking: return @"Walking";
+ case kRKHiking: return @"Hiking";
+ case kRKDownhillSkiing: return @"Downhill Skiing";
+ case kRKXCountrySkiing: return @"Cross Country Skiing";
+ case kRKSnowboarding: return @"Snowboarding";
+ case kRKSkating: return @"Skating";
+ case kRKSwimming: return @"Swimming";
+ case kRKWheelchair: return @"Wheelchair";
+ case kRKRowing: return @"Rowing";
+ case kRKElliptical: return @"Elliptical";
+ case kRKOther: return @"Other";
+ }
+ return @"Running";
+}
+
+- (void)postActivity:(RunKeeperActivityType)activity start:(NSDate*)start distance:(NSNumber*)distance
+ duration:(NSNumber*)duration calories:(NSNumber*)calories heartRate:(NSNumber*)heartRate
+ notes:(NSString*)notes path:(NSArray*)path
+ success:(RIBasicCompletionBlock)success failed:(RIBasicFailedBlock)failed
+{
+ /*
+ {
+ "type": "Running",
+ "start_time": "Sat, 1 Jan 2011 00:00:00",
+ "notes": "My first late-night run", "path": [{"timestamp":0,
+ "altitude":0,
+ "longitude":-70.95182336425782,
+ "latitude":42.312620297384676,
+ "type":"start"},
+ {"timestamp":8,
+ "altitude":0,
+ "longitude":-70.95255292510987,
+ "latitude":42.31230294498018,
+ "type":"end"}]
+ "post_to_facebook": true,
+ "post_to_twitter": true
+ }*/
+ /**
+ [[RunKeeper sharedRunKeeper] postActivity:kRKRunning start:[NSDate date]
+ distance:[NSNumber numberWithFloat:10000]
+ duration:[NSNumber numberWithInt:3600]
+ calories:nil heartRate:nil notes:@"Good to go" path:nil];
+ */
+ [self connect];
+ NSDictionary *args = [NSDictionary dictionaryWithObjectsAndKeys:
+ [self activityString:activity], @"type",
+ start, @"start_time",
+ distance, @"total_distance",
+ duration, @"duration",
+ notes, @"notes",
+ path, @"path",
+ nil];
+ NSString *content = [args JSONRepresentation];
+ NSLog(@"content: %@", content);
+ [self postRequest:[self.paths objectForKey:kRKFitnessActivitiesKey] content:content onCompletion:^(id json) {
+ if (success) success();
+ }onFailed:^{
+ NSLog(@"fail: ");
+ if (failed) failed();
+ }];
+}
+
+
+#pragma mark NXOAuth2ClientDelegate
+
+- (void)oauthClientDidGetAccessToken:(NXOAuth2Client *)client
+{
+ NSLog(@"didGetAccessToken");
+ connected = YES;
+ UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Connected"
+ message:@"Running Intensity is linked to your RunKeeper account"
+ delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
+ [alert show];
+ [self getBasePaths];
+
+}
+- (void)oauthClientDidLoseAccessToken:(NXOAuth2Client *)client
+{
+ connected = NO;
+ NSLog(@"didLoseAccessToken");
+}
+- (void)oauthClient:(NXOAuth2Client *)client didFailToGetAccessTokenWithError:(NSError *)error
+{
+ connected = NO;
+ NSLog(@"didFailToGetAccessToken");
+ UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Connection Failed"
+ message:@"The link to your RunKeeper account failed."
+ delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
+ [alert show];
+}
+
+- (void)oauthClientNeedsAuthentication:(NXOAuth2Client *)client
+{
+ NSURL *authorizationURL = [client authorizationURLWithRedirectURL:[NSURL URLWithString:@"x-runningintensity://oauth2"]];
+ [[UIApplication sharedApplication] openURL:authorizationURL];
+}
+
+- (NXOAuth2Client*)oauthClient {
+ if (oauthClient != nil) {
+ return oauthClient;
+ }
+
+ oauthClient = [[NXOAuth2Client alloc] initWithClientID:kRunKeeperClientID
+ clientSecret:kRunKeeperClientSecret
+ authorizeURL:[NSURL URLWithString:kRunKeeperAuthorizationURL]
+ tokenURL:[NSURL URLWithString:kRunKeeperAccessTokenURL]
+ delegate:self];
+ //NSLog(@"requestAccess: %@", oauthClient.accessToken.accessToken);
+ return oauthClient;
+}
+
+#pragma mark -
+#pragma mark Memory management
+
+- (void)dealloc {
+ [oauthClient release];
+ [paths release];
+ [userID release];
+ [super dealloc];
+}
+
+
+
+@end
View
33 README.md
@@ -1,20 +1,19 @@
-# BRBitly
+# RunKeeper-iOS
-BRBitly provides an Objective C wrapper class for accessing the free URL shortening services at [bit.ly](http://www.bitly.com) from iOS 4.0 or newer.
+RunKeeper-iOS provides an Objective C wrapper class for accessing the [RunKeeper Health Graph API](http://developer.runkeeper.com/healthgraph) from iOS 4.0 or newer.
-# Disclosure
-
-BRBitly was rather brazenly copied and adapted from [ILBitly](https://github.com/InfiniteLoopDK/ILBitly.git). I wanted to use ILBitly directly, but the existing project was already built around ASI and SBJson rather than AFNetwork and JSONkit, so I adapted it to my needs.
+RunKeeper-iOS was developed for use in our iPhone fitness app "Running Intensity". It is meant to be general, but is built primarily for a Running app.
## Dependencies
- [ASI HTTP Request](https://github.com/pokeb/asi-http-request) - Used for the underlying network access
- [SBJson](https://github.com/stig/json-framework.git) - Needed for parsing the response from bit.ly
-- You will also need an account at bit.ly including an [API key](http://bitly.com/a/your_api_key)
+- [OAuth2Client](https://github.com/nxtbgthng/OAuth2Client) - Used for OAuth2 access to RunKeeper API
+- You will also need to register for a RunKeeper account, create an app, and get your tokens
## Example Usage
-###Shortening an URL
+###Posting a Run
BRBitly *bitly = [[BRBitly alloc] initWithLogin:login apiKey:apiKey];
[bitly shorten:@"http://www.infinite-loop.dk" result:^(NSString *shortURLString) {
NSLog(@"The shortened URL: %@", shortURLString);
@@ -23,28 +22,12 @@ BRBitly was rather brazenly copied and adapted from [ILBitly](https://github.com
}];
[bitly release];
-###Expanding an URL
- [bitly expand:@"http://j.mp/its-your-round" result:^(NSString *longURLString) {
- NSLog(@"The expanded URL: %@", longURLString);
- } error:^(NSError *err) {
- NSLog(@"An error occurred %@", err);
- }];
-
-###Getting statistics on number of clicks
- [bitly clicks:@"http://j.mp/qnpNBs" result:^(NSInteger userClicks, NSInteger globalClicks) {
- NSLog(@"This link has been clicked %d times out of %d clicks globally: %d", userClicks, globalClicks);
- } error:^(NSError *err) {
- NSLog(@"An error occurred %@", err);
- }];
-
See more examples in the attached sample project.
-## Building Xcode Documentation
+## Getting Started
-BRBitly is documented in the header files using the appledoc syntax. The sample app contains a target called "Documentation" which will build the documentation and install it for use inside Xcode as a searchable and browsable docset.
-In order to be able to build it you will need to install appledoc on your own computer. You can get appledoc from [GitHub](https://github.com/tomaz/appledoc).
-For more information about how to setup and build the documentation you can read this [short tutorial](http://wp.me/p1xKtH-52).
+Check out the sample app to see a very simple integration.
Feel free to add enhanchements, bug fixes, changes and provide them back to the community!
View
BIN  images/connect-blue-black-300x57.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
749 runkeepersample/runkeepersample.xcodeproj/project.pbxproj
@@ -0,0 +1,749 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 63C1FBB41424230F0074CF99 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB31424230F0074CF99 /* UIKit.framework */; };
+ 63C1FBB61424230F0074CF99 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB51424230F0074CF99 /* Foundation.framework */; };
+ 63C1FBB81424230F0074CF99 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB71424230F0074CF99 /* CoreGraphics.framework */; };
+ 63C1FBBE1424230F0074CF99 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBBC1424230F0074CF99 /* InfoPlist.strings */; };
+ 63C1FBC11424230F0074CF99 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBC01424230F0074CF99 /* main.m */; };
+ 63C1FBC41424230F0074CF99 /* runkeepersampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBC31424230F0074CF99 /* runkeepersampleAppDelegate.m */; };
+ 63C1FBC71424230F0074CF99 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBC51424230F0074CF99 /* MainWindow.xib */; };
+ 63C1FBCA1424230F0074CF99 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBC91424230F0074CF99 /* RootViewController.m */; };
+ 63C1FBCD1424230F0074CF99 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBCB1424230F0074CF99 /* RootViewController.xib */; };
+ 63C1FBD41424230F0074CF99 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB31424230F0074CF99 /* UIKit.framework */; };
+ 63C1FBD51424230F0074CF99 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB51424230F0074CF99 /* Foundation.framework */; };
+ 63C1FBD61424230F0074CF99 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FBB71424230F0074CF99 /* CoreGraphics.framework */; };
+ 63C1FBDE1424230F0074CF99 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBDC1424230F0074CF99 /* InfoPlist.strings */; };
+ 63C1FBE11424230F0074CF99 /* runkeepersampleTests.h in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBE01424230F0074CF99 /* runkeepersampleTests.h */; };
+ 63C1FBE31424230F0074CF99 /* runkeepersampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBE21424230F0074CF99 /* runkeepersampleTests.m */; };
+ 63C1FBEE142423E40074CF99 /* PositionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBEC142423E40074CF99 /* PositionTracker.m */; };
+ 63C1FBF1142424CF0074CF99 /* connect-blue-black-300x57.png in Resources */ = {isa = PBXBuildFile; fileRef = 63C1FBF0142424CF0074CF99 /* connect-blue-black-300x57.png */; };
+ 63C1FC3C1424261C0074CF99 /* NSObject+SBJson.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBF41424261B0074CF99 /* NSObject+SBJson.m */; };
+ 63C1FC3D1424261C0074CF99 /* SBJsonParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBF71424261B0074CF99 /* SBJsonParser.m */; };
+ 63C1FC3E1424261C0074CF99 /* SBJsonStreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBF91424261B0074CF99 /* SBJsonStreamParser.m */; };
+ 63C1FC3F1424261C0074CF99 /* SBJsonStreamParserAccumulator.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBFB1424261B0074CF99 /* SBJsonStreamParserAccumulator.m */; };
+ 63C1FC401424261C0074CF99 /* SBJsonStreamParserAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBFD1424261B0074CF99 /* SBJsonStreamParserAdapter.m */; };
+ 63C1FC411424261C0074CF99 /* SBJsonStreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FBFF1424261B0074CF99 /* SBJsonStreamParserState.m */; };
+ 63C1FC421424261C0074CF99 /* SBJsonStreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC011424261B0074CF99 /* SBJsonStreamWriter.m */; };
+ 63C1FC431424261C0074CF99 /* SBJsonStreamWriterAccumulator.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC031424261B0074CF99 /* SBJsonStreamWriterAccumulator.m */; };
+ 63C1FC441424261C0074CF99 /* SBJsonStreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC051424261B0074CF99 /* SBJsonStreamWriterState.m */; };
+ 63C1FC451424261C0074CF99 /* SBJsonTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC071424261B0074CF99 /* SBJsonTokeniser.m */; };
+ 63C1FC461424261C0074CF99 /* SBJsonUTF8Stream.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC091424261B0074CF99 /* SBJsonUTF8Stream.m */; };
+ 63C1FC471424261C0074CF99 /* SBJsonWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC0B1424261B0074CF99 /* SBJsonWriter.m */; };
+ 63C1FC481424261C0074CF99 /* ASIAuthenticationDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC0E1424261B0074CF99 /* ASIAuthenticationDialog.m */; };
+ 63C1FC491424261C0074CF99 /* ASIDataCompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC111424261B0074CF99 /* ASIDataCompressor.m */; };
+ 63C1FC4A1424261C0074CF99 /* ASIDataDecompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC131424261B0074CF99 /* ASIDataDecompressor.m */; };
+ 63C1FC4B1424261C0074CF99 /* ASIDownloadCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC151424261B0074CF99 /* ASIDownloadCache.m */; };
+ 63C1FC4C1424261C0074CF99 /* ASIFormDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC171424261B0074CF99 /* ASIFormDataRequest.m */; };
+ 63C1FC4D1424261C0074CF99 /* ASIHTTPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC191424261B0074CF99 /* ASIHTTPRequest.m */; };
+ 63C1FC4E1424261C0074CF99 /* ASIInputStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC1D1424261B0074CF99 /* ASIInputStream.m */; };
+ 63C1FC4F1424261C0074CF99 /* ASINetworkQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC1F1424261B0074CF99 /* ASINetworkQueue.m */; };
+ 63C1FC501424261C0074CF99 /* NSData+NXOAuth2.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC231424261C0074CF99 /* NSData+NXOAuth2.m */; };
+ 63C1FC511424261C0074CF99 /* NSString+NXOAuth2.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC251424261C0074CF99 /* NSString+NXOAuth2.m */; };
+ 63C1FC521424261C0074CF99 /* NSURL+NXOAuth2.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC271424261C0074CF99 /* NSURL+NXOAuth2.m */; };
+ 63C1FC531424261C0074CF99 /* NXOAuth2AccessToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC2B1424261C0074CF99 /* NXOAuth2AccessToken.m */; };
+ 63C1FC541424261C0074CF99 /* NXOAuth2Client.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC2D1424261C0074CF99 /* NXOAuth2Client.m */; };
+ 63C1FC551424261C0074CF99 /* NXOAuth2Connection.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC301424261C0074CF99 /* NXOAuth2Connection.m */; };
+ 63C1FC561424261C0074CF99 /* NXOAuth2Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC331424261C0074CF99 /* NXOAuth2Constants.m */; };
+ 63C1FC571424261C0074CF99 /* NXOAuth2FileStreamWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC351424261C0074CF99 /* NXOAuth2FileStreamWrapper.m */; };
+ 63C1FC581424261C0074CF99 /* NXOAuth2PostBodyPart.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC371424261C0074CF99 /* NXOAuth2PostBodyPart.m */; };
+ 63C1FC591424261C0074CF99 /* NXOAuth2PostBodyStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC391424261C0074CF99 /* NXOAuth2PostBodyStream.m */; };
+ 63C1FC5D142426750074CF99 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C1FC5B142426750074CF99 /* Reachability.m */; };
+ 63C1FC60142426A20074CF99 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC5E142426A20074CF99 /* CoreLocation.framework */; };
+ 63C1FC61142426A20074CF99 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC5F142426A20074CF99 /* SystemConfiguration.framework */; };
+ 63C1FC63142426BE0074CF99 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC62142426BE0074CF99 /* CFNetwork.framework */; };
+ 63C1FC65142426D10074CF99 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC64142426D10074CF99 /* Security.framework */; };
+ 63C1FC67142426DC0074CF99 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC66142426DC0074CF99 /* libz.dylib */; };
+ 63C1FC69142426EB0074CF99 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63C1FC68142426EB0074CF99 /* MobileCoreServices.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 63C1FBD71424230F0074CF99 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 63C1FBA61424230F0074CF99 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 63C1FBAE1424230F0074CF99;
+ remoteInfo = runkeepersample;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 63C1FBAF1424230F0074CF99 /* runkeepersample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = runkeepersample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 63C1FBB31424230F0074CF99 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 63C1FBB51424230F0074CF99 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 63C1FBB71424230F0074CF99 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 63C1FBBB1424230F0074CF99 /* runkeepersample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "runkeepersample-Info.plist"; sourceTree = "<group>"; };
+ 63C1FBBD1424230F0074CF99 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 63C1FBBF1424230F0074CF99 /* runkeepersample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "runkeepersample-Prefix.pch"; sourceTree = "<group>"; };
+ 63C1FBC01424230F0074CF99 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 63C1FBC21424230F0074CF99 /* runkeepersampleAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = runkeepersampleAppDelegate.h; sourceTree = "<group>"; };
+ 63C1FBC31424230F0074CF99 /* runkeepersampleAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = runkeepersampleAppDelegate.m; sourceTree = "<group>"; };
+ 63C1FBC61424230F0074CF99 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = "<group>"; };
+ 63C1FBC81424230F0074CF99 /* RootViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
+ 63C1FBC91424230F0074CF99 /* RootViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
+ 63C1FBCC1424230F0074CF99 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/RootViewController.xib; sourceTree = "<group>"; };
+ 63C1FBD31424230F0074CF99 /* runkeepersampleTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = runkeepersampleTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 63C1FBDB1424230F0074CF99 /* runkeepersampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "runkeepersampleTests-Info.plist"; sourceTree = "<group>"; };
+ 63C1FBDD1424230F0074CF99 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 63C1FBDF1424230F0074CF99 /* runkeepersampleTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "runkeepersampleTests-Prefix.pch"; sourceTree = "<group>"; };
+ 63C1FBE01424230F0074CF99 /* runkeepersampleTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = runkeepersampleTests.h; sourceTree = "<group>"; };
+ 63C1FBE21424230F0074CF99 /* runkeepersampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = runkeepersampleTests.m; sourceTree = "<group>"; };
+ 63C1FBEC142423E40074CF99 /* PositionTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PositionTracker.m; sourceTree = "<group>"; };
+ 63C1FBED142423E40074CF99 /* PositionTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PositionTracker.h; sourceTree = "<group>"; };
+ 63C1FBF0142424CF0074CF99 /* connect-blue-black-300x57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "connect-blue-black-300x57.png"; sourceTree = "<group>"; };
+ 63C1FBF31424261B0074CF99 /* NSObject+SBJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSObject+SBJson.h"; sourceTree = "<group>"; };
+ 63C1FBF41424261B0074CF99 /* NSObject+SBJson.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSObject+SBJson.m"; sourceTree = "<group>"; };
+ 63C1FBF51424261B0074CF99 /* SBJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson.h; sourceTree = "<group>"; };
+ 63C1FBF61424261B0074CF99 /* SBJsonParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonParser.h; sourceTree = "<group>"; };
+ 63C1FBF71424261B0074CF99 /* SBJsonParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonParser.m; sourceTree = "<group>"; };
+ 63C1FBF81424261B0074CF99 /* SBJsonStreamParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParser.h; sourceTree = "<group>"; };
+ 63C1FBF91424261B0074CF99 /* SBJsonStreamParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParser.m; sourceTree = "<group>"; };
+ 63C1FBFA1424261B0074CF99 /* SBJsonStreamParserAccumulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserAccumulator.h; sourceTree = "<group>"; };
+ 63C1FBFB1424261B0074CF99 /* SBJsonStreamParserAccumulator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserAccumulator.m; sourceTree = "<group>"; };
+ 63C1FBFC1424261B0074CF99 /* SBJsonStreamParserAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserAdapter.h; sourceTree = "<group>"; };
+ 63C1FBFD1424261B0074CF99 /* SBJsonStreamParserAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserAdapter.m; sourceTree = "<group>"; };
+ 63C1FBFE1424261B0074CF99 /* SBJsonStreamParserState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamParserState.h; sourceTree = "<group>"; };
+ 63C1FBFF1424261B0074CF99 /* SBJsonStreamParserState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamParserState.m; sourceTree = "<group>"; };
+ 63C1FC001424261B0074CF99 /* SBJsonStreamWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriter.h; sourceTree = "<group>"; };
+ 63C1FC011424261B0074CF99 /* SBJsonStreamWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriter.m; sourceTree = "<group>"; };
+ 63C1FC021424261B0074CF99 /* SBJsonStreamWriterAccumulator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriterAccumulator.h; sourceTree = "<group>"; };
+ 63C1FC031424261B0074CF99 /* SBJsonStreamWriterAccumulator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriterAccumulator.m; sourceTree = "<group>"; };
+ 63C1FC041424261B0074CF99 /* SBJsonStreamWriterState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonStreamWriterState.h; sourceTree = "<group>"; };
+ 63C1FC051424261B0074CF99 /* SBJsonStreamWriterState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonStreamWriterState.m; sourceTree = "<group>"; };
+ 63C1FC061424261B0074CF99 /* SBJsonTokeniser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonTokeniser.h; sourceTree = "<group>"; };
+ 63C1FC071424261B0074CF99 /* SBJsonTokeniser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonTokeniser.m; sourceTree = "<group>"; };
+ 63C1FC081424261B0074CF99 /* SBJsonUTF8Stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonUTF8Stream.h; sourceTree = "<group>"; };
+ 63C1FC091424261B0074CF99 /* SBJsonUTF8Stream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonUTF8Stream.m; sourceTree = "<group>"; };
+ 63C1FC0A1424261B0074CF99 /* SBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJsonWriter.h; sourceTree = "<group>"; };
+ 63C1FC0B1424261B0074CF99 /* SBJsonWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJsonWriter.m; sourceTree = "<group>"; };
+ 63C1FC0D1424261B0074CF99 /* ASIAuthenticationDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIAuthenticationDialog.h; sourceTree = "<group>"; };
+ 63C1FC0E1424261B0074CF99 /* ASIAuthenticationDialog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIAuthenticationDialog.m; sourceTree = "<group>"; };
+ 63C1FC0F1424261B0074CF99 /* ASICacheDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASICacheDelegate.h; sourceTree = "<group>"; };
+ 63C1FC101424261B0074CF99 /* ASIDataCompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIDataCompressor.h; sourceTree = "<group>"; };
+ 63C1FC111424261B0074CF99 /* ASIDataCompressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIDataCompressor.m; sourceTree = "<group>"; };
+ 63C1FC121424261B0074CF99 /* ASIDataDecompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIDataDecompressor.h; sourceTree = "<group>"; };
+ 63C1FC131424261B0074CF99 /* ASIDataDecompressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIDataDecompressor.m; sourceTree = "<group>"; };
+ 63C1FC141424261B0074CF99 /* ASIDownloadCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIDownloadCache.h; sourceTree = "<group>"; };
+ 63C1FC151424261B0074CF99 /* ASIDownloadCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIDownloadCache.m; sourceTree = "<group>"; };
+ 63C1FC161424261B0074CF99 /* ASIFormDataRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIFormDataRequest.h; sourceTree = "<group>"; };
+ 63C1FC171424261B0074CF99 /* ASIFormDataRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIFormDataRequest.m; sourceTree = "<group>"; };
+ 63C1FC181424261B0074CF99 /* ASIHTTPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIHTTPRequest.h; sourceTree = "<group>"; };
+ 63C1FC191424261B0074CF99 /* ASIHTTPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIHTTPRequest.m; sourceTree = "<group>"; };
+ 63C1FC1A1424261B0074CF99 /* ASIHTTPRequestConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIHTTPRequestConfig.h; sourceTree = "<group>"; };
+ 63C1FC1B1424261B0074CF99 /* ASIHTTPRequestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIHTTPRequestDelegate.h; sourceTree = "<group>"; };
+ 63C1FC1C1424261B0074CF99 /* ASIInputStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIInputStream.h; sourceTree = "<group>"; };
+ 63C1FC1D1424261B0074CF99 /* ASIInputStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIInputStream.m; sourceTree = "<group>"; };
+ 63C1FC1E1424261B0074CF99 /* ASINetworkQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASINetworkQueue.h; sourceTree = "<group>"; };
+ 63C1FC1F1424261B0074CF99 /* ASINetworkQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASINetworkQueue.m; sourceTree = "<group>"; };
+ 63C1FC201424261B0074CF99 /* ASIProgressDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIProgressDelegate.h; sourceTree = "<group>"; };
+ 63C1FC221424261C0074CF99 /* NSData+NXOAuth2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+NXOAuth2.h"; sourceTree = "<group>"; };
+ 63C1FC231424261C0074CF99 /* NSData+NXOAuth2.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+NXOAuth2.m"; sourceTree = "<group>"; };
+ 63C1FC241424261C0074CF99 /* NSString+NXOAuth2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+NXOAuth2.h"; sourceTree = "<group>"; };
+ 63C1FC251424261C0074CF99 /* NSString+NXOAuth2.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+NXOAuth2.m"; sourceTree = "<group>"; };
+ 63C1FC261424261C0074CF99 /* NSURL+NXOAuth2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURL+NXOAuth2.h"; sourceTree = "<group>"; };
+ 63C1FC271424261C0074CF99 /* NSURL+NXOAuth2.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURL+NXOAuth2.m"; sourceTree = "<group>"; };
+ 63C1FC291424261C0074CF99 /* NXOAuth2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2.h; sourceTree = "<group>"; };
+ 63C1FC2A1424261C0074CF99 /* NXOAuth2AccessToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2AccessToken.h; sourceTree = "<group>"; };
+ 63C1FC2B1424261C0074CF99 /* NXOAuth2AccessToken.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2AccessToken.m; sourceTree = "<group>"; };
+ 63C1FC2C1424261C0074CF99 /* NXOAuth2Client.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2Client.h; sourceTree = "<group>"; };
+ 63C1FC2D1424261C0074CF99 /* NXOAuth2Client.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2Client.m; sourceTree = "<group>"; };
+ 63C1FC2E1424261C0074CF99 /* NXOAuth2ClientDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2ClientDelegate.h; sourceTree = "<group>"; };
+ 63C1FC2F1424261C0074CF99 /* NXOAuth2Connection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2Connection.h; sourceTree = "<group>"; };
+ 63C1FC301424261C0074CF99 /* NXOAuth2Connection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2Connection.m; sourceTree = "<group>"; };
+ 63C1FC311424261C0074CF99 /* NXOAuth2ConnectionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2ConnectionDelegate.h; sourceTree = "<group>"; };
+ 63C1FC321424261C0074CF99 /* NXOAuth2Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2Constants.h; sourceTree = "<group>"; };
+ 63C1FC331424261C0074CF99 /* NXOAuth2Constants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2Constants.m; sourceTree = "<group>"; };
+ 63C1FC341424261C0074CF99 /* NXOAuth2FileStreamWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2FileStreamWrapper.h; sourceTree = "<group>"; };
+ 63C1FC351424261C0074CF99 /* NXOAuth2FileStreamWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2FileStreamWrapper.m; sourceTree = "<group>"; };
+ 63C1FC361424261C0074CF99 /* NXOAuth2PostBodyPart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2PostBodyPart.h; sourceTree = "<group>"; };
+ 63C1FC371424261C0074CF99 /* NXOAuth2PostBodyPart.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2PostBodyPart.m; sourceTree = "<group>"; };
+ 63C1FC381424261C0074CF99 /* NXOAuth2PostBodyStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2PostBodyStream.h; sourceTree = "<group>"; };
+ 63C1FC391424261C0074CF99 /* NXOAuth2PostBodyStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NXOAuth2PostBodyStream.m; sourceTree = "<group>"; };
+ 63C1FC3A1424261C0074CF99 /* NXOAuth2TrustDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NXOAuth2TrustDelegate.h; sourceTree = "<group>"; };
+ 63C1FC3B1424261C0074CF99 /* OAuth2Client_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OAuth2Client_Prefix.pch; sourceTree = "<group>"; };
+ 63C1FC5B142426750074CF99 /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = ../../vendor/Reachability.m; sourceTree = "<group>"; };
+ 63C1FC5C142426750074CF99 /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = ../../vendor/Reachability.h; sourceTree = "<group>"; };
+ 63C1FC5E142426A20074CF99 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
+ 63C1FC5F142426A20074CF99 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+ 63C1FC62142426BE0074CF99 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
+ 63C1FC64142426D10074CF99 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+ 63C1FC66142426DC0074CF99 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+ 63C1FC68142426EB0074CF99 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 63C1FBAC1424230F0074CF99 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FC69142426EB0074CF99 /* MobileCoreServices.framework in Frameworks */,
+ 63C1FC67142426DC0074CF99 /* libz.dylib in Frameworks */,
+ 63C1FC65142426D10074CF99 /* Security.framework in Frameworks */,
+ 63C1FC63142426BE0074CF99 /* CFNetwork.framework in Frameworks */,
+ 63C1FC60142426A20074CF99 /* CoreLocation.framework in Frameworks */,
+ 63C1FC61142426A20074CF99 /* SystemConfiguration.framework in Frameworks */,
+ 63C1FBB41424230F0074CF99 /* UIKit.framework in Frameworks */,
+ 63C1FBB61424230F0074CF99 /* Foundation.framework in Frameworks */,
+ 63C1FBB81424230F0074CF99 /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 63C1FBCF1424230F0074CF99 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FBD41424230F0074CF99 /* UIKit.framework in Frameworks */,
+ 63C1FBD51424230F0074CF99 /* Foundation.framework in Frameworks */,
+ 63C1FBD61424230F0074CF99 /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 63C1FBA41424230F0074CF99 = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC68142426EB0074CF99 /* MobileCoreServices.framework */,
+ 63C1FC66142426DC0074CF99 /* libz.dylib */,
+ 63C1FC64142426D10074CF99 /* Security.framework */,
+ 63C1FC62142426BE0074CF99 /* CFNetwork.framework */,
+ 63C1FC5E142426A20074CF99 /* CoreLocation.framework */,
+ 63C1FC5F142426A20074CF99 /* SystemConfiguration.framework */,
+ 63C1FBB91424230F0074CF99 /* runkeepersample */,
+ 63C1FBD91424230F0074CF99 /* runkeepersampleTests */,
+ 63C1FBB21424230F0074CF99 /* Frameworks */,
+ 63C1FBB01424230F0074CF99 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 63C1FBB01424230F0074CF99 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBAF1424230F0074CF99 /* runkeepersample.app */,
+ 63C1FBD31424230F0074CF99 /* runkeepersampleTests.octest */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 63C1FBB21424230F0074CF99 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBB31424230F0074CF99 /* UIKit.framework */,
+ 63C1FBB51424230F0074CF99 /* Foundation.framework */,
+ 63C1FBB71424230F0074CF99 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 63C1FBB91424230F0074CF99 /* runkeepersample */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC5A1424266B0074CF99 /* Util */,
+ 63C1FBF21424261B0074CF99 /* SBJson */,
+ 63C1FC0C1424261B0074CF99 /* ASI */,
+ 63C1FC211424261B0074CF99 /* OAuth2Client */,
+ 63C1FBEF142424BE0074CF99 /* Resources */,
+ 63C1FBEC142423E40074CF99 /* PositionTracker.m */,
+ 63C1FBED142423E40074CF99 /* PositionTracker.h */,
+ 63C1FBC21424230F0074CF99 /* runkeepersampleAppDelegate.h */,
+ 63C1FBC31424230F0074CF99 /* runkeepersampleAppDelegate.m */,
+ 63C1FBC51424230F0074CF99 /* MainWindow.xib */,
+ 63C1FBC81424230F0074CF99 /* RootViewController.h */,
+ 63C1FBC91424230F0074CF99 /* RootViewController.m */,
+ 63C1FBCB1424230F0074CF99 /* RootViewController.xib */,
+ 63C1FBBA1424230F0074CF99 /* Supporting Files */,
+ );
+ path = runkeepersample;
+ sourceTree = "<group>";
+ };
+ 63C1FBBA1424230F0074CF99 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBBB1424230F0074CF99 /* runkeepersample-Info.plist */,
+ 63C1FBBC1424230F0074CF99 /* InfoPlist.strings */,
+ 63C1FBBF1424230F0074CF99 /* runkeepersample-Prefix.pch */,
+ 63C1FBC01424230F0074CF99 /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 63C1FBD91424230F0074CF99 /* runkeepersampleTests */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBE01424230F0074CF99 /* runkeepersampleTests.h */,
+ 63C1FBE21424230F0074CF99 /* runkeepersampleTests.m */,
+ 63C1FBDA1424230F0074CF99 /* Supporting Files */,
+ );
+ path = runkeepersampleTests;
+ sourceTree = "<group>";
+ };
+ 63C1FBDA1424230F0074CF99 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBDB1424230F0074CF99 /* runkeepersampleTests-Info.plist */,
+ 63C1FBDC1424230F0074CF99 /* InfoPlist.strings */,
+ 63C1FBDF1424230F0074CF99 /* runkeepersampleTests-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 63C1FBEF142424BE0074CF99 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBF0142424CF0074CF99 /* connect-blue-black-300x57.png */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 63C1FBF21424261B0074CF99 /* SBJson */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FBF31424261B0074CF99 /* NSObject+SBJson.h */,
+ 63C1FBF41424261B0074CF99 /* NSObject+SBJson.m */,
+ 63C1FBF51424261B0074CF99 /* SBJson.h */,
+ 63C1FBF61424261B0074CF99 /* SBJsonParser.h */,
+ 63C1FBF71424261B0074CF99 /* SBJsonParser.m */,
+ 63C1FBF81424261B0074CF99 /* SBJsonStreamParser.h */,
+ 63C1FBF91424261B0074CF99 /* SBJsonStreamParser.m */,
+ 63C1FBFA1424261B0074CF99 /* SBJsonStreamParserAccumulator.h */,
+ 63C1FBFB1424261B0074CF99 /* SBJsonStreamParserAccumulator.m */,
+ 63C1FBFC1424261B0074CF99 /* SBJsonStreamParserAdapter.h */,
+ 63C1FBFD1424261B0074CF99 /* SBJsonStreamParserAdapter.m */,
+ 63C1FBFE1424261B0074CF99 /* SBJsonStreamParserState.h */,
+ 63C1FBFF1424261B0074CF99 /* SBJsonStreamParserState.m */,
+ 63C1FC001424261B0074CF99 /* SBJsonStreamWriter.h */,
+ 63C1FC011424261B0074CF99 /* SBJsonStreamWriter.m */,
+ 63C1FC021424261B0074CF99 /* SBJsonStreamWriterAccumulator.h */,
+ 63C1FC031424261B0074CF99 /* SBJsonStreamWriterAccumulator.m */,
+ 63C1FC041424261B0074CF99 /* SBJsonStreamWriterState.h */,
+ 63C1FC051424261B0074CF99 /* SBJsonStreamWriterState.m */,
+ 63C1FC061424261B0074CF99 /* SBJsonTokeniser.h */,
+ 63C1FC071424261B0074CF99 /* SBJsonTokeniser.m */,
+ 63C1FC081424261B0074CF99 /* SBJsonUTF8Stream.h */,
+ 63C1FC091424261B0074CF99 /* SBJsonUTF8Stream.m */,
+ 63C1FC0A1424261B0074CF99 /* SBJsonWriter.h */,
+ 63C1FC0B1424261B0074CF99 /* SBJsonWriter.m */,
+ );
+ name = SBJson;
+ path = ../../vendor/SBJson;
+ sourceTree = "<group>";
+ };
+ 63C1FC0C1424261B0074CF99 /* ASI */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC0D1424261B0074CF99 /* ASIAuthenticationDialog.h */,
+ 63C1FC0E1424261B0074CF99 /* ASIAuthenticationDialog.m */,
+ 63C1FC0F1424261B0074CF99 /* ASICacheDelegate.h */,
+ 63C1FC101424261B0074CF99 /* ASIDataCompressor.h */,
+ 63C1FC111424261B0074CF99 /* ASIDataCompressor.m */,
+ 63C1FC121424261B0074CF99 /* ASIDataDecompressor.h */,
+ 63C1FC131424261B0074CF99 /* ASIDataDecompressor.m */,
+ 63C1FC141424261B0074CF99 /* ASIDownloadCache.h */,
+ 63C1FC151424261B0074CF99 /* ASIDownloadCache.m */,
+ 63C1FC161424261B0074CF99 /* ASIFormDataRequest.h */,
+ 63C1FC171424261B0074CF99 /* ASIFormDataRequest.m */,
+ 63C1FC181424261B0074CF99 /* ASIHTTPRequest.h */,
+ 63C1FC191424261B0074CF99 /* ASIHTTPRequest.m */,
+ 63C1FC1A1424261B0074CF99 /* ASIHTTPRequestConfig.h */,
+ 63C1FC1B1424261B0074CF99 /* ASIHTTPRequestDelegate.h */,
+ 63C1FC1C1424261B0074CF99 /* ASIInputStream.h */,
+ 63C1FC1D1424261B0074CF99 /* ASIInputStream.m */,
+ 63C1FC1E1424261B0074CF99 /* ASINetworkQueue.h */,
+ 63C1FC1F1424261B0074CF99 /* ASINetworkQueue.m */,
+ 63C1FC201424261B0074CF99 /* ASIProgressDelegate.h */,
+ );
+ name = ASI;
+ path = ../../vendor/ASI;
+ sourceTree = "<group>";
+ };
+ 63C1FC211424261B0074CF99 /* OAuth2Client */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC221424261C0074CF99 /* NSData+NXOAuth2.h */,
+ 63C1FC231424261C0074CF99 /* NSData+NXOAuth2.m */,
+ 63C1FC241424261C0074CF99 /* NSString+NXOAuth2.h */,
+ 63C1FC251424261C0074CF99 /* NSString+NXOAuth2.m */,
+ 63C1FC261424261C0074CF99 /* NSURL+NXOAuth2.h */,
+ 63C1FC271424261C0074CF99 /* NSURL+NXOAuth2.m */,
+ 63C1FC281424261C0074CF99 /* OAuth2Client */,
+ 63C1FC3B1424261C0074CF99 /* OAuth2Client_Prefix.pch */,
+ );
+ name = OAuth2Client;
+ path = ../../vendor/OAuth2Client;
+ sourceTree = "<group>";
+ };
+ 63C1FC281424261C0074CF99 /* OAuth2Client */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC291424261C0074CF99 /* NXOAuth2.h */,
+ 63C1FC2A1424261C0074CF99 /* NXOAuth2AccessToken.h */,
+ 63C1FC2B1424261C0074CF99 /* NXOAuth2AccessToken.m */,
+ 63C1FC2C1424261C0074CF99 /* NXOAuth2Client.h */,
+ 63C1FC2D1424261C0074CF99 /* NXOAuth2Client.m */,
+ 63C1FC2E1424261C0074CF99 /* NXOAuth2ClientDelegate.h */,
+ 63C1FC2F1424261C0074CF99 /* NXOAuth2Connection.h */,
+ 63C1FC301424261C0074CF99 /* NXOAuth2Connection.m */,
+ 63C1FC311424261C0074CF99 /* NXOAuth2ConnectionDelegate.h */,
+ 63C1FC321424261C0074CF99 /* NXOAuth2Constants.h */,
+ 63C1FC331424261C0074CF99 /* NXOAuth2Constants.m */,
+ 63C1FC341424261C0074CF99 /* NXOAuth2FileStreamWrapper.h */,
+ 63C1FC351424261C0074CF99 /* NXOAuth2FileStreamWrapper.m */,
+ 63C1FC361424261C0074CF99 /* NXOAuth2PostBodyPart.h */,
+ 63C1FC371424261C0074CF99 /* NXOAuth2PostBodyPart.m */,
+ 63C1FC381424261C0074CF99 /* NXOAuth2PostBodyStream.h */,
+ 63C1FC391424261C0074CF99 /* NXOAuth2PostBodyStream.m */,
+ 63C1FC3A1424261C0074CF99 /* NXOAuth2TrustDelegate.h */,
+ );
+ path = OAuth2Client;
+ sourceTree = "<group>";
+ };
+ 63C1FC5A1424266B0074CF99 /* Util */ = {
+ isa = PBXGroup;
+ children = (
+ 63C1FC5B142426750074CF99 /* Reachability.m */,
+ 63C1FC5C142426750074CF99 /* Reachability.h */,
+ );
+ name = Util;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 63C1FBAE1424230F0074CF99 /* runkeepersample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 63C1FBE61424230F0074CF99 /* Build configuration list for PBXNativeTarget "runkeepersample" */;
+ buildPhases = (
+ 63C1FBAB1424230F0074CF99 /* Sources */,
+ 63C1FBAC1424230F0074CF99 /* Frameworks */,
+ 63C1FBAD1424230F0074CF99 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = runkeepersample;
+ productName = runkeepersample;
+ productReference = 63C1FBAF1424230F0074CF99 /* runkeepersample.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 63C1FBD21424230F0074CF99 /* runkeepersampleTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 63C1FBE91424230F0074CF99 /* Build configuration list for PBXNativeTarget "runkeepersampleTests" */;
+ buildPhases = (
+ 63C1FBCE1424230F0074CF99 /* Sources */,
+ 63C1FBCF1424230F0074CF99 /* Frameworks */,
+ 63C1FBD01424230F0074CF99 /* Resources */,
+ 63C1FBD11424230F0074CF99 /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 63C1FBD81424230F0074CF99 /* PBXTargetDependency */,
+ );
+ name = runkeepersampleTests;
+ productName = runkeepersampleTests;
+ productReference = 63C1FBD31424230F0074CF99 /* runkeepersampleTests.octest */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 63C1FBA61424230F0074CF99 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 63C1FBA91424230F0074CF99 /* Build configuration list for PBXProject "runkeepersample" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 63C1FBA41424230F0074CF99;
+ productRefGroup = 63C1FBB01424230F0074CF99 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 63C1FBAE1424230F0074CF99 /* runkeepersample */,
+ 63C1FBD21424230F0074CF99 /* runkeepersampleTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 63C1FBAD1424230F0074CF99 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FBBE1424230F0074CF99 /* InfoPlist.strings in Resources */,
+ 63C1FBC71424230F0074CF99 /* MainWindow.xib in Resources */,
+ 63C1FBCD1424230F0074CF99 /* RootViewController.xib in Resources */,
+ 63C1FBF1142424CF0074CF99 /* connect-blue-black-300x57.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 63C1FBD01424230F0074CF99 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FBDE1424230F0074CF99 /* InfoPlist.strings in Resources */,
+ 63C1FBE11424230F0074CF99 /* runkeepersampleTests.h in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 63C1FBD11424230F0074CF99 /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 63C1FBAB1424230F0074CF99 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FBC11424230F0074CF99 /* main.m in Sources */,
+ 63C1FBC41424230F0074CF99 /* runkeepersampleAppDelegate.m in Sources */,
+ 63C1FBCA1424230F0074CF99 /* RootViewController.m in Sources */,
+ 63C1FBEE142423E40074CF99 /* PositionTracker.m in Sources */,
+ 63C1FC3C1424261C0074CF99 /* NSObject+SBJson.m in Sources */,
+ 63C1FC3D1424261C0074CF99 /* SBJsonParser.m in Sources */,
+ 63C1FC3E1424261C0074CF99 /* SBJsonStreamParser.m in Sources */,
+ 63C1FC3F1424261C0074CF99 /* SBJsonStreamParserAccumulator.m in Sources */,
+ 63C1FC401424261C0074CF99 /* SBJsonStreamParserAdapter.m in Sources */,
+ 63C1FC411424261C0074CF99 /* SBJsonStreamParserState.m in Sources */,
+ 63C1FC421424261C0074CF99 /* SBJsonStreamWriter.m in Sources */,
+ 63C1FC431424261C0074CF99 /* SBJsonStreamWriterAccumulator.m in Sources */,
+ 63C1FC441424261C0074CF99 /* SBJsonStreamWriterState.m in Sources */,
+ 63C1FC451424261C0074CF99 /* SBJsonTokeniser.m in Sources */,
+ 63C1FC461424261C0074CF99 /* SBJsonUTF8Stream.m in Sources */,
+ 63C1FC471424261C0074CF99 /* SBJsonWriter.m in Sources */,
+ 63C1FC481424261C0074CF99 /* ASIAuthenticationDialog.m in Sources */,
+ 63C1FC491424261C0074CF99 /* ASIDataCompressor.m in Sources */,
+ 63C1FC4A1424261C0074CF99 /* ASIDataDecompressor.m in Sources */,
+ 63C1FC4B1424261C0074CF99 /* ASIDownloadCache.m in Sources */,
+ 63C1FC4C1424261C0074CF99 /* ASIFormDataRequest.m in Sources */,
+ 63C1FC4D1424261C0074CF99 /* ASIHTTPRequest.m in Sources */,
+ 63C1FC4E1424261C0074CF99 /* ASIInputStream.m in Sources */,
+ 63C1FC4F1424261C0074CF99 /* ASINetworkQueue.m in Sources */,
+ 63C1FC501424261C0074CF99 /* NSData+NXOAuth2.m in Sources */,
+ 63C1FC511424261C0074CF99 /* NSString+NXOAuth2.m in Sources */,
+ 63C1FC521424261C0074CF99 /* NSURL+NXOAuth2.m in Sources */,
+ 63C1FC531424261C0074CF99 /* NXOAuth2AccessToken.m in Sources */,
+ 63C1FC541424261C0074CF99 /* NXOAuth2Client.m in Sources */,
+ 63C1FC551424261C0074CF99 /* NXOAuth2Connection.m in Sources */,
+ 63C1FC561424261C0074CF99 /* NXOAuth2Constants.m in Sources */,
+ 63C1FC571424261C0074CF99 /* NXOAuth2FileStreamWrapper.m in Sources */,
+ 63C1FC581424261C0074CF99 /* NXOAuth2PostBodyPart.m in Sources */,
+ 63C1FC591424261C0074CF99 /* NXOAuth2PostBodyStream.m in Sources */,
+ 63C1FC5D142426750074CF99 /* Reachability.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 63C1FBCE1424230F0074CF99 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 63C1FBE31424230F0074CF99 /* runkeepersampleTests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 63C1FBD81424230F0074CF99 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 63C1FBAE1424230F0074CF99 /* runkeepersample */;
+ targetProxy = 63C1FBD71424230F0074CF99 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 63C1FBBC1424230F0074CF99 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 63C1FBBD1424230F0074CF99 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 63C1FBC51424230F0074CF99 /* MainWindow.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 63C1FBC61424230F0074CF99 /* en */,
+ );
+ name = MainWindow.xib;
+ sourceTree = "<group>";
+ };
+ 63C1FBCB1424230F0074CF99 /* RootViewController.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 63C1FBCC1424230F0074CF99 /* en */,
+ );
+ name = RootViewController.xib;
+ sourceTree = "<group>";
+ };
+ 63C1FBDC1424230F0074CF99 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 63C1FBDD1424230F0074CF99 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 63C1FBE41424230F0074CF99 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 63C1FBE51424230F0074CF99 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ 63C1FBE71424230F0074CF99 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "runkeepersample/runkeepersample-Prefix.pch";
+ INFOPLIST_FILE = "runkeepersample/runkeepersample-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 63C1FBE81424230F0074CF99 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "runkeepersample/runkeepersample-Prefix.pch";
+ INFOPLIST_FILE = "runkeepersample/runkeepersample-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ 63C1FBEA1424230F0074CF99 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/runkeepersample.app/runkeepersample";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(DEVELOPER_LIBRARY_DIR)/Frameworks",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "runkeepersampleTests/runkeepersampleTests-Prefix.pch";
+ INFOPLIST_FILE = "runkeepersampleTests/runkeepersampleTests-Info.plist";
+ OTHER_LDFLAGS = (
+ "-framework",
+ SenTestingKit,
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = octest;
+ };
+ name = Debug;
+ };
+ 63C1FBEB1424230F0074CF99 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/runkeepersample.app/runkeepersample";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(DEVELOPER_LIBRARY_DIR)/Frameworks",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "runkeepersampleTests/runkeepersampleTests-Prefix.pch";
+ INFOPLIST_FILE = "runkeepersampleTests/runkeepersampleTests-Info.plist";
+ OTHER_LDFLAGS = (
+ "-framework",
+ SenTestingKit,
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUNDLE_LOADER)";
+ WRAPPER_EXTENSION = octest;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 63C1FBA91424230F0074CF99 /* Build configuration list for PBXProject "runkeepersample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 63C1FBE41424230F0074CF99 /* Debug */,
+ 63C1FBE51424230F0074CF99 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 63C1FBE61424230F0074CF99 /* Build configuration list for PBXNativeTarget "runkeepersample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 63C1FBE71424230F0074CF99 /* Debug */,
+ 63C1FBE81424230F0074CF99 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ 63C1FBE91424230F0074CF99 /* Build configuration list for PBXNativeTarget "runkeepersampleTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 63C1FBEA1424230F0074CF99 /* Debug */,
+ 63C1FBEB1424230F0074CF99 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 63C1FBA61424230F0074CF99 /* Project object */;
+}
View
17 runkeepersample/runkeepersample/PositionTracker.h
@@ -0,0 +1,17 @@
+//
+// PositionTracker.h
+// rrgps-iphone
+//
+// Created by Shawn Hyam on 10-10-26.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreLocation/CoreLocation.h>
+#import <AVFoundation/AVFoundation.h>
+
+@interface PositionTracker : NSObject <CLLocationManagerDelegate> {
+ CLLocationManager *locationManager;
+}
+
+@end
View
40 runkeepersample/runkeepersample/PositionTracker.m
@@ -0,0 +1,40 @@
+//
+// PositionTracker.m
+// rrgps-iphone
+//
+// Created by Shawn Hyam on 10-10-26.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import "PositionTracker.h"
+//#import "JSON.h"
+
+
+
+@implementation PositionTracker
+
+
+- (id)init {
+ if (self = [super init]) {
+ locationManager = [[CLLocationManager alloc] init];
+ locationManager.delegate = self;
+ locationManager.desiredAccuracy = kCLLocationAccuracyBest;
+ locationManager.distanceFilter = 0.0;
+ [locationManager startUpdatingLocation];
+ }
+ return self;
+}
+
+- (void)dealloc {
+ [super dealloc];
+ [locationManager stopUpdatingLocation];
+ [locationManager release];
+}
+
+
+- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
+
+}
+
+
+@end
View
22 runkeepersample/runkeepersample/RootViewController.h
@@ -0,0 +1,22 @@
+//
+// RootViewController.h
+// runkeepersample
+//
+// Created by Reid van Melle on 11-09-16.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface RootViewController : UIViewController {
+
+}
+
+@property (nonatomic, retain) IBOutlet UILabel *progressLabel;
+@property (nonatomic, retain) IBOutlet UIButton *startButton;
+
+- (IBAction)toggleStart;
+- (IBAction)connectToRunKeeper;
+
+
+@end
View
84 runkeepersample/runkeepersample/RootViewController.m
@@ -0,0 +1,84 @@
+//
+// RootViewController.m
+// runkeepersample
+//
+// Created by Reid van Melle on 11-09-16.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "RootViewController.h"
+
+@implementation RootViewController
+
+@synthesize progressLabel, startButton;
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ self.title = @"RunKeeper Sample";
+}
+
+- (void)viewWillAppear:(BOOL)animated
+{
+ [super viewWillAppear:animated];
+}
+
+- (void)viewDidAppear:(BOOL)animated
+{
+ [super viewDidAppear:animated];
+}
+
+- (void)viewWillDisappear:(BOOL)animated
+{
+ [super viewWillDisappear:animated];
+}
+
+- (void)viewDidDisappear:(BOOL)animated
+{
+ [super viewDidDisappear:animated];
+}
+
+- (IBAction)toggleStart
+{
+
+}
+
+- (IBAction)connectToRunKeeper
+{
+
+}
+
+/*
+ // Override to allow orientations other than the default portrait orientation.
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ // Return YES for supported orientations.
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+ */
+
+- (void)didReceiveMemoryWarning
+{
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Relinquish ownership any cached data, images, etc that aren't in use.
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ self.progressLabel = nil;
+ self.startButton = nil;
+
+ // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
+ // For example: self.myOutlet = nil;
+}
+
+- (void)dealloc
+{
+ [super dealloc];
+ [self.progressLabel release];
+ [self.startButton release];
+}
+
+@end
View
BIN  runkeepersample/runkeepersample/connect-blue-black-300x57.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2  runkeepersample/runkeepersample/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
542 runkeepersample/runkeepersample/en.lproj/MainWindow.xib
@@ -0,0 +1,542 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10D571</string>
+ <string key="IBDocument.InterfaceBuilderVersion">786</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">112</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="13"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="302016328">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="664661524">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIWindow" id="380026005">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 480}</string>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ <object class="IBUINavigationController" id="701001926">
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ <object class="IBUINavigationBar" key="IBUINavigationBar" id="207850653">
+ <nil key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{0, 0}</string>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <bool key="IBUIMultipleTouchEnabled">YES</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="NSMutableArray" key="IBUIViewControllers">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIViewController" id="619226028">
+ <object class="IBUINavigationItem" key="IBUINavigationItem" id="394667715">
+ <reference key="IBUINavigationBar"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <reference key="IBUIParentViewController" ref="701001926"/>
+ <string key="IBUINibName">RootViewController</string>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
+ <int key="interfaceOrientation">1</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIHorizontal">NO</bool>
+ </object>
+ </object>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="664661524"/>
+ </object>
+ <int key="connectionID">4</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="380026005"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">navigationController</string>
+ <reference key="source" ref="664661524"/>
+ <reference key="destination" ref="701001926"/>
+ </object>
+ <int key="connectionID">15</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="380026005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">3</int>
+ <reference key="object" ref="664661524"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="302016328"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">9</int>
+ <reference key="object" ref="701001926"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="207850653"/>
+ <reference ref="619226028"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="207850653"/>
+ <reference key="parent" ref="701001926"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">13</int>
+ <reference key="object" ref="619226028"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="394667715"/>
+ </object>
+ <reference key="parent" ref="701001926"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">14</int>
+ <reference key="object" ref="394667715"/>
+ <reference key="parent" ref="619226028"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>11.IBPluginDependency</string>
+ <string>13.CustomClassName</string>
+ <string>13.IBPluginDependency</string>
+ <string>2.IBAttributePlaceholdersKey</string>
+ <string>2.IBEditorWindowLastContentRect</string>
+ <string>2.IBPluginDependency</string>
+ <string>3.CustomClassName</string>
+ <string>3.IBPluginDependency</string>
+ <string>9.IBEditorWindowLastContentRect</string>
+ <string>9.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>RootViewController</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <object class="NSMutableDictionary">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <string>{{673, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>runkeepersampleAppDelegate</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{186, 376}, {320, 480}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">16</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">RootViewController</string>
+ <string key="superclassName">UITableViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">RootViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">runkeepersampleAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>navigationController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UINavigationController</string>
+ <string>UIWindow</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>navigationController</string>
+ <string>window</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBToOneOutletInfo">
+ <string key="name">navigationController</string>
+ <string key="candidateClassName">UINavigationController</string>
+ </object>
+ <object class="IBToOneOutletInfo">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">runkeepersampleAppDelegate.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="48103097">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIApplication</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIBarButtonItem</string>
+ <string key="superclassName">UIBarItem</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIBarItem</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UINavigationBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="193736137">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UINavigationController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="720195805">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UINavigationItem</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="193736137"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="48103097"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchBar</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UISearchDisplayController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UITableViewController</string>
+ <string key="superclassName">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <reference key="sourceIdentifier" ref="720195805"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIViewController</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">runkeepersample.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">112</string>
+ </data>
+</archive>
View
337 runkeepersample/runkeepersample/en.lproj/RootViewController.xib
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">784</int>
+ <string key="IBDocument.SystemVersion">10K549</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1306</string>
+ <string key="IBDocument.AppKitVersion">1038.36</string>
+ <string key="IBDocument.HIToolboxVersion">461.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">301</string>
+ </object>
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>IBUIButton</string>
+ <string>IBUIView</string>
+ <string>IBUILabel</string>
+ <string>IBProxyObject</string>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="dict.values" ref="0"/>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="371349661">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIView" id="179956389">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUIButton" id="1068972633">
+ <reference key="NSNextResponder" ref="179956389"/>
+ <int key="NSvFlags">288</int>
+ <string key="NSFrame">{{89, 157}, {143, 71}}</string>
+ <reference key="NSSuperview" ref="179956389"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="895419225"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <object class="NSFont" key="IBUIFont" id="675644361">
+ <string key="NSName">Helvetica-Bold</string>
+ <double key="NSSize">15</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <int key="IBUIButtonType">1</int>
+ <string key="IBUINormalTitle">START</string>
+ <object class="NSColor" key="IBUIHighlightedTitleColor" id="551853887">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <object class="NSColor" key="IBUINormalTitleShadowColor" id="1068649727">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MC41AA</bytes>
+ </object>
+ </object>
+ <object class="IBUIButton" id="895419225">
+ <reference key="NSNextResponder" ref="179956389"/>
+ <int key="NSvFlags">288</int>
+ <string key="NSFrame">{{10, 316}, {300, 57}}</string>
+ <reference key="NSSuperview" ref="179956389"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <int key="IBUIContentHorizontalAlignment">0</int>
+ <int key="IBUIContentVerticalAlignment">0</int>
+ <reference key="IBUIFont" ref="675644361"/>
+ <reference key="IBUIHighlightedTitleColor" ref="551853887"/>
+ <object class="NSColor" key="IBUINormalTitleColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
+ </object>
+ <reference key="IBUINormalTitleShadowColor" ref="1068649727"/>
+ <object class="NSCustomResource" key="IBUINormalImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">connect-blue-black-300x57.png</string>
+ </object>
+ </object>
+ <object class="IBUILabel" id="367054478">
+ <reference key="NSNextResponder" ref="179956389"/>
+ <int key="NSvFlags">292</int>
+ <string key="NSFrame">{{20, 31}, {280, 69}}</string>
+ <reference key="NSSuperview" ref="179956389"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="1068972633"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">3:46</string>
+ <object class="NSFont" key="IBUIFont">
+ <string key="NSName">Helvetica</string>
+ <double key="NSSize">48</double>
+ <int key="NSfFlags">16</int>
+ </object>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">24</float>
+ <int key="IBUITextAlignment">1</int>
+ </object>
+ </object>
+ <string key="NSFrameSize">{320, 460}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="367054478"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">3</int>
+ <bytes key="NSWhite">MQA</bytes>
+ <object class="NSColorSpace" key="NSCustomColorSpace">
+ <int key="NSID">2</int>
+ </object>
+ </object>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">view</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="179956389"/>
+ </object>
+ <int key="connectionID">7</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">toggleStart</string>
+ <reference key="source" ref="1068972633"/>
+ <reference key="destination" ref="841351856"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">11</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchEventConnection" key="connection">
+ <string key="label">connectToRunKeeper</string>
+ <reference key="source" ref="895419225"/>
+ <reference key="destination" ref="841351856"/>
+ <int key="IBEventType">7</int>
+ </object>
+ <int key="connectionID">12</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">progressLabel</string>
+ <reference key="source" ref="841351856"/>
+ <reference key=