├── .gitignore
├── Screenshots
└── 1.png
├── Podfile
├── Places.xcworkspace
└── contents.xcworkspacedata
├── Podfile.lock
├── Places.xcodeproj
├── project.xcworkspace
│ └── contents.xcworkspacedata
├── xcshareddata
│ └── xcschemes
│ │ └── Places.xcscheme
└── project.pbxproj
├── Code
├── BBUPlacesViewController.h
├── BBUAppDelegate.h
├── BBUPlace.h
├── BBUPlace.m
├── BBUAppDelegate.m
└── BBUPlacesViewController.m
├── Supporting_Files
├── Places-Prefix.pch
├── main.m
└── Places-Info.plist
├── Resources
└── Images.xcassets
│ ├── AppIcon.appiconset
│ └── Contents.json
│ └── LaunchImage.launchimage
│ └── Contents.json
├── README.md
└── LICENSE
/.gitignore:
--------------------------------------------------------------------------------
1 | xcuserdata
2 | Pods
3 |
--------------------------------------------------------------------------------
/Screenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/neonichu/Places/HEAD/Screenshots/1.png
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, "7.0"
2 |
3 | target "Places" do
4 |
5 | pod 'moves-ios-sdk'
6 |
7 | end
8 |
9 |
--------------------------------------------------------------------------------
/Places.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - moves-ios-sdk (0.1.1)
3 |
4 | DEPENDENCIES:
5 | - moves-ios-sdk
6 |
7 | SPEC CHECKSUMS:
8 | moves-ios-sdk: 2909733793bcea629b476958dd39aa61342593a2
9 |
10 | COCOAPODS: 0.29.0
11 |
--------------------------------------------------------------------------------
/Places.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Code/BBUPlacesViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // BBUPlacesViewController.h
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface BBUPlacesViewController : UIViewController
12 |
13 | -(void)refresh;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Code/BBUAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // BBUAppDelegate.h
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface BBUAppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Supporting_Files/Places-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header
3 | //
4 | // The contents of this file are implicitly included at the beginning of every source file.
5 | //
6 |
7 | #import
8 |
9 | #ifndef __IPHONE_3_0
10 | #warning "This project uses features only available in iOS SDK 3.0 and later."
11 | #endif
12 |
13 | #ifdef __OBJC__
14 | #import
15 | #import
16 | #endif
17 |
--------------------------------------------------------------------------------
/Supporting_Files/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "BBUAppDelegate.h"
12 |
13 | int main(int argc, char * argv[])
14 | {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([BBUAppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Resources/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "40x40",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "60x60",
16 | "scale" : "2x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Code/BBUPlace.h:
--------------------------------------------------------------------------------
1 | //
2 | // BBUPlace.h
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @class MVPlace;
13 |
14 | @interface BBUPlace : NSObject
15 |
16 | @property (nonatomic, readonly) MKCircle* circle;
17 | @property (nonatomic) NSTimeInterval duration;
18 | @property (nonatomic, readonly) MVPlace* place;
19 |
20 | -(id)initWithPlace:(MVPlace*)place;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Places
2 |
3 | [](http://unmaintained.tech/)
4 |
5 | Places uses the [Moves][1] API to visualize which places you spent the most
6 | time at in the last seven days.
7 |
8 | It runs on iOS 7 only and you need to obtain OAuth credentials from
9 | [Moves][2] to use it.
10 |
11 | ## Screenshots
12 |
13 | 
14 |
15 | ---
16 |
17 | Created by Boris Bügling ()
18 |
19 | [1]: http://www.moves-app.com
20 | [2]: https://dev.moves-app.com/login
21 |
22 |
--------------------------------------------------------------------------------
/Resources/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "extent" : "full-screen",
7 | "minimum-system-version" : "7.0",
8 | "scale" : "2x"
9 | },
10 | {
11 | "orientation" : "portrait",
12 | "idiom" : "iphone",
13 | "subtype" : "retina4",
14 | "extent" : "full-screen",
15 | "minimum-system-version" : "7.0",
16 | "scale" : "2x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014 Boris Buegling (http://buegling.com/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Code/BBUPlace.m:
--------------------------------------------------------------------------------
1 | //
2 | // BBUPlace.m
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "BBUPlace.h"
12 |
13 | @interface BBUPlace ()
14 |
15 | @property (nonatomic) MVPlace* place;
16 |
17 | @end
18 |
19 | #pragma mark -
20 |
21 | @implementation BBUPlace
22 |
23 | -(MKCircle *)circle {
24 | return [MKCircle circleWithCenterCoordinate:self.coordinate radius:MIN(self.duration / 100.0, 300.0)];
25 | }
26 |
27 | -(CLLocationCoordinate2D)coordinate {
28 | return CLLocationCoordinate2DMake(self.place.location.lat, self.place.location.lon);
29 | }
30 |
31 | -(NSString *)description {
32 | return [NSString stringWithFormat:@"BBUPlace: %@ for %f seconds", self.place.name, self.duration];
33 | }
34 |
35 | -(id)initWithPlace:(MVPlace*)place {
36 | self = [super init];
37 | if (self) {
38 | self.duration = 0.0f;
39 | self.place = place;
40 | }
41 | return self;
42 | }
43 |
44 | -(NSString *)subtitle {
45 | return [NSString stringWithFormat:@"%.1f hours", self.duration / 60.0 / 60.0];
46 | }
47 |
48 | -(NSString *)title {
49 | return self.place.name;
50 | }
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Supporting_Files/Places-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIdentifier
12 | org.vu0.${PRODUCT_NAME:rfc1034identifier}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | LSRequiresIPhoneOS
26 |
27 | UIRequiredDeviceCapabilities
28 |
29 | armv7
30 |
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 |
35 | CFBundleURLTypes
36 |
37 |
38 | CFBundleURLName
39 | vu0.org.places
40 | CFBundleURLSchemes
41 |
42 | places://login
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/Code/BBUAppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // BBUAppDelegate.m
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "BBUAppDelegate.h"
12 | #import "BBUPlacesViewController.h"
13 |
14 | static NSString* const BBUMovesClientId = @"MyMovesClientId";
15 | static NSString* const BBUMovesClientSecret = @"MyMovesClientSecret";
16 | static NSString* const BBUMovesURLScheme = @"my://movesUrlScheme";
17 |
18 | @implementation BBUAppDelegate
19 |
20 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
21 | {
22 | [[MovesAPI sharedInstance] setShareMovesOauthClientId:BBUMovesClientId
23 | oauthClientSecret:BBUMovesClientSecret
24 | callbackUrlScheme:BBUMovesURLScheme];
25 |
26 | BBUPlacesViewController* placesViewController = [BBUPlacesViewController new];
27 |
28 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
29 | self.window.backgroundColor = [UIColor whiteColor];
30 | self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:placesViewController];
31 | [self.window makeKeyAndVisible];
32 |
33 | [[MovesAPI sharedInstance] authorizationWithViewController:self.window.rootViewController
34 | success:^{
35 | [[MovesAPI sharedInstance] getUserSuccess:^(MVUser *user) {
36 | [placesViewController refresh];
37 | } failure:^(NSError *error) {
38 | [self showError:error];
39 | }];
40 | } failure:^(NSError *error) {
41 | [self showError:error];
42 | }];
43 |
44 | return YES;
45 | }
46 |
47 | - (BOOL)application:(UIApplication *)application
48 | openURL:(NSURL *)url
49 | sourceApplication:(NSString *)sourceApplication
50 | annotation:(id)annotation
51 | {
52 | if ([[MovesAPI sharedInstance] canHandleOpenUrl:url]) {
53 | return YES;
54 | }
55 |
56 | return NO;
57 | }
58 |
59 | - (void)showError:(NSError*)error
60 | {
61 | UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", nil)
62 | message:error.localizedDescription
63 | delegate:nil
64 | cancelButtonTitle:NSLocalizedString(@"OK", nil)
65 | otherButtonTitles:nil];
66 | [alertView show];
67 | }
68 |
69 | @end
70 |
--------------------------------------------------------------------------------
/Places.xcodeproj/xcshareddata/xcschemes/Places.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
69 |
70 |
76 |
77 |
78 |
79 |
81 |
82 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Code/BBUPlacesViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // BBUPlacesViewController.m
3 | // Places
4 | //
5 | // Created by Boris Bügling on 27.03.14.
6 | // Copyright (c) 2014 Boris Bügling. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | #import "BBUPlace.h"
13 | #import "BBUPlacesViewController.h"
14 |
15 | @interface BBUPlacesViewController ()
16 |
17 | @property (nonatomic) MKMapView* mapView;
18 |
19 | @end
20 |
21 | #pragma mark -
22 |
23 | @implementation BBUPlacesViewController
24 |
25 | -(void)adjustMapRectToOverlays {
26 | MKMapRect zoomRect = MKMapRectNull;
27 |
28 | for (id overlay in self.mapView.overlays) {
29 | MKMapPoint overlayPoint = MKMapPointForCoordinate(overlay.coordinate);
30 | MKMapRect pointRect = MKMapRectMake(overlayPoint.x, overlayPoint.y, 0.1, 0.1);
31 | zoomRect = MKMapRectUnion(zoomRect, pointRect);
32 | }
33 |
34 | [self.mapView setVisibleMapRect:zoomRect animated:YES];
35 | }
36 |
37 | -(id)init {
38 | self = [super init];
39 | if (self) {
40 | self.title = NSLocalizedString(@"Places", nil);
41 | }
42 | return self;
43 | }
44 |
45 | -(void)refresh {
46 | [[MovesAPI sharedInstance] getDailyPlacesByPastDays:7 success:^(NSArray *dailyPlaces) {
47 | NSMutableDictionary* places = [@{} mutableCopy];
48 |
49 | for (MVDailyPlace* place in dailyPlaces) {
50 | for (MVSegment* segment in place.segments) {
51 | if (segment.type != MVSegmentTypePlace) {
52 | continue;
53 | }
54 |
55 | BBUPlace* currentPlace = places[segment.place.placeId];
56 | if (!currentPlace) {
57 | currentPlace = [[BBUPlace alloc] initWithPlace:segment.place];
58 | places[segment.place.placeId] = currentPlace;
59 | }
60 |
61 | currentPlace.duration += [segment.endTime timeIntervalSinceDate:segment.startTime];
62 | }
63 | }
64 |
65 | for (BBUPlace* place in places.allValues) {
66 | [self.mapView addAnnotation:place];
67 | [self.mapView addOverlay:place.circle];
68 | }
69 |
70 | NSArray* placesByDuration = [places.allValues sortedArrayUsingComparator:^NSComparisonResult(BBUPlace* place1,
71 | BBUPlace* place2) {
72 | return [@(place1.duration) compare:@(place2.duration)];
73 | }];
74 |
75 | [self.mapView setCenterCoordinate:[[placesByDuration firstObject] coordinate] animated:YES];
76 | [self adjustMapRectToOverlays];
77 | } failure:^(NSError *error) {
78 | UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", nil)
79 | message:error.localizedDescription
80 | delegate:nil
81 | cancelButtonTitle:NSLocalizedString(@"OK", nil)
82 | otherButtonTitles:nil];
83 | [alertView show];
84 | }];
85 | }
86 |
87 | -(void)viewDidLoad {
88 | [super viewDidLoad];
89 |
90 | self.mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
91 | self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
92 | self.mapView.delegate = self;
93 | [self.view addSubview:self.mapView];
94 | }
95 |
96 | #pragma mark -
97 |
98 | -(MKOverlayView *)mapView:(MKMapView *)map viewForOverlay:(id )overlay {
99 | MKCircleView *circleView = [[MKCircleView alloc] initWithOverlay:overlay];
100 | circleView.strokeColor = [UIColor redColor];
101 | circleView.fillColor = [[UIColor redColor] colorWithAlphaComponent:0.4];
102 | return circleView;
103 | }
104 |
105 | @end
106 |
--------------------------------------------------------------------------------
/Places.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 20F15D6022174B52B4520CED /* libPods-Places.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D376BD0E15CC4510BD225856 /* libPods-Places.a */; };
11 | 86FB841C18E4D680008A41BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86FB841B18E4D680008A41BA /* Foundation.framework */; };
12 | 86FB841E18E4D680008A41BA /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86FB841D18E4D680008A41BA /* CoreGraphics.framework */; };
13 | 86FB842018E4D680008A41BA /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86FB841F18E4D680008A41BA /* UIKit.framework */; };
14 | 86FB842818E4D680008A41BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 86FB842718E4D680008A41BA /* main.m */; };
15 | 86FB842C18E4D680008A41BA /* BBUAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 86FB842B18E4D680008A41BA /* BBUAppDelegate.m */; };
16 | 86FB842E18E4D680008A41BA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 86FB842D18E4D680008A41BA /* Images.xcassets */; };
17 | 86FB844D18E4DBA5008A41BA /* BBUPlacesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 86FB844C18E4DBA5008A41BA /* BBUPlacesViewController.m */; };
18 | 86FB845018E4E2D9008A41BA /* BBUPlace.m in Sources */ = {isa = PBXBuildFile; fileRef = 86FB844F18E4E2D9008A41BA /* BBUPlace.m */; };
19 | /* End PBXBuildFile section */
20 |
21 | /* Begin PBXFileReference section */
22 | 0B6EE380F972459891CECE5C /* Pods-Places.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Places.xcconfig"; path = "Pods/Pods-Places.xcconfig"; sourceTree = ""; };
23 | 86FB841818E4D680008A41BA /* Places.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Places.app; sourceTree = BUILT_PRODUCTS_DIR; };
24 | 86FB841B18E4D680008A41BA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
25 | 86FB841D18E4D680008A41BA /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
26 | 86FB841F18E4D680008A41BA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
27 | 86FB842318E4D680008A41BA /* Places-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Places-Info.plist"; sourceTree = ""; };
28 | 86FB842718E4D680008A41BA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
29 | 86FB842918E4D680008A41BA /* Places-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Places-Prefix.pch"; sourceTree = ""; };
30 | 86FB842A18E4D680008A41BA /* BBUAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BBUAppDelegate.h; sourceTree = ""; };
31 | 86FB842B18E4D680008A41BA /* BBUAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BBUAppDelegate.m; sourceTree = ""; };
32 | 86FB842D18E4D680008A41BA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
33 | 86FB844B18E4DBA5008A41BA /* BBUPlacesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BBUPlacesViewController.h; sourceTree = ""; };
34 | 86FB844C18E4DBA5008A41BA /* BBUPlacesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BBUPlacesViewController.m; sourceTree = ""; };
35 | 86FB844E18E4E2D9008A41BA /* BBUPlace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BBUPlace.h; sourceTree = ""; };
36 | 86FB844F18E4E2D9008A41BA /* BBUPlace.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BBUPlace.m; sourceTree = ""; };
37 | D376BD0E15CC4510BD225856 /* libPods-Places.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Places.a"; sourceTree = BUILT_PRODUCTS_DIR; };
38 | /* End PBXFileReference section */
39 |
40 | /* Begin PBXFrameworksBuildPhase section */
41 | 86FB841518E4D680008A41BA /* Frameworks */ = {
42 | isa = PBXFrameworksBuildPhase;
43 | buildActionMask = 2147483647;
44 | files = (
45 | 86FB841E18E4D680008A41BA /* CoreGraphics.framework in Frameworks */,
46 | 86FB842018E4D680008A41BA /* UIKit.framework in Frameworks */,
47 | 86FB841C18E4D680008A41BA /* Foundation.framework in Frameworks */,
48 | 20F15D6022174B52B4520CED /* libPods-Places.a in Frameworks */,
49 | );
50 | runOnlyForDeploymentPostprocessing = 0;
51 | };
52 | /* End PBXFrameworksBuildPhase section */
53 |
54 | /* Begin PBXGroup section */
55 | 86FB840F18E4D680008A41BA = {
56 | isa = PBXGroup;
57 | children = (
58 | 86FB842118E4D680008A41BA /* Code */,
59 | 86FB841A18E4D680008A41BA /* Frameworks */,
60 | 86FB841918E4D680008A41BA /* Products */,
61 | 86FB844A18E4D6D3008A41BA /* Resources */,
62 | 86FB842218E4D680008A41BA /* Supporting Files */,
63 | 0B6EE380F972459891CECE5C /* Pods-Places.xcconfig */,
64 | );
65 | sourceTree = "";
66 | };
67 | 86FB841918E4D680008A41BA /* Products */ = {
68 | isa = PBXGroup;
69 | children = (
70 | 86FB841818E4D680008A41BA /* Places.app */,
71 | );
72 | name = Products;
73 | sourceTree = "";
74 | };
75 | 86FB841A18E4D680008A41BA /* Frameworks */ = {
76 | isa = PBXGroup;
77 | children = (
78 | 86FB841D18E4D680008A41BA /* CoreGraphics.framework */,
79 | 86FB841B18E4D680008A41BA /* Foundation.framework */,
80 | 86FB841F18E4D680008A41BA /* UIKit.framework */,
81 | D376BD0E15CC4510BD225856 /* libPods-Places.a */,
82 | );
83 | name = Frameworks;
84 | sourceTree = "";
85 | };
86 | 86FB842118E4D680008A41BA /* Code */ = {
87 | isa = PBXGroup;
88 | children = (
89 | 86FB842A18E4D680008A41BA /* BBUAppDelegate.h */,
90 | 86FB842B18E4D680008A41BA /* BBUAppDelegate.m */,
91 | 86FB844E18E4E2D9008A41BA /* BBUPlace.h */,
92 | 86FB844F18E4E2D9008A41BA /* BBUPlace.m */,
93 | 86FB844B18E4DBA5008A41BA /* BBUPlacesViewController.h */,
94 | 86FB844C18E4DBA5008A41BA /* BBUPlacesViewController.m */,
95 | );
96 | path = Code;
97 | sourceTree = "";
98 | };
99 | 86FB842218E4D680008A41BA /* Supporting Files */ = {
100 | isa = PBXGroup;
101 | children = (
102 | 86FB842718E4D680008A41BA /* main.m */,
103 | 86FB842318E4D680008A41BA /* Places-Info.plist */,
104 | 86FB842918E4D680008A41BA /* Places-Prefix.pch */,
105 | );
106 | name = "Supporting Files";
107 | path = Supporting_Files;
108 | sourceTree = "";
109 | };
110 | 86FB844A18E4D6D3008A41BA /* Resources */ = {
111 | isa = PBXGroup;
112 | children = (
113 | 86FB842D18E4D680008A41BA /* Images.xcassets */,
114 | );
115 | path = Resources;
116 | sourceTree = "";
117 | };
118 | /* End PBXGroup section */
119 |
120 | /* Begin PBXNativeTarget section */
121 | 86FB841718E4D680008A41BA /* Places */ = {
122 | isa = PBXNativeTarget;
123 | buildConfigurationList = 86FB844418E4D680008A41BA /* Build configuration list for PBXNativeTarget "Places" */;
124 | buildPhases = (
125 | 88ED3A2A3BB347A893B16888 /* Check Pods Manifest.lock */,
126 | 86FB841418E4D680008A41BA /* Sources */,
127 | 86FB841518E4D680008A41BA /* Frameworks */,
128 | 86FB841618E4D680008A41BA /* Resources */,
129 | 881B0B89FAA046188732D870 /* Copy Pods Resources */,
130 | );
131 | buildRules = (
132 | );
133 | dependencies = (
134 | );
135 | name = Places;
136 | productName = Places;
137 | productReference = 86FB841818E4D680008A41BA /* Places.app */;
138 | productType = "com.apple.product-type.application";
139 | };
140 | /* End PBXNativeTarget section */
141 |
142 | /* Begin PBXProject section */
143 | 86FB841018E4D680008A41BA /* Project object */ = {
144 | isa = PBXProject;
145 | attributes = {
146 | CLASSPREFIX = BBU;
147 | LastUpgradeCheck = 0510;
148 | ORGANIZATIONNAME = "Boris Bügling";
149 | };
150 | buildConfigurationList = 86FB841318E4D680008A41BA /* Build configuration list for PBXProject "Places" */;
151 | compatibilityVersion = "Xcode 3.2";
152 | developmentRegion = English;
153 | hasScannedForEncodings = 0;
154 | knownRegions = (
155 | en,
156 | );
157 | mainGroup = 86FB840F18E4D680008A41BA;
158 | productRefGroup = 86FB841918E4D680008A41BA /* Products */;
159 | projectDirPath = "";
160 | projectRoot = "";
161 | targets = (
162 | 86FB841718E4D680008A41BA /* Places */,
163 | );
164 | };
165 | /* End PBXProject section */
166 |
167 | /* Begin PBXResourcesBuildPhase section */
168 | 86FB841618E4D680008A41BA /* Resources */ = {
169 | isa = PBXResourcesBuildPhase;
170 | buildActionMask = 2147483647;
171 | files = (
172 | 86FB842E18E4D680008A41BA /* Images.xcassets in Resources */,
173 | );
174 | runOnlyForDeploymentPostprocessing = 0;
175 | };
176 | /* End PBXResourcesBuildPhase section */
177 |
178 | /* Begin PBXShellScriptBuildPhase section */
179 | 881B0B89FAA046188732D870 /* Copy Pods Resources */ = {
180 | isa = PBXShellScriptBuildPhase;
181 | buildActionMask = 2147483647;
182 | files = (
183 | );
184 | inputPaths = (
185 | );
186 | name = "Copy Pods Resources";
187 | outputPaths = (
188 | );
189 | runOnlyForDeploymentPostprocessing = 0;
190 | shellPath = /bin/sh;
191 | shellScript = "\"${SRCROOT}/Pods/Pods-Places-resources.sh\"\n";
192 | showEnvVarsInLog = 0;
193 | };
194 | 88ED3A2A3BB347A893B16888 /* Check Pods Manifest.lock */ = {
195 | isa = PBXShellScriptBuildPhase;
196 | buildActionMask = 2147483647;
197 | files = (
198 | );
199 | inputPaths = (
200 | );
201 | name = "Check Pods Manifest.lock";
202 | outputPaths = (
203 | );
204 | runOnlyForDeploymentPostprocessing = 0;
205 | shellPath = /bin/sh;
206 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
207 | showEnvVarsInLog = 0;
208 | };
209 | /* End PBXShellScriptBuildPhase section */
210 |
211 | /* Begin PBXSourcesBuildPhase section */
212 | 86FB841418E4D680008A41BA /* Sources */ = {
213 | isa = PBXSourcesBuildPhase;
214 | buildActionMask = 2147483647;
215 | files = (
216 | 86FB842C18E4D680008A41BA /* BBUAppDelegate.m in Sources */,
217 | 86FB844D18E4DBA5008A41BA /* BBUPlacesViewController.m in Sources */,
218 | 86FB842818E4D680008A41BA /* main.m in Sources */,
219 | 86FB845018E4E2D9008A41BA /* BBUPlace.m in Sources */,
220 | );
221 | runOnlyForDeploymentPostprocessing = 0;
222 | };
223 | /* End PBXSourcesBuildPhase section */
224 |
225 | /* Begin XCBuildConfiguration section */
226 | 86FB844218E4D680008A41BA /* Debug */ = {
227 | isa = XCBuildConfiguration;
228 | buildSettings = {
229 | ALWAYS_SEARCH_USER_PATHS = NO;
230 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
231 | CLANG_CXX_LIBRARY = "libc++";
232 | CLANG_ENABLE_MODULES = YES;
233 | CLANG_ENABLE_OBJC_ARC = YES;
234 | CLANG_WARN_BOOL_CONVERSION = YES;
235 | CLANG_WARN_CONSTANT_CONVERSION = YES;
236 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
237 | CLANG_WARN_EMPTY_BODY = YES;
238 | CLANG_WARN_ENUM_CONVERSION = YES;
239 | CLANG_WARN_INT_CONVERSION = YES;
240 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
241 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
242 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
243 | COPY_PHASE_STRIP = NO;
244 | GCC_C_LANGUAGE_STANDARD = gnu99;
245 | GCC_DYNAMIC_NO_PIC = NO;
246 | GCC_OPTIMIZATION_LEVEL = 0;
247 | GCC_PREPROCESSOR_DEFINITIONS = (
248 | "DEBUG=1",
249 | "$(inherited)",
250 | );
251 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
252 | GCC_TREAT_WARNINGS_AS_ERRORS = YES;
253 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
254 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
255 | GCC_WARN_UNDECLARED_SELECTOR = YES;
256 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
257 | GCC_WARN_UNUSED_FUNCTION = YES;
258 | GCC_WARN_UNUSED_VARIABLE = YES;
259 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
260 | ONLY_ACTIVE_ARCH = YES;
261 | SDKROOT = iphoneos;
262 | };
263 | name = Debug;
264 | };
265 | 86FB844318E4D680008A41BA /* Release */ = {
266 | isa = XCBuildConfiguration;
267 | buildSettings = {
268 | ALWAYS_SEARCH_USER_PATHS = NO;
269 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
270 | CLANG_CXX_LIBRARY = "libc++";
271 | CLANG_ENABLE_MODULES = YES;
272 | CLANG_ENABLE_OBJC_ARC = YES;
273 | CLANG_WARN_BOOL_CONVERSION = YES;
274 | CLANG_WARN_CONSTANT_CONVERSION = YES;
275 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
276 | CLANG_WARN_EMPTY_BODY = YES;
277 | CLANG_WARN_ENUM_CONVERSION = YES;
278 | CLANG_WARN_INT_CONVERSION = YES;
279 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
280 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
281 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
282 | COPY_PHASE_STRIP = YES;
283 | ENABLE_NS_ASSERTIONS = NO;
284 | GCC_C_LANGUAGE_STANDARD = gnu99;
285 | GCC_TREAT_WARNINGS_AS_ERRORS = YES;
286 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
287 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
288 | GCC_WARN_UNDECLARED_SELECTOR = YES;
289 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
290 | GCC_WARN_UNUSED_FUNCTION = YES;
291 | GCC_WARN_UNUSED_VARIABLE = YES;
292 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
293 | SDKROOT = iphoneos;
294 | VALIDATE_PRODUCT = YES;
295 | };
296 | name = Release;
297 | };
298 | 86FB844518E4D680008A41BA /* Debug */ = {
299 | isa = XCBuildConfiguration;
300 | baseConfigurationReference = 0B6EE380F972459891CECE5C /* Pods-Places.xcconfig */;
301 | buildSettings = {
302 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
303 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
304 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
305 | GCC_PREFIX_HEADER = "Supporting_Files/Places-Prefix.pch";
306 | INFOPLIST_FILE = "$(SRCROOT)/Supporting_Files/Places-Info.plist";
307 | PRODUCT_NAME = "$(TARGET_NAME)";
308 | WRAPPER_EXTENSION = app;
309 | };
310 | name = Debug;
311 | };
312 | 86FB844618E4D680008A41BA /* Release */ = {
313 | isa = XCBuildConfiguration;
314 | baseConfigurationReference = 0B6EE380F972459891CECE5C /* Pods-Places.xcconfig */;
315 | buildSettings = {
316 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
317 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
318 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
319 | GCC_PREFIX_HEADER = "Supporting_Files/Places-Prefix.pch";
320 | INFOPLIST_FILE = "$(SRCROOT)/Supporting_Files/Places-Info.plist";
321 | PRODUCT_NAME = "$(TARGET_NAME)";
322 | WRAPPER_EXTENSION = app;
323 | };
324 | name = Release;
325 | };
326 | /* End XCBuildConfiguration section */
327 |
328 | /* Begin XCConfigurationList section */
329 | 86FB841318E4D680008A41BA /* Build configuration list for PBXProject "Places" */ = {
330 | isa = XCConfigurationList;
331 | buildConfigurations = (
332 | 86FB844218E4D680008A41BA /* Debug */,
333 | 86FB844318E4D680008A41BA /* Release */,
334 | );
335 | defaultConfigurationIsVisible = 0;
336 | defaultConfigurationName = Release;
337 | };
338 | 86FB844418E4D680008A41BA /* Build configuration list for PBXNativeTarget "Places" */ = {
339 | isa = XCConfigurationList;
340 | buildConfigurations = (
341 | 86FB844518E4D680008A41BA /* Debug */,
342 | 86FB844618E4D680008A41BA /* Release */,
343 | );
344 | defaultConfigurationIsVisible = 0;
345 | defaultConfigurationName = Release;
346 | };
347 | /* End XCConfigurationList section */
348 | };
349 | rootObject = 86FB841018E4D680008A41BA /* Project object */;
350 | }
351 |
--------------------------------------------------------------------------------