From 52f39e8de752b962d3837580fc27312172dbe614 Mon Sep 17 00:00:00 2001 From: Marco Meschini Date: Thu, 28 Aug 2014 16:34:12 +0100 Subject: [PATCH 1/4] update .gitignore --- .gitignore | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 110b98e..7fce5a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,136 @@ -XcodeProject/FTGooglePlacesAPI.xcodeproj/project.xcworkspace/xcuserdata -XcodeProject/FTGooglePlacesAPI.xcodeproj/xcuserdata +######################### +# .gitignore file for Xcode4 / OS X Source projects +# +# Version 2.0 +# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects +# +# 2013 updates: +# - fixed the broken "save personal Schemes" +# +# NB: if you are storing "built" products, this WILL NOT WORK, +# and you should use a different .gitignore (or none at all) +# This file is for SOURCE projects, where there are many extra +# files that we want to exclude +# +######################### + +##### +# OS X temporary files that should never be committed + +.DS_Store +*.swp +*.lock +profile + + +#### +# Xcode temporary files that should never be committed +# +# NB: NIB/XIB files still exist even on Storyboard projects, so we want this... + +*~.nib + + +#### +# Xcode build files - +# +# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData" + +DerivedData/ + +# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" + +build/ + + +##### +# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) +# +# This is complicated: +# +# SOMETIMES you need to put this file in version control. +# Apple designed it poorly - if you use "custom executables", they are +# saved in this file. +# 99% of projects do NOT use those, so they do NOT want to version control this file. +# ..but if you're in the 1%, comment out the line "*.pbxuser" + +*.pbxuser +*.mode1v3 +*.mode2v3 +*.perspectivev3 +# NB: also, whitelist the default ones, some projects need to use these +!default.pbxuser +!default.mode1v3 +!default.mode2v3 +!default.perspectivev3 + + +#### +# Xcode 4 - semi-personal settings +# +# +# OPTION 1: --------------------------------- +# throw away ALL personal settings (including custom schemes! +# - unless they are "shared") +# +# NB: this is exclusive with OPTION 2 below +xcuserdata + +# OPTION 2: --------------------------------- +# get rid of ALL personal settings, but KEEP SOME OF THEM +# - NB: you must manually uncomment the bits you want to keep +# +# NB: this is exclusive with OPTION 1 above +# +#xcuserdata/**/* + +# (requires option 2 above): Personal Schemes +# +#!xcuserdata/**/xcschemes/* + +#### +# XCode 4 workspaces - more detailed +# +# Workspaces are important! They are a core feature of Xcode - don't exclude them :) +# +# Workspace layout is quite spammy. For reference: +# +# /(root)/ +# /(project-name).xcodeproj/ +# project.pbxproj +# /project.xcworkspace/ +# contents.xcworkspacedata +# /xcuserdata/ +# /(your name)/xcuserdatad/ +# UserInterfaceState.xcuserstate +# /xcsshareddata/ +# /xcschemes/ +# (shared scheme name).xcscheme +# /xcuserdata/ +# /(your name)/xcuserdatad/ +# (private scheme).xcscheme +# xcschememanagement.plist +# +# + +#### +# Xcode 4 - Deprecated classes +# +# Allegedly, if you manually "deprecate" your classes, they get moved here. +# +# We're using source-control, so this is a "feature" that we do not want! + +*.moved-aside + + #### +# Cocoapods +Pods/ +!Podfile.lock + +#AppCode +.idea/ + +#### +# UNKNOWN: recommended by others, but I can't discover what these files are +# +# ...none. Everything is now explained. From 898ca4e6c3401173eddbc57c307e8597d7f14ee7 Mon Sep 17 00:00:00 2001 From: Marco Meschini Date: Thu, 28 Aug 2014 16:34:38 +0100 Subject: [PATCH 2/4] add sample project --- .../project.pbxproj | 564 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../FTGooglePlacesAPIExample.xccheckout | 41 ++ .../contents.xcworkspacedata | 1 + .../FTGooglePlacesAPIExample.xccheckout | 41 ++ .../FTGooglePlacesAPIExample/FTAppDelegate.h | 15 + .../FTGooglePlacesAPIExample/FTAppDelegate.m | 84 +++ .../FTGooglePlacesAPIExample-Info.plist | 38 ++ .../FTGooglePlacesAPIExample-Prefix.pch | 16 + ...oglePlacesAPIExampleDetailViewController.h | 17 + ...oglePlacesAPIExampleDetailViewController.m | 134 +++++ ...glePlacesAPIExampleResultsViewController.h | 30 + ...glePlacesAPIExampleResultsViewController.m | 253 ++++++++ ...ooglePlacesAPIExamplesListViewController.h | 13 + ...ooglePlacesAPIExamplesListViewController.m | 225 +++++++ .../AppIcon.appiconset/Contents.json | 23 + .../LaunchImage.launchimage/Contents.json | 25 + .../Default-568h@2x.png | Bin 0 -> 18594 bytes .../LaunchImage.launchimage/Default@2x.png | Bin 0 -> 16107 bytes .../Images/powered-by-google-on-white.png | Bin 0 -> 2586 bytes .../Images/powered-by-google-on-white@2x.png | Bin 0 -> 6971 bytes .../en.lproj/InfoPlist.strings | 2 + Example/FTGooglePlacesAPIExample/main.m | 18 + .../FTGooglePlacesAPIExampleTests-Info.plist | 22 + .../FTGooglePlacesAPIExampleTests.m | 34 ++ .../en.lproj/InfoPlist.strings | 2 + Example/Podfile | 17 + 27 files changed, 1622 insertions(+) create mode 100644 Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj create mode 100644 Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout create mode 100644 Example/FTGooglePlacesAPIExample.xcworkspace/contents.xcworkspacedata create mode 100644 Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout create mode 100644 Example/FTGooglePlacesAPIExample/FTAppDelegate.h create mode 100644 Example/FTGooglePlacesAPIExample/FTAppDelegate.m create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.h create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.m create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.h create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.m create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.h create mode 100644 Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.m create mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png create mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png create mode 100755 Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white.png create mode 100644 Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white@2x.png create mode 100644 Example/FTGooglePlacesAPIExample/en.lproj/InfoPlist.strings create mode 100644 Example/FTGooglePlacesAPIExample/main.m create mode 100644 Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist create mode 100644 Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m create mode 100644 Example/FTGooglePlacesAPIExampleTests/en.lproj/InfoPlist.strings create mode 100644 Example/Podfile diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e49ee22 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj @@ -0,0 +1,564 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + C63EC366559D48558843F3B6 /* libPods-FTGooglePlacesAPIExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */; }; + E435D98E19AF74BA001639F1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98D19AF74BA001639F1 /* Foundation.framework */; }; + E435D99019AF74BA001639F1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98F19AF74BA001639F1 /* CoreGraphics.framework */; }; + E435D99219AF74BA001639F1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D99119AF74BA001639F1 /* UIKit.framework */; }; + E435D99819AF74BA001639F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E435D99619AF74BA001639F1 /* InfoPlist.strings */; }; + E435D99A19AF74BA001639F1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D99919AF74BA001639F1 /* main.m */; }; + E435D99E19AF74BA001639F1 /* FTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D99D19AF74BA001639F1 /* FTAppDelegate.m */; }; + E435D9A019AF74BA001639F1 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E435D99F19AF74BA001639F1 /* Images.xcassets */; }; + E435D9A719AF74BA001639F1 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D9A619AF74BA001639F1 /* XCTest.framework */; }; + E435D9A819AF74BA001639F1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98D19AF74BA001639F1 /* Foundation.framework */; }; + E435D9A919AF74BA001639F1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D99119AF74BA001639F1 /* UIKit.framework */; }; + E435D9B119AF74BA001639F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E435D9AF19AF74BA001639F1 /* InfoPlist.strings */; }; + E435D9B319AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */; }; + E435D9C219AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */; }; + E435D9C319AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */; }; + E435D9C419AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */; }; + E435D9CC19AF80D0001639F1 /* powered-by-google-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */; }; + E435D9CD19AF80D0001639F1 /* powered-by-google-on-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + E435D9AA19AF74BA001639F1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E435D98219AF74BA001639F1 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E435D98919AF74BA001639F1; + remoteInfo = FTGooglePlacesAPIExample; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FTGooglePlacesAPIExample.xcconfig"; path = "Pods/Pods-FTGooglePlacesAPIExample.xcconfig"; sourceTree = ""; }; + BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FTGooglePlacesAPIExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FTGooglePlacesAPIExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E435D98D19AF74BA001639F1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + E435D98F19AF74BA001639F1 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + E435D99119AF74BA001639F1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + E435D99519AF74BA001639F1 /* FTGooglePlacesAPIExample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExample-Info.plist"; sourceTree = ""; }; + E435D99719AF74BA001639F1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + E435D99919AF74BA001639F1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + E435D99B19AF74BA001639F1 /* FTGooglePlacesAPIExample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FTGooglePlacesAPIExample-Prefix.pch"; sourceTree = ""; }; + E435D99C19AF74BA001639F1 /* FTAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTAppDelegate.h; sourceTree = ""; }; + E435D99D19AF74BA001639F1 /* FTAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTAppDelegate.m; sourceTree = ""; }; + E435D99F19AF74BA001639F1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FTGooglePlacesAPIExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E435D9A619AF74BA001639F1 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + E435D9AE19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExampleTests-Info.plist"; sourceTree = ""; }; + E435D9B019AF74BA001639F1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleTests.m; sourceTree = ""; }; + E435D9BC19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleDetailViewController.h; sourceTree = ""; }; + E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleDetailViewController.m; sourceTree = ""; }; + E435D9BE19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleResultsViewController.h; sourceTree = ""; }; + E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleResultsViewController.m; sourceTree = ""; }; + E435D9C019AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExamplesListViewController.h; sourceTree = ""; }; + E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExamplesListViewController.m; sourceTree = ""; }; + E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white.png"; sourceTree = ""; }; + E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white@2x.png"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E435D98719AF74BA001639F1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D99019AF74BA001639F1 /* CoreGraphics.framework in Frameworks */, + E435D99219AF74BA001639F1 /* UIKit.framework in Frameworks */, + E435D98E19AF74BA001639F1 /* Foundation.framework in Frameworks */, + C63EC366559D48558843F3B6 /* libPods-FTGooglePlacesAPIExample.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E435D9A219AF74BA001639F1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D9A719AF74BA001639F1 /* XCTest.framework in Frameworks */, + E435D9A919AF74BA001639F1 /* UIKit.framework in Frameworks */, + E435D9A819AF74BA001639F1 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + E435D98119AF74BA001639F1 = { + isa = PBXGroup; + children = ( + E435D99319AF74BA001639F1 /* FTGooglePlacesAPIExample */, + E435D9AC19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */, + E435D98C19AF74BA001639F1 /* Frameworks */, + E435D98B19AF74BA001639F1 /* Products */, + B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */, + ); + sourceTree = ""; + }; + E435D98B19AF74BA001639F1 /* Products */ = { + isa = PBXGroup; + children = ( + E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */, + E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + E435D98C19AF74BA001639F1 /* Frameworks */ = { + isa = PBXGroup; + children = ( + E435D98D19AF74BA001639F1 /* Foundation.framework */, + E435D98F19AF74BA001639F1 /* CoreGraphics.framework */, + E435D99119AF74BA001639F1 /* UIKit.framework */, + E435D9A619AF74BA001639F1 /* XCTest.framework */, + BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + E435D99319AF74BA001639F1 /* FTGooglePlacesAPIExample */ = { + isa = PBXGroup; + children = ( + E435D99C19AF74BA001639F1 /* FTAppDelegate.h */, + E435D99D19AF74BA001639F1 /* FTAppDelegate.m */, + E435D9D119AF80F5001639F1 /* View controllers */, + E435D99F19AF74BA001639F1 /* Images.xcassets */, + E435D99419AF74BA001639F1 /* Supporting Files */, + ); + path = FTGooglePlacesAPIExample; + sourceTree = ""; + }; + E435D99419AF74BA001639F1 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + E435D9C519AF80D0001639F1 /* Images */, + E435D99519AF74BA001639F1 /* FTGooglePlacesAPIExample-Info.plist */, + E435D99619AF74BA001639F1 /* InfoPlist.strings */, + E435D99919AF74BA001639F1 /* main.m */, + E435D99B19AF74BA001639F1 /* FTGooglePlacesAPIExample-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + E435D9AC19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */ = { + isa = PBXGroup; + children = ( + E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */, + E435D9AD19AF74BA001639F1 /* Supporting Files */, + ); + path = FTGooglePlacesAPIExampleTests; + sourceTree = ""; + }; + E435D9AD19AF74BA001639F1 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + E435D9AE19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests-Info.plist */, + E435D9AF19AF74BA001639F1 /* InfoPlist.strings */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + E435D9C519AF80D0001639F1 /* Images */ = { + isa = PBXGroup; + children = ( + E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */, + E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */, + ); + path = Images; + sourceTree = ""; + }; + E435D9D119AF80F5001639F1 /* View controllers */ = { + isa = PBXGroup; + children = ( + E435D9D219AF8107001639F1 /* Examples list */, + E435D9D419AF811C001639F1 /* Results list */, + E435D9D319AF8112001639F1 /* Detail */, + ); + name = "View controllers"; + sourceTree = ""; + }; + E435D9D219AF8107001639F1 /* Examples list */ = { + isa = PBXGroup; + children = ( + E435D9C019AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.h */, + E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */, + ); + name = "Examples list"; + sourceTree = ""; + }; + E435D9D319AF8112001639F1 /* Detail */ = { + isa = PBXGroup; + children = ( + E435D9BC19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.h */, + E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */, + ); + name = Detail; + sourceTree = ""; + }; + E435D9D419AF811C001639F1 /* Results list */ = { + isa = PBXGroup; + children = ( + E435D9BE19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.h */, + E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */, + ); + name = "Results list"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = E435D9B619AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */; + buildPhases = ( + E33DF773B998497F99E7E1BA /* Check Pods Manifest.lock */, + E435D98619AF74BA001639F1 /* Sources */, + E435D98719AF74BA001639F1 /* Frameworks */, + E435D98819AF74BA001639F1 /* Resources */, + 29FA7FFEDC074B7986CBAF5E /* Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FTGooglePlacesAPIExample; + productName = FTGooglePlacesAPIExample; + productReference = E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */; + productType = "com.apple.product-type.application"; + }; + E435D9A419AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E435D9B919AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */; + buildPhases = ( + E435D9A119AF74BA001639F1 /* Sources */, + E435D9A219AF74BA001639F1 /* Frameworks */, + E435D9A319AF74BA001639F1 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + E435D9AB19AF74BA001639F1 /* PBXTargetDependency */, + ); + name = FTGooglePlacesAPIExampleTests; + productName = FTGooglePlacesAPIExampleTests; + productReference = E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E435D98219AF74BA001639F1 /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = FT; + LastUpgradeCheck = 0510; + ORGANIZATIONNAME = "Marco Meschini"; + TargetAttributes = { + E435D9A419AF74BA001639F1 = { + TestTargetID = E435D98919AF74BA001639F1; + }; + }; + }; + buildConfigurationList = E435D98519AF74BA001639F1 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = E435D98119AF74BA001639F1; + productRefGroup = E435D98B19AF74BA001639F1 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */, + E435D9A419AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + E435D98819AF74BA001639F1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D99819AF74BA001639F1 /* InfoPlist.strings in Resources */, + E435D9A019AF74BA001639F1 /* Images.xcassets in Resources */, + E435D9CD19AF80D0001639F1 /* powered-by-google-on-white@2x.png in Resources */, + E435D9CC19AF80D0001639F1 /* powered-by-google-on-white.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E435D9A319AF74BA001639F1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D9B119AF74BA001639F1 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 29FA7FFEDC074B7986CBAF5E /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Pods-FTGooglePlacesAPIExample-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + E33DF773B998497F99E7E1BA /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E435D98619AF74BA001639F1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D9C419AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */, + E435D9C319AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */, + E435D99E19AF74BA001639F1 /* FTAppDelegate.m in Sources */, + E435D99A19AF74BA001639F1 /* main.m in Sources */, + E435D9C219AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E435D9A119AF74BA001639F1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E435D9B319AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + E435D9AB19AF74BA001639F1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */; + targetProxy = E435D9AA19AF74BA001639F1 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + E435D99619AF74BA001639F1 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + E435D99719AF74BA001639F1 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + E435D9AF19AF74BA001639F1 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + E435D9B019AF74BA001639F1 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + E435D9B419AF74BA001639F1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + E435D9B519AF74BA001639F1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 7.1; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E435D9B719AF74BA001639F1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch"; + INFOPLIST_FILE = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + E435D9B819AF74BA001639F1 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch"; + INFOPLIST_FILE = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; + E435D9BA19AF74BA001639F1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/FTGooglePlacesAPIExample.app/FTGooglePlacesAPIExample"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = "FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Debug; + }; + E435D9BB19AF74BA001639F1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/FTGooglePlacesAPIExample.app/FTGooglePlacesAPIExample"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch"; + INFOPLIST_FILE = "FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUNDLE_LOADER)"; + WRAPPER_EXTENSION = xctest; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E435D98519AF74BA001639F1 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E435D9B419AF74BA001639F1 /* Debug */, + E435D9B519AF74BA001639F1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E435D9B619AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E435D9B719AF74BA001639F1 /* Debug */, + E435D9B819AF74BA001639F1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E435D9B919AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E435D9BA19AF74BA001639F1 /* Debug */, + E435D9BB19AF74BA001639F1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E435D98219AF74BA001639F1 /* Project object */; +} diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..f51ec30 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout new file mode 100644 index 0000000..d90782a --- /dev/null +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 4498DB9A-53C8-4762-983B-593F4A48F542 + IDESourceControlProjectName + FTGooglePlacesAPIExample + IDESourceControlProjectOriginsDictionary + + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + + IDESourceControlProjectPath + Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + ../../../.. + + IDESourceControlProjectURL + ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + IDESourceControlWCCName + FTGooglePlacesAPI + + + + diff --git a/Example/FTGooglePlacesAPIExample.xcworkspace/contents.xcworkspacedata b/Example/FTGooglePlacesAPIExample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..97635aa --- /dev/null +++ b/Example/FTGooglePlacesAPIExample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout b/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout new file mode 100644 index 0000000..d46f36d --- /dev/null +++ b/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 6F4E3F87-C5EC-4AEE-A946-80C77E432D07 + IDESourceControlProjectName + FTGooglePlacesAPIExample + IDESourceControlProjectOriginsDictionary + + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + + IDESourceControlProjectPath + Example/FTGooglePlacesAPIExample.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + ../.. + + IDESourceControlProjectURL + ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + IDESourceControlWCCName + FTGooglePlacesAPI + + + + diff --git a/Example/FTGooglePlacesAPIExample/FTAppDelegate.h b/Example/FTGooglePlacesAPIExample/FTAppDelegate.h new file mode 100644 index 0000000..440a737 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTAppDelegate.h @@ -0,0 +1,15 @@ +// +// FTAppDelegate.h +// FTGooglePlacesAPIExample +// +// Created by Marco Meschini on 28/08/2014. +// Copyright (c) 2014 Marco Meschini. All rights reserved. +// + +#import + +@interface FTAppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTAppDelegate.m b/Example/FTGooglePlacesAPIExample/FTAppDelegate.m new file mode 100644 index 0000000..2261888 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTAppDelegate.m @@ -0,0 +1,84 @@ +// +// FTAppDelegate.m +// FTGooglePlacesAPIExample +// +// Created by Marco Meschini on 28/08/2014. +// Copyright (c) 2014 Marco Meschini. All rights reserved. +// + +#import "FTAppDelegate.h" +#import "FTGooglePlacesAPIExamplesListViewController.h" +#import "FTGooglePlacesAPI.h" + +@implementation FTAppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + + UIViewController *rootController = [[FTGooglePlacesAPIExamplesListViewController alloc] init]; + UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootController]; + +#warning Possible incomplete implementation. Make sure you add you own Google Places API key + [FTGooglePlacesAPIService provideAPIKey:@""]; + + + self.window.rootViewController = navController; + + [self createAttributionsViews]; + [self.window makeKeyAndVisible]; + + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + +#pragma mark - Helper methods + +- (void)createAttributionsViews +{ + UIView *containerView = self.window.rootViewController.view; + + // To comply with Google Places API Policies at https://developers.google.com/places/policies + // we display "Powered by Google" logo. For simplicity, it is simply added as a subview + // to root controller's view. This ensures the logo is always visible. + UIImage *googleLogo = [UIImage imageNamed:@"powered-by-google-on-white"]; + UIImageView *googleLogoView = [[UIImageView alloc] initWithImage:googleLogo]; + googleLogoView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin; + googleLogoView.userInteractionEnabled = NO; + googleLogoView.opaque = NO; + + CGRect googleLogoFrame = googleLogoView.frame; + googleLogoFrame.origin = CGPointMake(10.0f, + CGRectGetHeight(containerView.frame) - googleLogo.size.height - 10.0f); + googleLogoView.frame = googleLogoFrame; + + [containerView addSubview:googleLogoView]; +} + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist new file mode 100644 index 0000000..469c10f --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Info.plist @@ -0,0 +1,38 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.acme..${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch new file mode 100644 index 0000000..743435c --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample-Prefix.pch @@ -0,0 +1,16 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#import + +#ifndef __IPHONE_3_0 +#warning "This project uses features only available in iOS SDK 3.0 and later." +#endif + +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.h b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.h new file mode 100644 index 0000000..41531a6 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.h @@ -0,0 +1,17 @@ +// +// FTGooglePlacesAPIExampleDetailViewController.h +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 29/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import + +@protocol FTGooglePlacesAPIRequest; + +@interface FTGooglePlacesAPIExampleDetailViewController : UITableViewController + +- (instancetype)initWithRequest:(id)request; + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.m b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.m new file mode 100644 index 0000000..8b03aaa --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleDetailViewController.m @@ -0,0 +1,134 @@ +// +// FTGooglePlacesAPIExampleDetailViewController.m +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 29/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import "FTGooglePlacesAPIExampleDetailViewController.h" + +#import "FTGooglePlacesAPI.h" + +@interface FTGooglePlacesAPIExampleDetailViewController () + +@property (nonatomic, strong) id request; +@property (nonatomic, strong) FTGooglePlacesAPIDetailResponse *response; + +@property (nonatomic, strong) NSDictionary *responseTableRepresentation; + +@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; + +@end + +@implementation FTGooglePlacesAPIExampleDetailViewController + +- (instancetype)initWithRequest:(id)request +{ + self = [super initWithStyle:UITableViewStylePlain]; + if (self) { + self.title = @"Detail"; + _request = request; + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + _activityIndicatorView.hidesWhenStopped = YES; + + UIBarButtonItem *activityBarButton = [[UIBarButtonItem alloc] initWithCustomView:_activityIndicatorView]; + self.navigationItem.rightBarButtonItem = activityBarButton; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + [self startSearching]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [_responseTableRepresentation count]; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"Cell"; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (!cell) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + } + + NSString *key = [_responseTableRepresentation allKeys][indexPath.row]; + + cell.textLabel.text = key; + cell.detailTextLabel.text = [_responseTableRepresentation[key] description]; + + return cell; +} + +#pragma mark - FTGooglePlacesAPI performing search request + +- (void)startSearching +{ + // Show activity indicator + [_activityIndicatorView startAnimating]; + + + // Execute Google Places API request using FTGooglePlacesAPIService + [FTGooglePlacesAPIService executeDetailRequest:_request + withCompletionHandler:^(FTGooglePlacesAPIDetailResponse *response, NSError *error) + { + // If error is not nil, request failed and you should handle the error + // We just show alert + if (error) + { + // There may be a lot of causes for an error (for example networking error). + // If the network communication with Google Places API was successfull, + // but the API returned some status code, NSError will have + // FTGooglePlacesAPIErrorDomain domain and status code from + // FTGooglePlacesAPIResponseStatus enum + // You can inspect error's domain and status code for more detailed info + + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[error localizedDescription] message:[error localizedFailureReason] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alert show]; + [_activityIndicatorView stopAnimating]; + return; + } + + // Everything went fine, we have response object + // You can do whatever you need here, we just construct "table representation" + // of response to the dictionary and reload table + _responseTableRepresentation = @{ + @"Name": (response.name?:@"N/A"), + @"Location": [NSString stringWithFormat:@"(%.6f,%.6f)", response.location.coordinate.latitude, response.location.coordinate.longitude], + @"Address": (response.addressString?:@"N/A"), + @"Form. address": (response.formattedAddress?:@"N/A"), + @"Form. phone": (response.formattedPhoneNumber?:@"N/A"), + @"Int. phone": (response.internationalPhoneNumber?:@"N/A"), + @"Rating": [NSString stringWithFormat:@"%.1f", response.rating], + @"Types": [response.types componentsJoinedByString:@","], + @"Website:": (response.websiteUrl?:@"N/A"), + }; + + [self.tableView reloadData]; + + [_activityIndicatorView stopAnimating]; + }]; + +} + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.h b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.h new file mode 100644 index 0000000..3ff96da --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.h @@ -0,0 +1,30 @@ +// +// FTGooglePlacesAPIExampleResultsViewController.h +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 20/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import +#import + +@protocol FTGooglePlacesAPIRequest; + +/** + * Please note that this controller is not 100% functional and glitches-proof + * We try to keep the code as simple as possible so some cases which should be + * handled in production code are not handled here + */ + +@interface FTGooglePlacesAPIExampleResultsViewController : UITableViewController + +/** + * @param request This is initial request used for the first request + * @param locationCoordinate Location from which the distance should be shown + * + * @return Instance + */ +- (id)initWithGooglePlacesAPIRequest:(id)request locationCoordinate:(CLLocationCoordinate2D)locationCoordinate; + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.m b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.m new file mode 100644 index 0000000..558e39d --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExampleResultsViewController.m @@ -0,0 +1,253 @@ +// +// FTGooglePlacesAPIExampleResultsViewController.m +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 20/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import "FTGooglePlacesAPIExampleResultsViewController.h" + +#import "FTGooglePlacesAPI.h" +#import "UIImageView+AFNetworking.h" + +#import "FTGooglePlacesAPIExampleDetailViewController.h" + + +@interface FTGooglePlacesAPIExampleResultsViewController () + +@property (nonatomic, strong) id initialRequest; +@property (nonatomic, strong) id actualRequest; +@property (nonatomic, strong) CLLocation *searchLocation; +@property (nonatomic, strong) FTGooglePlacesAPISearchResponse *lastResponse; + +@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; + +/** + * This array holds all results. Mutable array is used because we can have + * multiple responses, but want to keep all result items + */ +@property (nonatomic, strong) NSMutableArray *results; + +@end + +@implementation FTGooglePlacesAPIExampleResultsViewController + +- (id)initWithGooglePlacesAPIRequest:(id)request locationCoordinate:(CLLocationCoordinate2D)locationCoordinate; +{ + NSAssert(request, @"Provided request cannot be nil"); + + self = [super initWithStyle:UITableViewStylePlain]; + if (self) + { + self.title = @"Results"; + + _initialRequest = request; + _actualRequest = request; + + _results = [NSMutableArray array]; + + // Create CLLocation object from search coordinate. We will use this for calculating + // distance of result item + _searchLocation = [[CLLocation alloc] initWithLatitude:locationCoordinate.latitude longitude:locationCoordinate.longitude]; + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + + self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; + _activityIndicatorView.hidesWhenStopped = YES; + + UIBarButtonItem *activityBarButton = [[UIBarButtonItem alloc] initWithCustomView:_activityIndicatorView]; + self.navigationItem.rightBarButtonItem = activityBarButton; +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + // Controller is first displayed - start searching + if ([_results count] == 0) { + [self startSearching]; + } +} + +#pragma mark Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return [_results count] + ([_lastResponse hasNextPage]); +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *ResultCellIdentifier = @"ResultCell"; + static NSString *LoadMoreCellIdentifier = @"LoadMoreCell"; + + BOOL isLoadMoreResultsCell = [self isLoadMoreResultsCellAtIndexPath:indexPath]; + + // Get appropriate cell + NSString *cellIdentifier = (isLoadMoreResultsCell? LoadMoreCellIdentifier:ResultCellIdentifier); + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; + + // Configure "Load more" cell + if (isLoadMoreResultsCell) + { + // This is constant cell, so we can preconfigure it on the init + if (!cell) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; + cell.textLabel.textAlignment = NSTextAlignmentCenter; + cell.textLabel.text = @"Load more results..."; + } + } + // Configure results cell + else + { + if (!cell) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier]; + cell.imageView.contentMode = UIViewContentModeScaleAspectFit; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + } + + // Get response object + FTGooglePlacesAPISearchResultItem *resultItem = _results[indexPath.row]; + + + // Configure cell + cell.textLabel.text = resultItem.name; + + if (resultItem.location) { + CLLocationDistance distance = [resultItem.location distanceFromLocation:_searchLocation]; + cell.detailTextLabel.text = [NSString stringWithFormat:@"Distance: %.0fm", distance]; + } + + [cell.imageView setImageWithURL:[NSURL URLWithString:resultItem.iconImageUrl] placeholderImage:[self placeholderImage]]; + } + + return cell; +} + +#pragma mark Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + + // Selected "Load more results" cell + if ([self isLoadMoreResultsCellAtIndexPath:indexPath]) + { + // Get request for a new page of results and start search + id nextPageRequest = [_lastResponse nextPageRequest]; + _actualRequest = nextPageRequest; + [self startSearching]; + } + // Selected result item cell + else + { + // Get response object + FTGooglePlacesAPISearchResultItem *resultItem = _results[indexPath.row]; + + // Create detail request + FTGooglePlacesAPIDetailRequest *request = [[FTGooglePlacesAPIDetailRequest alloc] initWithPlaceId:resultItem.placeId]; + + // Create detail controller + FTGooglePlacesAPIExampleDetailViewController *detailController = [[FTGooglePlacesAPIExampleDetailViewController alloc] initWithRequest:request]; + + [self.navigationController pushViewController:detailController animated:YES]; + + // And print it to the console + NSLog(@"Selected item: %@", resultItem); + } +} + +#pragma mark - Helper methods + +- (BOOL)isLoadMoreResultsCellAtIndexPath:(NSIndexPath *)indexPath +{ + // It is load more cell if there is more results to read and this is + // the last cell in a table view + NSInteger numberOfRows = [self tableView:self.tableView numberOfRowsInSection:indexPath.section]; + + return ((indexPath.row == numberOfRows - 1) && [_lastResponse hasNextPage]); +} + +/** + * Little helper for generating plain white image used as a placeholder + * in UITableViewCell's while loading icon images + */ +- (UIImage *)placeholderImage +{ + static UIImage *PlaceholderImage; + + if (!PlaceholderImage) + { + CGRect rect = CGRectMake(0, 0, 40.0f, 40.0f); + + UIGraphicsBeginImageContext(rect.size); + [[UIColor whiteColor] setFill]; + [[UIBezierPath bezierPathWithRect:rect] fill]; + PlaceholderImage = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + } + + return PlaceholderImage; +} + +#pragma mark - FTGooglePlacesAPI performing search request + +- (void)startSearching +{ + // Show activity indicator + [_activityIndicatorView startAnimating]; + + + // Execute Google Places API request using FTGooglePlacesAPIService + [FTGooglePlacesAPIService executeSearchRequest:_actualRequest + withCompletionHandler:^(FTGooglePlacesAPISearchResponse *response, NSError *error) + { + // If error is not nil, request failed and you should handle the error + // We just show alert + if (error) + { + // There may be a lot of causes for an error (for example networking error). + // If the network communication with Google Places API was successfull, + // but the API returned some status code, NSError will have + // FTGooglePlacesAPIErrorDomain domain and status code from + // FTGooglePlacesAPIResponseStatus enum + // You can inspect error's domain and status code for more detailed info + + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[error localizedDescription] message:[error localizedFailureReason] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alert show]; + [_activityIndicatorView stopAnimating]; + return; + } + + // Everything went fine, we have response object + // You can do whatever you need here, we just add new items to the + // data source array and reload the table + // You could add new rows with animation etc., but it would add useless + // complexity to the sample code app + + // Update last response object + _lastResponse = response; + + // Add new results to the data source array + [_results addObjectsFromArray:response.results]; + + [self.tableView reloadData]; + + [_activityIndicatorView stopAnimating]; + }]; + +} + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.h b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.h new file mode 100644 index 0000000..4da5dca --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.h @@ -0,0 +1,13 @@ +// +// FTGooglePlacesAPIExamplesListViewController.h +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 20/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import + +@interface FTGooglePlacesAPIExamplesListViewController : UITableViewController + +@end diff --git a/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.m b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.m new file mode 100644 index 0000000..61ac475 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExamplesListViewController.m @@ -0,0 +1,225 @@ +// +// FTGooglePlacesAPIExamplesListViewController.m +// FTGooglePlacesAPI +// +// Created by Lukas Kukacka on 20/11/13. +// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. +// + +#import "FTGooglePlacesAPIExamplesListViewController.h" + +#import "FTGooglePlacesAPI.h" +#import "FTGooglePlacesAPIExampleResultsViewController.h" + +typedef NS_ENUM(NSUInteger, FTGooglePlacesAPIExampleType) { + FTGooglePlacesAPIExampleTypeNearestCulture, + FTGooglePlacesAPIExampleTypeMuseumKeyword, + FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon, + FTGooglePlacesAPIExampleTypeExpensiveRestaurant +}; + + +@interface FTGooglePlacesAPIExamplesListViewController () + +@property (nonatomic, assign) CLLocationCoordinate2D locationCoordinate; + +@end + +@implementation FTGooglePlacesAPIExamplesListViewController + +- (id)initWithStyle:(UITableViewStyle)style +{ + self = [super initWithStyle:style]; + if (self) { + self.title = @"FTGooglePlacesAPI"; + + // For sake of simplicity of the example, we do not get real location, which would require + // additional code and just use constant latitude and longitude of London's Big Ben + // For easy to use getting of current location, you take a look at FTLocationManager + // https://github.com/FuerteInternational/FTLocationManager + self.locationCoordinate = CLLocationCoordinate2DMake(51.501103,-0.124565); + } + return self; +} + +#pragma mark Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return 4; // Number of items in FTGooglePlacesAPIExampleType enum +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"ExampleCell"; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if(!cell) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + cell.textLabel.adjustsFontSizeToFitWidth = YES; + cell.textLabel.adjustsFontSizeToFitWidth = YES; + } + + FTGooglePlacesAPIExampleType exampleType = (FTGooglePlacesAPIExampleType)indexPath.row; + + cell.textLabel.text = [self titleForExampleType:exampleType]; + cell.detailTextLabel.text = [self subtitleForExampleType:exampleType]; + + return cell; +} + +#pragma mark Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + [tableView deselectRowAtIndexPath:indexPath animated:YES]; + + // Get request for current row + FTGooglePlacesAPIExampleType exampleType = (FTGooglePlacesAPIExampleType)indexPath.row; + id request = [self googlePlacesAPIRequestForExampleType:exampleType]; + + // Create search / results controller and push it to the navigation controller + FTGooglePlacesAPIExampleResultsViewController *controller = [[FTGooglePlacesAPIExampleResultsViewController alloc] initWithGooglePlacesAPIRequest:request locationCoordinate:self.locationCoordinate]; + + [self.navigationController pushViewController:controller animated:YES]; + +} + +#pragma mark Helpers and convenience methods +/** + * Below are helper method for getting title and subtitle for cells for each + * example type. Using switch helps us not to forget to implement any + * example item by compiler warnings + */ +- (NSString *)titleForExampleType:(FTGooglePlacesAPIExampleType)type +{ + NSString *title; + + switch (type) + { + case FTGooglePlacesAPIExampleTypeNearestCulture: + title = @"Nearest galleries and museums"; + break; + case FTGooglePlacesAPIExampleTypeMuseumKeyword: + title = @"Matching \"museum\", near and open"; + break; + case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: + title = @"Text search \"pizza in london\""; + break; + case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: + title = @"Nearest very expensive restaurants"; + break; + } + + return title; +} + +- (NSString *)subtitleForExampleType:(FTGooglePlacesAPIExampleType)type +{ + NSString *subtitle; + + switch (type) + { + case FTGooglePlacesAPIExampleTypeNearestCulture: + subtitle = @"rankBy=distance&types=art_gallery|museum"; + break; + case FTGooglePlacesAPIExampleTypeMuseumKeyword: + subtitle = @"keyword=museum&opennow=true&radius=2000"; + break; + case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: + subtitle = @"query=pizza+in+london"; + break; + case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: + subtitle = @"types=restaurant&minprice=4"; + break; + } + + return subtitle; +} + +#pragma mark - Creating Google Places API requests objects + +/** + * This method constructs request for each API example type + * + * @param type Example type + * + * @return Request object conforming to protocol, which can be used in API service + */ +- (id)googlePlacesAPIRequestForExampleType:(FTGooglePlacesAPIExampleType)type +{ + id result; + + + switch (type) + { + /** + * Create request for searching for some culture around + */ + case FTGooglePlacesAPIExampleTypeNearestCulture: + { + FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; + request.rankBy = FTGooglePlacesAPIRequestParamRankByDistance; + request.types = @[@"art_gallery", @"museum"]; + + result = request; + } + break; + + /** + * Create request for searching places around *best matching* + * word "museum" and which are open right now and max 2km away + * Because we are using *best matching* and default "rankBy" by + * "prominence" (importance), don't be surprised that results may + * not appear ordered by distance + */ + case FTGooglePlacesAPIExampleTypeMuseumKeyword: + { + FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; + request.keyword = @"museum"; + request.openNow = YES; + request.radius = 2000; + + result = request; + } + break; + + /** + * This is example of Google Places API "Text Search Request" + * We are making search for phrase "pizza in london" without + * providing any location around which to search. + * Note that in results screen, there will still be displayed + * distance from Big Ben to examples structure simple + */ + case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: + { + FTGooglePlacesAPITextSearchRequest *request = [[FTGooglePlacesAPITextSearchRequest alloc] initWithQuery:@"pizza in london"]; + + result = request; + } + break; + + /** + * This is an example of request defining results price. + * You can use minPrice and maxPrice for example for searching + * free museums, expensive restaurants etc. + */ + case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: + { + FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; + request.types = @[@"restaurant"]; + request.minPrice = 4; + + result = request; + } + } + + return result; +} + +@end diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/FTGooglePlacesAPIExample/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a396706 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000..f1a75d4 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,25 @@ +{ + "images" : [ + { + "orientation" : "portrait", + "idiom" : "iphone", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "filename" : "Default@2x.png", + "scale" : "2x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "retina4", + "filename" : "Default-568h@2x.png", + "minimum-system-version" : "7.0", + "orientation" : "portrait", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0891b7aabfcf3422423b109c8beed2bab838c607 GIT binary patch literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u literal 0 HcmV?d00001 diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..35b84cffeb4db607983c8383fa9199731dc3aba0 GIT binary patch literal 16107 zcmeHOXZ2Cama>{@)81;C?K-P&M2k<0!GL}5+H~XTq*@SQi|Ft z2*0X`$`8S!qO#)xBeJRkf?;t189=ZB6Imw-h=`q;FP(2UpWZvmJ@=k-@45M(dtb7r zyVEiaLk$=Vw#>zu;st}j6Jf9=m1+nXCFe!$1PrEZ%5Ze_ba8YX_9-*rJujiLuQmJo&2v+Cxes}ec zU|qeux&7*yz#W=X_|wGQskL7*OHNjwFs@sEC+64Hb$Z(#H21Gh$Pe2WzOubdr6fzg z{l{!k%OD?N5Z7j33SoK?YdV6Scm>})U+MIQLNRgIvkZQEc^mP9XBPg%y|S$~Br|;N zk?-!-(Qqh_mQ|6WINQ{hHAjBRV#O#!FkAJ+oxy`L#f8V45*VvWMJFBB5m zG6vOLtDvgoDjHlSq-*h5xM56O>Jjau2f2IxKItIb@coX4XTyf$^{LZG&lI|D95wN1 z!fo0)q>WV7-V;q|A?HR!*bgozJw%j98-~gwBKVV0;=hZIF>7oJSr2YjOWO*rSxz#& z;KXnDrJVZp;Yduiy1-H%s$ZFz6Q=x@$V_B@Tqwl?>6e;EHt|MiK<(#hXQMuj@Jseeh&eN{FxsQ$iw>D1aX1HMMlUbh?Z zmhY4eHffn5&LUbL_}o8|$JYz&$WFiLWmEg0ZPX+;W>@CxQz-%{E5+P7dH9&ey_y$R z@Zzje>2B%z!i!7Brqi{t5Y)~5>vpqRs~2aXD8DVE8vKl=`k(`duI1-k@?!pJ^HA6S zS;3WpuhjQHyoC>X>Xf8gze%_8^#+^RTV>V9&YPAWMjd~%xpSg?ON?kK^X*Pb(o8jR zz;DmaOWMMr6=M~K?MFx4_xDkARTxLJ@W@ohAx z5RD0jGgk?QL@H`VubD2k4}?VtB8@g`%hHBA$2pJ(gK5g1HMNysXEF_BNu-p!&+Qa8_APgopHWnRgg=TZZF*sXWTMQPD z!Q(Au5|+F;7M~`tWbsU98~NA{h0Y7%GB|t&n}w9OOABU4^X*V5xuN;rY(M#ouuqm) zyt!e?28fY!FgP?8GvBsMl_aM^UUVKiGFsleFN?t^<46kO#pF-cX0;sIOb(aM z)^jQgX^Z6pKA9mC@N)_aiHj9HxD2|?A@Y9B_h}(*v3%ek8CXc1Qy^jFPF&zrMa1OZ zSVaF{&ZY|(|H0XE&X>-XQz1`=fF2n@VKC_|h3jlKVM&-jmyMavllcYr`6LVtfq2ou zd+8zkkCB+2)rxq0Lkq_&Ad@g(O8;pAm96>tu79?81T@Z<;gm^3ZtPG-SR94Mr<3tm z9NrR3u*4I5aMlo(09g@8m_;%Rf+XiSa_KZao9n}7N0JrsV#;5Ucr+F*TTzQ8{%f3O zeIUy?WDS|-$LvMc@Z7320)tr}bfIka5hx9H;8H|%our=C+Do0CSFRWue14o5#r8v2 zw=|&r4*eMX%lgCV(ka?*j%H^UuP4LmBC(ON`)&7>NF-|PDRU{-7o`CU0HNbd&c~))@yl9IKu_ zXA+A-!khpP_yx=f#qt2_0ptmgBf4gF!{Y)MW6R$cC1d7@$Yb?+_j zYwfE^5_e`vhT zX=u3r>4$fsxP&apbm@Rcbyuc2T=giqZiMo9@9=oua6#YH0hO-1ak9^rJTPMM qY4Yr5Cu^v99p{E9VdroUHKlRW;M8#BJ^AOQE?e9wSHJo8(7yq;BYKSh literal 0 HcmV?d00001 diff --git a/Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white.png b/Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white.png new file mode 100755 index 0000000000000000000000000000000000000000..ae3cf0cd9cddd75f48ada07e6f491667989f8f80 GIT binary patch literal 2586 zcmV+#3gz{QP)j^WM-0(m28uZ3|UAfW+jl21PvjGkOY!Q3Isv~g@!E%!a-8; z=YnD>NTig56_6A`!l_GhKoJy_RH&`hLNFX4qAag}_=fXNnxNLwQ?+x>J@3Bz`@P@0 zzx#Rj{_cQfS^ONNbXh+t*Ivb>j+>b9*ew*SWX0)^utlC$wm!YNztBB-pUg4#2xLKX zKs#n5KBfumf;zDEQ_xpgfw$7LFkNXtSg;bOkIn#lW+vDZIbh#QM&F?%9N6H%ysh}^m`ow$N-?#69=|w8orn~;qCw;gxqa$ z6GF7Z*}e~;>h%LCS;Hp4s2U9*csL6{}BV~B7}H{vwc@T z%T|1WvbDEr1B>4512hSsWRL|+h16aPskH(!Q-MOP_Z9$9Mp+CvzhW-f)_Sl_)76)& z@6)|86rfYNV0%*oFC9rS?O#6_&<&(L#G+(HKfH@BA+(GYT2?p8bZ?ltsS?Q!U9=2) z=H3goZ7$fx2mG#1s?e_+8S(Q4G;Zk?Rmwc}q|`BgD*%8JL!?Q9)LsXLtr!Z+SO7qL zfDxZOx&XI+)h51NQ#oU&C%Nqpqf(zbH9BkkRFxrMM6d#pc4p9@cgMFqv(UQa z=;q+9?{5oyv?(8IclJ!oe4a(-L)Wq*s!q*MYrgVaLPH-h#P4nJYsvOkb=wZ2klHaS z-3GQ}DX!L6Pu`mBUU?`f`8QoL?$$)PLOvuQLP$Fyq?X$}A%ti-yOt2r!r5E6dlw;u z@W#6a1SLQymT3NmvRY~EK9IpqR^a<@Zl7=zh0FN5u95?+~GN2&~lC+|_Kjj+r?>Nb?Inb`c)HuSzwnx`G98t-24sPaOK6b_0$K`Xz<31acOz=r4R~hXKAF=*4DTR)D zas9v+Tq`b~K0b6d`xav;U8FK6L*f@n8}dIsskC=IDcKyr2>06$GkM}I*XGn1|1qxM zqeh*vVIaT2`&z=Nwo18fl@Y=e!5sj3Io(AFxyb44plrIxgH_H8ayu_Wyj);gIPt-1 z8I&n3H=m!OzO}wni5ujTZ!I?=q=#SPoMq=i11i{lb=-4%X|W%~+E|!VpN7r57m@d0 z4Nq?PqIyho|3qZGF=|=3XW?JMBl{CYa(Ajofd-8k5Bu9S$F;F%>qW-R2R2zYzr9A= zYmh)SLJvIKB*DQ|(v+*u;C#6!qg7pY^=)O$6FVH9Imn)K9L}=71B|x5L%hi<67CN? z%;YnhZ+LS8XSZuPbN>i)HN7CY0r9c1y1*iq|odNm4@UKJIeK2~tAocQ~d3mMD zC)!~E@#naPnDeb?5YHz!_uh6wNDJR@bH;CJL(a+F{`nWamOG|o`6sM~J?{ttystnN zRFkD}Jh0ea^4S38TCr`qR$2UIP{PeznWnl>p~3skM4XFG7oYTZf0!dtF7I5XoPTAz z>RNoDAg;zM0Q;H}>}%Ti^X=#hQ;Q2l!4Frck`A47=Ds+qa2b2Q-rcbspn}EE*lFQj zXSXm<^ung3aKC}5QSblS6!c1%M2g9V0Q@aH4QsSE=mmmd0hRND-@~)l^6Z`bY~q!g zPA)k7F<&Wjao3@OU(S0*%R7I-13wg?7T$T)!`nv>zts6e8`TO`=$trx_NSleGLL^` zNPX5FSo8sGS-YT1*aG`K`y{5q%b&wE_r(cXk@$!?qWdLn$U6_H{jDDcC*#YcdrH?U zoFC|9g2=ph#{A(L$(ij9!kw)pw33P83x#bQ6hWN8LO-Ijl1gE`~n3i|{$C%B@2mfC&rER^{x9Snt3nbNpeYT5j_DsWq;DZF*5 z(!Nmx!5FC&a2SLri=iX7PNrYnT1S(;i$rY=V+6}-z#Nh?1zF8!n1m)a##M4+mS5(% z0b|bj6Ux}>k-`R>h^|s?r1B-ZkSfa)(v)zK+_K>J+R(FG^`YHswa%wvMAAeW`1TU_ zKh$R5QHJoRo!`CrL~1LA!d?!Avl(LJ6qQJS-$b#sVWq@6b(O?cJy&F$I2l4qGyo|8 zL`b9l5h&ib}G=Sgv}2?w5JNwo@4_&O_#Q- z!df;mhN7`T)tEd*+{^E15)U2|s$+Bz01!Y7Ku!UeDAggH5*zfOqht{1&6Eg&pDG|< z_V}8bApyBsAU02jNLLC<xQb@8>2$Tc%h$<8=Ws&|6yFnfO#BrIWkT#Bf3D&IraOCZa(xe>yt5B1XN{Li} z@SE2NDGF6mJt74X=s`nG(Xb1cVF9^^+Src_kaxH}{41ad5Qyyn0D;8zg8(_zB4|f0 zfidrG_or wg7M1+W3G!9NSp-_8dD(9D83;>eQ!Yj1om$*0-Qb&-~a#s07*qoM6N<$f@aU&D*ylh literal 0 HcmV?d00001 diff --git a/Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white@2x.png b/Example/FTGooglePlacesAPIExample/Images/powered-by-google-on-white@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea58253c5423f707d6f3fc297478f676cd2adbb GIT binary patch literal 6971 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 N002ovPDHLkV1gf>JI??B literal 0 HcmV?d00001 diff --git a/Example/FTGooglePlacesAPIExample/en.lproj/InfoPlist.strings b/Example/FTGooglePlacesAPIExample/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/FTGooglePlacesAPIExample/main.m b/Example/FTGooglePlacesAPIExample/main.m new file mode 100644 index 0000000..106f076 --- /dev/null +++ b/Example/FTGooglePlacesAPIExample/main.m @@ -0,0 +1,18 @@ +// +// main.m +// FTGooglePlacesAPIExample +// +// Created by Marco Meschini on 28/08/2014. +// Copyright (c) 2014 Marco Meschini. All rights reserved. +// + +#import + +#import "FTAppDelegate.h" + +int main(int argc, char * argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([FTAppDelegate class])); + } +} diff --git a/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist new file mode 100644 index 0000000..169d86f --- /dev/null +++ b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + com.acme..${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m new file mode 100644 index 0000000..d8092f4 --- /dev/null +++ b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m @@ -0,0 +1,34 @@ +// +// FTGooglePlacesAPIExampleTests.m +// FTGooglePlacesAPIExampleTests +// +// Created by Marco Meschini on 28/08/2014. +// Copyright (c) 2014 Marco Meschini. All rights reserved. +// + +#import + +@interface FTGooglePlacesAPIExampleTests : XCTestCase + +@end + +@implementation FTGooglePlacesAPIExampleTests + +- (void)setUp +{ + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown +{ + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample +{ + XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); +} + +@end diff --git a/Example/FTGooglePlacesAPIExampleTests/en.lproj/InfoPlist.strings b/Example/FTGooglePlacesAPIExampleTests/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/Example/FTGooglePlacesAPIExampleTests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 0000000..e91392b --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,17 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, "6.0" + +target "FTGooglePlacesAPIExample" do + +#Before push use: +pod "FTGooglePlacesAPI" + +#For local development use: +#pod "FTGooglePlacesAPI", :path => "../FTGooglePlacesAPI.podspec" + +end + +target "FTGooglePlacesAPIExampleTests" do + +end + From 3a86224360b4d7f7cc37e4fead1e76598e19ecbc Mon Sep 17 00:00:00 2001 From: Marco Meschini Date: Thu, 28 Aug 2014 18:02:21 +0100 Subject: [PATCH 3/4] fix workspace --- .../project.pbxproj | 470 +++++--- .../FTGooglePlacesAPIExample.xccheckout | 16 +- .../FTGooglePlacesAPIExample.xccheckout | 16 +- .../FTGooglePlacesAPIExample/FTAppDelegate.m | 2 +- .../LaunchImage.launchimage/Contents.json | 6 +- .../Default-568h@2x.png | Bin 18594 -> 0 bytes .../LaunchImage.launchimage/Default@2x.png | Bin 16107 -> 0 bytes .../FTGooglePlacesAPIDictionaryRequestTest.m | 0 .../FTGooglePlacesAPIExampleTests.m | 34 - ...TGooglePlacesAPINearbySearchRequestTests.m | 0 .../FTGooglePlacesAPIResponseTests.m | 0 .../FTGooglePlacesAPISearchResponseTests.m | 0 .../FTGooglePlacesAPISearchResultItemTests.m | 0 .../FTGooglePlacesAPIServiceTests.m | 0 .../FTGooglePlacesAPITestCase.h | 0 .../FTGooglePlacesAPITestCase.m | 0 .../MockAFHTTPRequestOperationManager.h | 0 .../MockAFHTTPRequestOperationManager.m | 0 ...TGooglePlacesAPISearchResultItemSubclass.h | 0 ...TGooglePlacesAPISearchResultItemSubclass.m | 0 .../MockFTGooglePlacesAPIService.h | 0 .../MockFTGooglePlacesAPIService.m | 0 ...cesAPIResponse-test1-Nearby-Search-OK.json | 0 ...oglePlacesAPIResponse-test2-NoResults.json | 0 ...lacesAPIResponse-test3-InvalidRequest.json | 0 ...PlacesAPIResponse-test4-RequestDenied.json | 0 Example/Podfile | 10 +- .../project.pbxproj | 1008 ----------------- .../contents.xcworkspacedata | 7 - .../xcschemes/Demo-FTGooglePlacesAPI.xcscheme | 96 -- .../FTGooglePlacesAPILogicTests.xcscheme | 53 - .../FTGooglePlacesAPI/FTAppDelegate.h | 15 - .../FTGooglePlacesAPI/FTAppDelegate.m | 85 -- .../FTGooglePlacesAPI-Info.plist | 38 - .../FTGooglePlacesAPI-Prefix.pch | 16 - ...oglePlacesAPIExampleDetailViewController.h | 17 - ...oglePlacesAPIExampleDetailViewController.m | 134 --- ...glePlacesAPIExampleResultsViewController.h | 30 - ...glePlacesAPIExampleResultsViewController.m | 253 ----- ...ooglePlacesAPIExamplesListViewController.h | 13 - ...ooglePlacesAPIExamplesListViewController.m | 225 ---- .../Images/Splashscreen/Default-568h@2x.png | Bin 18594 -> 0 bytes .../Resources/Images/Splashscreen/Default.png | Bin 6540 -> 0 bytes .../Images/Splashscreen/Default@2x.png | Bin 16107 -> 0 bytes .../Images/powered-by-google-on-white.png | Bin 2586 -> 0 bytes .../Images/powered-by-google-on-white@2x.png | Bin 6971 -> 0 bytes .../FTGooglePlacesAPI/Thirdparty/AFNetworking | 1 - .../en.lproj/InfoPlist.strings | 2 - XcodeProject/FTGooglePlacesAPI/main.m | 18 - .../FTGooglePlacesAPILogicTests-Info.plist | 22 - .../NSNotificationCenter+OCMAdditions.h | 15 - .../Thirdparty/OCMock/OCMock/OCMArg.h | 35 - .../Thirdparty/OCMock/OCMock/OCMConstraint.h | 64 -- .../Thirdparty/OCMock/OCMock/OCMock.h | 10 - .../Thirdparty/OCMock/OCMock/OCMockObject.h | 46 - .../Thirdparty/OCMock/OCMock/OCMockRecorder.h | 38 - .../Thirdparty/OCMock/libOCMock.a | Bin 895860 -> 0 bytes .../en.lproj/InfoPlist.strings | 2 - 58 files changed, 317 insertions(+), 2480 deletions(-) delete mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png delete mode 100644 Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPIDictionaryRequestTest.m (100%) delete mode 100644 Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPINearbySearchRequestTests.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPIResponseTests.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPISearchResponseTests.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPISearchResultItemTests.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPIServiceTests.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPITestCase.h (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source => Example/FTGooglePlacesAPIExampleTests}/FTGooglePlacesAPITestCase.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockAFHTTPRequestOperationManager.h (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockAFHTTPRequestOperationManager.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockFTGooglePlacesAPISearchResultItemSubclass.h (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockFTGooglePlacesAPISearchResultItemSubclass.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockFTGooglePlacesAPIService.h (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks => Example/FTGooglePlacesAPIExampleTests}/MockFTGooglePlacesAPIService.m (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests => Example/FTGooglePlacesAPIExampleTests}/TestData/FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests => Example/FTGooglePlacesAPIExampleTests}/TestData/FTGooglePlacesAPIResponse-test2-NoResults.json (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests => Example/FTGooglePlacesAPIExampleTests}/TestData/FTGooglePlacesAPIResponse-test3-InvalidRequest.json (100%) rename {XcodeProject/FTGooglePlacesAPILogicTests => Example/FTGooglePlacesAPIExampleTests}/TestData/FTGooglePlacesAPIResponse-test4-RequestDenied.json (100%) delete mode 100644 XcodeProject/FTGooglePlacesAPI.xcodeproj/project.pbxproj delete mode 100644 XcodeProject/FTGooglePlacesAPI.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/Demo-FTGooglePlacesAPI.xcscheme delete mode 100644 XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/FTGooglePlacesAPILogicTests.xcscheme delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTAppDelegate.h delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTAppDelegate.m delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.h delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.m delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.h delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.m delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.h delete mode 100644 XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.m delete mode 100644 XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default-568h@2x.png delete mode 100644 XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default.png delete mode 100644 XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default@2x.png delete mode 100755 XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white.png delete mode 100644 XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white@2x.png delete mode 160000 XcodeProject/FTGooglePlacesAPI/Thirdparty/AFNetworking delete mode 100644 XcodeProject/FTGooglePlacesAPI/en.lproj/InfoPlist.strings delete mode 100644 XcodeProject/FTGooglePlacesAPI/main.m delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMArg.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMConstraint.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMock.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockObject.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockRecorder.h delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/libOCMock.a delete mode 100644 XcodeProject/FTGooglePlacesAPILogicTests/en.lproj/InfoPlist.strings diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj index e49ee22..0e12c38 100644 --- a/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj @@ -7,222 +7,295 @@ objects = { /* Begin PBXBuildFile section */ - C63EC366559D48558843F3B6 /* libPods-FTGooglePlacesAPIExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */; }; - E435D98E19AF74BA001639F1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98D19AF74BA001639F1 /* Foundation.framework */; }; - E435D99019AF74BA001639F1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98F19AF74BA001639F1 /* CoreGraphics.framework */; }; - E435D99219AF74BA001639F1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D99119AF74BA001639F1 /* UIKit.framework */; }; - E435D99819AF74BA001639F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E435D99619AF74BA001639F1 /* InfoPlist.strings */; }; - E435D99A19AF74BA001639F1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D99919AF74BA001639F1 /* main.m */; }; - E435D99E19AF74BA001639F1 /* FTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D99D19AF74BA001639F1 /* FTAppDelegate.m */; }; - E435D9A019AF74BA001639F1 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E435D99F19AF74BA001639F1 /* Images.xcassets */; }; - E435D9A719AF74BA001639F1 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D9A619AF74BA001639F1 /* XCTest.framework */; }; - E435D9A819AF74BA001639F1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D98D19AF74BA001639F1 /* Foundation.framework */; }; - E435D9A919AF74BA001639F1 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E435D99119AF74BA001639F1 /* UIKit.framework */; }; - E435D9B119AF74BA001639F1 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E435D9AF19AF74BA001639F1 /* InfoPlist.strings */; }; - E435D9B319AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */; }; - E435D9C219AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */; }; - E435D9C319AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */; }; - E435D9C419AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */; }; - E435D9CC19AF80D0001639F1 /* powered-by-google-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */; }; - E435D9CD19AF80D0001639F1 /* powered-by-google-on-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */; }; + 05405005D1B041D3AF42E730 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C13C7070BC924C1FA0A21EA7 /* libPods.a */; }; + AD74EC0985AE4D9091362050 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C13C7070BC924C1FA0A21EA7 /* libPods.a */; }; + E4CF497B19AF9252000AAAA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF497A19AF9252000AAAA4 /* Foundation.framework */; }; + E4CF497D19AF9252000AAAA4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF497C19AF9252000AAAA4 /* CoreGraphics.framework */; }; + E4CF497F19AF9252000AAAA4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF497E19AF9252000AAAA4 /* UIKit.framework */; }; + E4CF498519AF9252000AAAA4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E4CF498319AF9252000AAAA4 /* InfoPlist.strings */; }; + E4CF498719AF9252000AAAA4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF498619AF9252000AAAA4 /* main.m */; }; + E4CF498B19AF9252000AAAA4 /* FTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF498A19AF9252000AAAA4 /* FTAppDelegate.m */; }; + E4CF498D19AF9252000AAAA4 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E4CF498C19AF9252000AAAA4 /* Images.xcassets */; }; + E4CF499419AF9252000AAAA4 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF499319AF9252000AAAA4 /* XCTest.framework */; }; + E4CF499519AF9252000AAAA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF497A19AF9252000AAAA4 /* Foundation.framework */; }; + E4CF499619AF9252000AAAA4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E4CF497E19AF9252000AAAA4 /* UIKit.framework */; }; + E4CF499E19AF9252000AAAA4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E4CF499C19AF9252000AAAA4 /* InfoPlist.strings */; }; + E4CF49AF19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49AA19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m */; }; + E4CF49B019AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49AC19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m */; }; + E4CF49B119AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49AE19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m */; }; + E4CF49B519AF93B0000AAAA4 /* powered-by-google-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49B319AF93B0000AAAA4 /* powered-by-google-on-white.png */; }; + E4CF49B619AF93B0000AAAA4 /* powered-by-google-on-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49B419AF93B0000AAAA4 /* powered-by-google-on-white@2x.png */; }; + E4CF49B819AF93FB000AAAA4 /* FTGooglePlacesAPIDictionaryRequestTest.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49B719AF93FB000AAAA4 /* FTGooglePlacesAPIDictionaryRequestTest.m */; }; + E4CF49BB19AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49BA19AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.m */; }; + E4CF49C719AF96BB000AAAA4 /* FTGooglePlacesAPINearbySearchRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49BC19AF96BB000AAAA4 /* FTGooglePlacesAPINearbySearchRequestTests.m */; }; + E4CF49C819AF96BB000AAAA4 /* FTGooglePlacesAPIResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49BD19AF96BB000AAAA4 /* FTGooglePlacesAPIResponseTests.m */; }; + E4CF49C919AF96BB000AAAA4 /* FTGooglePlacesAPISearchResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49BE19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResponseTests.m */; }; + E4CF49CA19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResultItemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49BF19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResultItemTests.m */; }; + E4CF49CB19AF96BB000AAAA4 /* FTGooglePlacesAPIServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49C019AF96BB000AAAA4 /* FTGooglePlacesAPIServiceTests.m */; }; + E4CF49CC19AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49C219AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.m */; }; + E4CF49CD19AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49C419AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */; }; + E4CF49CE19AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = E4CF49C619AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.m */; }; + E4CF49D419AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49D019AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */; }; + E4CF49D519AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test2-NoResults.json in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49D119AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test2-NoResults.json */; }; + E4CF49D619AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49D219AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */; }; + E4CF49D719AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test4-RequestDenied.json in Resources */ = {isa = PBXBuildFile; fileRef = E4CF49D319AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - E435D9AA19AF74BA001639F1 /* PBXContainerItemProxy */ = { + E4CF499719AF9252000AAAA4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E435D98219AF74BA001639F1 /* Project object */; + containerPortal = E4CF496F19AF9252000AAAA4 /* Project object */; proxyType = 1; - remoteGlobalIDString = E435D98919AF74BA001639F1; + remoteGlobalIDString = E4CF497619AF9252000AAAA4; remoteInfo = FTGooglePlacesAPIExample; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FTGooglePlacesAPIExample.xcconfig"; path = "Pods/Pods-FTGooglePlacesAPIExample.xcconfig"; sourceTree = ""; }; - BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FTGooglePlacesAPIExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FTGooglePlacesAPIExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E435D98D19AF74BA001639F1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - E435D98F19AF74BA001639F1 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - E435D99119AF74BA001639F1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - E435D99519AF74BA001639F1 /* FTGooglePlacesAPIExample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExample-Info.plist"; sourceTree = ""; }; - E435D99719AF74BA001639F1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - E435D99919AF74BA001639F1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - E435D99B19AF74BA001639F1 /* FTGooglePlacesAPIExample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FTGooglePlacesAPIExample-Prefix.pch"; sourceTree = ""; }; - E435D99C19AF74BA001639F1 /* FTAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTAppDelegate.h; sourceTree = ""; }; - E435D99D19AF74BA001639F1 /* FTAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTAppDelegate.m; sourceTree = ""; }; - E435D99F19AF74BA001639F1 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FTGooglePlacesAPIExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - E435D9A619AF74BA001639F1 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - E435D9AE19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExampleTests-Info.plist"; sourceTree = ""; }; - E435D9B019AF74BA001639F1 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleTests.m; sourceTree = ""; }; - E435D9BC19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleDetailViewController.h; sourceTree = ""; }; - E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleDetailViewController.m; sourceTree = ""; }; - E435D9BE19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleResultsViewController.h; sourceTree = ""; }; - E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleResultsViewController.m; sourceTree = ""; }; - E435D9C019AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExamplesListViewController.h; sourceTree = ""; }; - E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExamplesListViewController.m; sourceTree = ""; }; - E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white.png"; sourceTree = ""; }; - E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white@2x.png"; sourceTree = ""; }; + 9752B25E193445AD812F50B7 /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = ""; }; + C13C7070BC924C1FA0A21EA7 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E4CF497719AF9252000AAAA4 /* FTGooglePlacesAPIExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FTGooglePlacesAPIExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E4CF497A19AF9252000AAAA4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + E4CF497C19AF9252000AAAA4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + E4CF497E19AF9252000AAAA4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + E4CF498219AF9252000AAAA4 /* FTGooglePlacesAPIExample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExample-Info.plist"; sourceTree = ""; }; + E4CF498419AF9252000AAAA4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + E4CF498619AF9252000AAAA4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + E4CF498819AF9252000AAAA4 /* FTGooglePlacesAPIExample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FTGooglePlacesAPIExample-Prefix.pch"; sourceTree = ""; }; + E4CF498919AF9252000AAAA4 /* FTAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTAppDelegate.h; sourceTree = ""; }; + E4CF498A19AF9252000AAAA4 /* FTAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTAppDelegate.m; sourceTree = ""; }; + E4CF498C19AF9252000AAAA4 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + E4CF499219AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FTGooglePlacesAPIExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E4CF499319AF9252000AAAA4 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + E4CF499B19AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPIExampleTests-Info.plist"; sourceTree = ""; }; + E4CF499D19AF9252000AAAA4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + E4CF49A919AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleDetailViewController.h; sourceTree = ""; }; + E4CF49AA19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleDetailViewController.m; sourceTree = ""; }; + E4CF49AB19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleResultsViewController.h; sourceTree = ""; }; + E4CF49AC19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleResultsViewController.m; sourceTree = ""; }; + E4CF49AD19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExamplesListViewController.h; sourceTree = ""; }; + E4CF49AE19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExamplesListViewController.m; sourceTree = ""; }; + E4CF49B319AF93B0000AAAA4 /* powered-by-google-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white.png"; sourceTree = ""; }; + E4CF49B419AF93B0000AAAA4 /* powered-by-google-on-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white@2x.png"; sourceTree = ""; }; + E4CF49B719AF93FB000AAAA4 /* FTGooglePlacesAPIDictionaryRequestTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIDictionaryRequestTest.m; sourceTree = ""; }; + E4CF49B919AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPITestCase.h; sourceTree = ""; }; + E4CF49BA19AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPITestCase.m; sourceTree = ""; }; + E4CF49BC19AF96BB000AAAA4 /* FTGooglePlacesAPINearbySearchRequestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPINearbySearchRequestTests.m; sourceTree = ""; }; + E4CF49BD19AF96BB000AAAA4 /* FTGooglePlacesAPIResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIResponseTests.m; sourceTree = ""; }; + E4CF49BE19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPISearchResponseTests.m; sourceTree = ""; }; + E4CF49BF19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResultItemTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPISearchResultItemTests.m; sourceTree = ""; }; + E4CF49C019AF96BB000AAAA4 /* FTGooglePlacesAPIServiceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIServiceTests.m; sourceTree = ""; }; + E4CF49C119AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockAFHTTPRequestOperationManager.h; sourceTree = ""; }; + E4CF49C219AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockAFHTTPRequestOperationManager.m; sourceTree = ""; }; + E4CF49C319AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockFTGooglePlacesAPISearchResultItemSubclass.h; sourceTree = ""; }; + E4CF49C419AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockFTGooglePlacesAPISearchResultItemSubclass.m; sourceTree = ""; }; + E4CF49C519AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockFTGooglePlacesAPIService.h; sourceTree = ""; }; + E4CF49C619AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MockFTGooglePlacesAPIService.m; sourceTree = ""; }; + E4CF49D019AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json"; sourceTree = ""; }; + E4CF49D119AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test2-NoResults.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test2-NoResults.json"; sourceTree = ""; }; + E4CF49D219AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test3-InvalidRequest.json"; sourceTree = ""; }; + E4CF49D319AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test4-RequestDenied.json"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - E435D98719AF74BA001639F1 /* Frameworks */ = { + E4CF497419AF9252000AAAA4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E435D99019AF74BA001639F1 /* CoreGraphics.framework in Frameworks */, - E435D99219AF74BA001639F1 /* UIKit.framework in Frameworks */, - E435D98E19AF74BA001639F1 /* Foundation.framework in Frameworks */, - C63EC366559D48558843F3B6 /* libPods-FTGooglePlacesAPIExample.a in Frameworks */, + E4CF497D19AF9252000AAAA4 /* CoreGraphics.framework in Frameworks */, + E4CF497F19AF9252000AAAA4 /* UIKit.framework in Frameworks */, + E4CF497B19AF9252000AAAA4 /* Foundation.framework in Frameworks */, + 05405005D1B041D3AF42E730 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E435D9A219AF74BA001639F1 /* Frameworks */ = { + E4CF498F19AF9252000AAAA4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E435D9A719AF74BA001639F1 /* XCTest.framework in Frameworks */, - E435D9A919AF74BA001639F1 /* UIKit.framework in Frameworks */, - E435D9A819AF74BA001639F1 /* Foundation.framework in Frameworks */, + E4CF499419AF9252000AAAA4 /* XCTest.framework in Frameworks */, + E4CF499619AF9252000AAAA4 /* UIKit.framework in Frameworks */, + E4CF499519AF9252000AAAA4 /* Foundation.framework in Frameworks */, + AD74EC0985AE4D9091362050 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - E435D98119AF74BA001639F1 = { + E4CF496E19AF9252000AAAA4 = { isa = PBXGroup; children = ( - E435D99319AF74BA001639F1 /* FTGooglePlacesAPIExample */, - E435D9AC19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */, - E435D98C19AF74BA001639F1 /* Frameworks */, - E435D98B19AF74BA001639F1 /* Products */, - B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */, + E4CF498019AF9252000AAAA4 /* FTGooglePlacesAPIExample */, + E4CF499919AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests */, + E4CF497919AF9252000AAAA4 /* Frameworks */, + E4CF497819AF9252000AAAA4 /* Products */, + 9752B25E193445AD812F50B7 /* Pods.xcconfig */, ); sourceTree = ""; }; - E435D98B19AF74BA001639F1 /* Products */ = { + E4CF497819AF9252000AAAA4 /* Products */ = { isa = PBXGroup; children = ( - E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */, - E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */, + E4CF497719AF9252000AAAA4 /* FTGooglePlacesAPIExample.app */, + E4CF499219AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests.xctest */, ); name = Products; sourceTree = ""; }; - E435D98C19AF74BA001639F1 /* Frameworks */ = { + E4CF497919AF9252000AAAA4 /* Frameworks */ = { isa = PBXGroup; children = ( - E435D98D19AF74BA001639F1 /* Foundation.framework */, - E435D98F19AF74BA001639F1 /* CoreGraphics.framework */, - E435D99119AF74BA001639F1 /* UIKit.framework */, - E435D9A619AF74BA001639F1 /* XCTest.framework */, - BECA2B6A1BDD45C688E37EC7 /* libPods-FTGooglePlacesAPIExample.a */, + E4CF497A19AF9252000AAAA4 /* Foundation.framework */, + E4CF497C19AF9252000AAAA4 /* CoreGraphics.framework */, + E4CF497E19AF9252000AAAA4 /* UIKit.framework */, + E4CF499319AF9252000AAAA4 /* XCTest.framework */, + C13C7070BC924C1FA0A21EA7 /* libPods.a */, ); name = Frameworks; sourceTree = ""; }; - E435D99319AF74BA001639F1 /* FTGooglePlacesAPIExample */ = { + E4CF498019AF9252000AAAA4 /* FTGooglePlacesAPIExample */ = { isa = PBXGroup; children = ( - E435D99C19AF74BA001639F1 /* FTAppDelegate.h */, - E435D99D19AF74BA001639F1 /* FTAppDelegate.m */, - E435D9D119AF80F5001639F1 /* View controllers */, - E435D99F19AF74BA001639F1 /* Images.xcassets */, - E435D99419AF74BA001639F1 /* Supporting Files */, + E4CF498919AF9252000AAAA4 /* FTAppDelegate.h */, + E4CF498A19AF9252000AAAA4 /* FTAppDelegate.m */, + E4CF49A919AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.h */, + E4CF49AA19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m */, + E4CF49AB19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.h */, + E4CF49AC19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m */, + E4CF49AD19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.h */, + E4CF49AE19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m */, + E4CF498C19AF9252000AAAA4 /* Images.xcassets */, + E4CF498119AF9252000AAAA4 /* Supporting Files */, ); path = FTGooglePlacesAPIExample; sourceTree = ""; }; - E435D99419AF74BA001639F1 /* Supporting Files */ = { + E4CF498119AF9252000AAAA4 /* Supporting Files */ = { isa = PBXGroup; children = ( - E435D9C519AF80D0001639F1 /* Images */, - E435D99519AF74BA001639F1 /* FTGooglePlacesAPIExample-Info.plist */, - E435D99619AF74BA001639F1 /* InfoPlist.strings */, - E435D99919AF74BA001639F1 /* main.m */, - E435D99B19AF74BA001639F1 /* FTGooglePlacesAPIExample-Prefix.pch */, + E4CF49B219AF93B0000AAAA4 /* Images */, + E4CF498219AF9252000AAAA4 /* FTGooglePlacesAPIExample-Info.plist */, + E4CF498319AF9252000AAAA4 /* InfoPlist.strings */, + E4CF498619AF9252000AAAA4 /* main.m */, + E4CF498819AF9252000AAAA4 /* FTGooglePlacesAPIExample-Prefix.pch */, ); name = "Supporting Files"; sourceTree = ""; }; - E435D9AC19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */ = { + E4CF499919AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests */ = { isa = PBXGroup; children = ( - E435D9B219AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m */, - E435D9AD19AF74BA001639F1 /* Supporting Files */, + E4CF49D819AF971D000AAAA4 /* Basic */, + E4CF49DC19AF9762000AAAA4 /* Requests */, + E4CF49DD19AF9771000AAAA4 /* Response */, + E4CF49D919AF9745000AAAA4 /* Service */, + E4CF499A19AF9252000AAAA4 /* Supporting Files */, ); path = FTGooglePlacesAPIExampleTests; sourceTree = ""; }; - E435D9AD19AF74BA001639F1 /* Supporting Files */ = { + E4CF499A19AF9252000AAAA4 /* Supporting Files */ = { isa = PBXGroup; children = ( - E435D9AE19AF74BA001639F1 /* FTGooglePlacesAPIExampleTests-Info.plist */, - E435D9AF19AF74BA001639F1 /* InfoPlist.strings */, + E4CF49CF19AF96DF000AAAA4 /* TestData */, + E4CF499B19AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests-Info.plist */, + E4CF499C19AF9252000AAAA4 /* InfoPlist.strings */, ); name = "Supporting Files"; sourceTree = ""; }; - E435D9C519AF80D0001639F1 /* Images */ = { + E4CF49B219AF93B0000AAAA4 /* Images */ = { isa = PBXGroup; children = ( - E435D9C619AF80D0001639F1 /* powered-by-google-on-white.png */, - E435D9C719AF80D0001639F1 /* powered-by-google-on-white@2x.png */, + E4CF49B319AF93B0000AAAA4 /* powered-by-google-on-white.png */, + E4CF49B419AF93B0000AAAA4 /* powered-by-google-on-white@2x.png */, ); path = Images; sourceTree = ""; }; - E435D9D119AF80F5001639F1 /* View controllers */ = { + E4CF49CF19AF96DF000AAAA4 /* TestData */ = { isa = PBXGroup; children = ( - E435D9D219AF8107001639F1 /* Examples list */, - E435D9D419AF811C001639F1 /* Results list */, - E435D9D319AF8112001639F1 /* Detail */, + E4CF49D019AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */, + E4CF49D119AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test2-NoResults.json */, + E4CF49D219AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */, + E4CF49D319AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */, ); - name = "View controllers"; + path = TestData; sourceTree = ""; }; - E435D9D219AF8107001639F1 /* Examples list */ = { + E4CF49D819AF971D000AAAA4 /* Basic */ = { isa = PBXGroup; children = ( - E435D9C019AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.h */, - E435D9C119AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m */, + E4CF49B919AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.h */, + E4CF49BA19AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.m */, ); - name = "Examples list"; + name = Basic; sourceTree = ""; }; - E435D9D319AF8112001639F1 /* Detail */ = { + E4CF49D919AF9745000AAAA4 /* Service */ = { isa = PBXGroup; children = ( - E435D9BC19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.h */, - E435D9BD19AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m */, + E4CF49C019AF96BB000AAAA4 /* FTGooglePlacesAPIServiceTests.m */, + E4CF49DB19AF9754000AAAA4 /* Mock */, ); - name = Detail; + name = Service; sourceTree = ""; }; - E435D9D419AF811C001639F1 /* Results list */ = { + E4CF49DB19AF9754000AAAA4 /* Mock */ = { isa = PBXGroup; children = ( - E435D9BE19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.h */, - E435D9BF19AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m */, + E4CF49C119AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.h */, + E4CF49C219AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.m */, + E4CF49C519AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.h */, + E4CF49C619AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.m */, ); - name = "Results list"; + name = Mock; + sourceTree = ""; + }; + E4CF49DC19AF9762000AAAA4 /* Requests */ = { + isa = PBXGroup; + children = ( + E4CF49B719AF93FB000AAAA4 /* FTGooglePlacesAPIDictionaryRequestTest.m */, + E4CF49BC19AF96BB000AAAA4 /* FTGooglePlacesAPINearbySearchRequestTests.m */, + ); + name = Requests; + sourceTree = ""; + }; + E4CF49DD19AF9771000AAAA4 /* Response */ = { + isa = PBXGroup; + children = ( + E4CF49BD19AF96BB000AAAA4 /* FTGooglePlacesAPIResponseTests.m */, + E4CF49BE19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResponseTests.m */, + E4CF49BF19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResultItemTests.m */, + E4CF49DE19AF9778000AAAA4 /* Mock */, + ); + name = Response; + sourceTree = ""; + }; + E4CF49DE19AF9778000AAAA4 /* Mock */ = { + isa = PBXGroup; + children = ( + E4CF49C319AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.h */, + E4CF49C419AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */, + ); + name = Mock; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */ = { + E4CF497619AF9252000AAAA4 /* FTGooglePlacesAPIExample */ = { isa = PBXNativeTarget; - buildConfigurationList = E435D9B619AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */; + buildConfigurationList = E4CF49A319AF9252000AAAA4 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */; buildPhases = ( - E33DF773B998497F99E7E1BA /* Check Pods Manifest.lock */, - E435D98619AF74BA001639F1 /* Sources */, - E435D98719AF74BA001639F1 /* Frameworks */, - E435D98819AF74BA001639F1 /* Resources */, - 29FA7FFEDC074B7986CBAF5E /* Copy Pods Resources */, + EBEA0A82B245498E9FE46AA5 /* Check Pods Manifest.lock */, + E4CF497319AF9252000AAAA4 /* Sources */, + E4CF497419AF9252000AAAA4 /* Frameworks */, + E4CF497519AF9252000AAAA4 /* Resources */, + 28DAA6BB25F647958AD6DEDD /* Copy Pods Resources */, ); buildRules = ( ); @@ -230,84 +303,120 @@ ); name = FTGooglePlacesAPIExample; productName = FTGooglePlacesAPIExample; - productReference = E435D98A19AF74BA001639F1 /* FTGooglePlacesAPIExample.app */; + productReference = E4CF497719AF9252000AAAA4 /* FTGooglePlacesAPIExample.app */; productType = "com.apple.product-type.application"; }; - E435D9A419AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */ = { + E4CF499119AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests */ = { isa = PBXNativeTarget; - buildConfigurationList = E435D9B919AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */; + buildConfigurationList = E4CF49A619AF9252000AAAA4 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */; buildPhases = ( - E435D9A119AF74BA001639F1 /* Sources */, - E435D9A219AF74BA001639F1 /* Frameworks */, - E435D9A319AF74BA001639F1 /* Resources */, + 0C2F8DE74182442DBC63A16A /* Check Pods Manifest.lock */, + E4CF498E19AF9252000AAAA4 /* Sources */, + E4CF498F19AF9252000AAAA4 /* Frameworks */, + E4CF499019AF9252000AAAA4 /* Resources */, + 62858797BBF34EB8A0918967 /* Copy Pods Resources */, ); buildRules = ( ); dependencies = ( - E435D9AB19AF74BA001639F1 /* PBXTargetDependency */, + E4CF499819AF9252000AAAA4 /* PBXTargetDependency */, ); name = FTGooglePlacesAPIExampleTests; productName = FTGooglePlacesAPIExampleTests; - productReference = E435D9A519AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.xctest */; + productReference = E4CF499219AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - E435D98219AF74BA001639F1 /* Project object */ = { + E4CF496F19AF9252000AAAA4 /* Project object */ = { isa = PBXProject; attributes = { CLASSPREFIX = FT; LastUpgradeCheck = 0510; ORGANIZATIONNAME = "Marco Meschini"; TargetAttributes = { - E435D9A419AF74BA001639F1 = { - TestTargetID = E435D98919AF74BA001639F1; + E4CF499119AF9252000AAAA4 = { + TestTargetID = E4CF497619AF9252000AAAA4; }; }; }; - buildConfigurationList = E435D98519AF74BA001639F1 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */; + buildConfigurationList = E4CF497219AF9252000AAAA4 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = E435D98119AF74BA001639F1; - productRefGroup = E435D98B19AF74BA001639F1 /* Products */; + mainGroup = E4CF496E19AF9252000AAAA4; + productRefGroup = E4CF497819AF9252000AAAA4 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */, - E435D9A419AF74BA001639F1 /* FTGooglePlacesAPIExampleTests */, + E4CF497619AF9252000AAAA4 /* FTGooglePlacesAPIExample */, + E4CF499119AF9252000AAAA4 /* FTGooglePlacesAPIExampleTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - E435D98819AF74BA001639F1 /* Resources */ = { + E4CF497519AF9252000AAAA4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E435D99819AF74BA001639F1 /* InfoPlist.strings in Resources */, - E435D9A019AF74BA001639F1 /* Images.xcassets in Resources */, - E435D9CD19AF80D0001639F1 /* powered-by-google-on-white@2x.png in Resources */, - E435D9CC19AF80D0001639F1 /* powered-by-google-on-white.png in Resources */, + E4CF498519AF9252000AAAA4 /* InfoPlist.strings in Resources */, + E4CF498D19AF9252000AAAA4 /* Images.xcassets in Resources */, + E4CF49B619AF93B0000AAAA4 /* powered-by-google-on-white@2x.png in Resources */, + E4CF49B519AF93B0000AAAA4 /* powered-by-google-on-white.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E435D9A319AF74BA001639F1 /* Resources */ = { + E4CF499019AF9252000AAAA4 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - E435D9B119AF74BA001639F1 /* InfoPlist.strings in Resources */, + E4CF49D619AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json in Resources */, + E4CF499E19AF9252000AAAA4 /* InfoPlist.strings in Resources */, + E4CF49D519AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test2-NoResults.json in Resources */, + E4CF49D719AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test4-RequestDenied.json in Resources */, + E4CF49D419AF96DF000AAAA4 /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 29FA7FFEDC074B7986CBAF5E /* Copy Pods Resources */ = { + 0C2F8DE74182442DBC63A16A /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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"; + showEnvVarsInLog = 0; + }; + 28DAA6BB25F647958AD6DEDD /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 62858797BBF34EB8A0918967 /* Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -319,10 +428,10 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Pods-FTGooglePlacesAPIExample-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Pods-resources.sh\"\n"; showEnvVarsInLog = 0; }; - E33DF773B998497F99E7E1BA /* Check Pods Manifest.lock */ = { + EBEA0A82B245498E9FE46AA5 /* Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -340,49 +449,58 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - E435D98619AF74BA001639F1 /* Sources */ = { + E4CF497319AF9252000AAAA4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E435D9C419AF804F001639F1 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */, - E435D9C319AF804F001639F1 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */, - E435D99E19AF74BA001639F1 /* FTAppDelegate.m in Sources */, - E435D99A19AF74BA001639F1 /* main.m in Sources */, - E435D9C219AF804F001639F1 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */, + E4CF49B119AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m in Sources */, + E4CF49B019AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */, + E4CF498B19AF9252000AAAA4 /* FTAppDelegate.m in Sources */, + E4CF498719AF9252000AAAA4 /* main.m in Sources */, + E4CF49AF19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E435D9A119AF74BA001639F1 /* Sources */ = { + E4CF498E19AF9252000AAAA4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E435D9B319AF74BA001639F1 /* FTGooglePlacesAPIExampleTests.m in Sources */, + E4CF49C819AF96BB000AAAA4 /* FTGooglePlacesAPIResponseTests.m in Sources */, + E4CF49C719AF96BB000AAAA4 /* FTGooglePlacesAPINearbySearchRequestTests.m in Sources */, + E4CF49C919AF96BB000AAAA4 /* FTGooglePlacesAPISearchResponseTests.m in Sources */, + E4CF49BB19AF94E4000AAAA4 /* FTGooglePlacesAPITestCase.m in Sources */, + E4CF49CD19AF96BB000AAAA4 /* MockFTGooglePlacesAPISearchResultItemSubclass.m in Sources */, + E4CF49CC19AF96BB000AAAA4 /* MockAFHTTPRequestOperationManager.m in Sources */, + E4CF49B819AF93FB000AAAA4 /* FTGooglePlacesAPIDictionaryRequestTest.m in Sources */, + E4CF49CE19AF96BB000AAAA4 /* MockFTGooglePlacesAPIService.m in Sources */, + E4CF49CA19AF96BB000AAAA4 /* FTGooglePlacesAPISearchResultItemTests.m in Sources */, + E4CF49CB19AF96BB000AAAA4 /* FTGooglePlacesAPIServiceTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - E435D9AB19AF74BA001639F1 /* PBXTargetDependency */ = { + E4CF499819AF9252000AAAA4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = E435D98919AF74BA001639F1 /* FTGooglePlacesAPIExample */; - targetProxy = E435D9AA19AF74BA001639F1 /* PBXContainerItemProxy */; + target = E4CF497619AF9252000AAAA4 /* FTGooglePlacesAPIExample */; + targetProxy = E4CF499719AF9252000AAAA4 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - E435D99619AF74BA001639F1 /* InfoPlist.strings */ = { + E4CF498319AF9252000AAAA4 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - E435D99719AF74BA001639F1 /* en */, + E4CF498419AF9252000AAAA4 /* en */, ); name = InfoPlist.strings; sourceTree = ""; }; - E435D9AF19AF74BA001639F1 /* InfoPlist.strings */ = { + E4CF499C19AF9252000AAAA4 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - E435D9B019AF74BA001639F1 /* en */, + E4CF499D19AF9252000AAAA4 /* en */, ); name = InfoPlist.strings; sourceTree = ""; @@ -390,7 +508,7 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - E435D9B419AF74BA001639F1 /* Debug */ = { + E4CF49A119AF9252000AAAA4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -428,7 +546,7 @@ }; name = Debug; }; - E435D9B519AF74BA001639F1 /* Release */ = { + E4CF49A219AF9252000AAAA4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -460,9 +578,9 @@ }; name = Release; }; - E435D9B719AF74BA001639F1 /* Debug */ = { + E4CF49A419AF9252000AAAA4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */; + baseConfigurationReference = 9752B25E193445AD812F50B7 /* Pods.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -474,9 +592,9 @@ }; name = Debug; }; - E435D9B819AF74BA001639F1 /* Release */ = { + E4CF49A519AF9252000AAAA4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B2DE6896A4304CE89F7C2932 /* Pods-FTGooglePlacesAPIExample.xcconfig */; + baseConfigurationReference = 9752B25E193445AD812F50B7 /* Pods.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -488,8 +606,9 @@ }; name = Release; }; - E435D9BA19AF74BA001639F1 /* Debug */ = { + E4CF49A719AF9252000AAAA4 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9752B25E193445AD812F50B7 /* Pods.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/FTGooglePlacesAPIExample.app/FTGooglePlacesAPIExample"; FRAMEWORK_SEARCH_PATHS = ( @@ -510,8 +629,9 @@ }; name = Debug; }; - E435D9BB19AF74BA001639F1 /* Release */ = { + E4CF49A819AF9252000AAAA4 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9752B25E193445AD812F50B7 /* Pods.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/FTGooglePlacesAPIExample.app/FTGooglePlacesAPIExample"; FRAMEWORK_SEARCH_PATHS = ( @@ -531,34 +651,34 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - E435D98519AF74BA001639F1 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */ = { + E4CF497219AF9252000AAAA4 /* Build configuration list for PBXProject "FTGooglePlacesAPIExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - E435D9B419AF74BA001639F1 /* Debug */, - E435D9B519AF74BA001639F1 /* Release */, + E4CF49A119AF9252000AAAA4 /* Debug */, + E4CF49A219AF9252000AAAA4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E435D9B619AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */ = { + E4CF49A319AF9252000AAAA4 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - E435D9B719AF74BA001639F1 /* Debug */, - E435D9B819AF74BA001639F1 /* Release */, + E4CF49A419AF9252000AAAA4 /* Debug */, + E4CF49A519AF9252000AAAA4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E435D9B919AF74BA001639F1 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */ = { + E4CF49A619AF9252000AAAA4 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPIExampleTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E435D9BA19AF74BA001639F1 /* Debug */, - E435D9BB19AF74BA001639F1 /* Release */, + E4CF49A719AF9252000AAAA4 /* Debug */, + E4CF49A819AF9252000AAAA4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = E435D98219AF74BA001639F1 /* Project object */; + rootObject = E4CF496F19AF9252000AAAA4 /* Project object */; } diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout index d90782a..08070ac 100644 --- a/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout @@ -5,34 +5,34 @@ IDESourceControlProjectFavoriteDictionaryKey IDESourceControlProjectIdentifier - 4498DB9A-53C8-4762-983B-593F4A48F542 + D9014B2D-2B04-4185-8898-3BF3D882091B IDESourceControlProjectName FTGooglePlacesAPIExample IDESourceControlProjectOriginsDictionary - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 - ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 + ssh://github.com/marciomeschini/FTGooglePlacesAPI.git IDESourceControlProjectPath - Example/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace + Temp/FTGooglePlacesAPIExample/FTGooglePlacesAPIExample.xcodeproj/project.xcworkspace IDESourceControlProjectRelativeInstallPathDictionary - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 ../../../.. IDESourceControlProjectURL - ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + ssh://github.com/marciomeschini/FTGooglePlacesAPI.git IDESourceControlProjectVersion 110 IDESourceControlProjectWCCIdentifier - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 IDESourceControlProjectWCConfigurations IDESourceControlRepositoryExtensionIdentifierKey public.vcs.git IDESourceControlWCCIdentifierKey - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 IDESourceControlWCCName FTGooglePlacesAPI diff --git a/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout b/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout index d46f36d..6092d98 100644 --- a/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout +++ b/Example/FTGooglePlacesAPIExample.xcworkspace/xcshareddata/FTGooglePlacesAPIExample.xccheckout @@ -5,34 +5,34 @@ IDESourceControlProjectFavoriteDictionaryKey IDESourceControlProjectIdentifier - 6F4E3F87-C5EC-4AEE-A946-80C77E432D07 + C9D92D23-1BDE-46F3-BDD5-F6CE74760691 IDESourceControlProjectName FTGooglePlacesAPIExample IDESourceControlProjectOriginsDictionary - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 - ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 + ssh://github.com/marciomeschini/FTGooglePlacesAPI.git IDESourceControlProjectPath - Example/FTGooglePlacesAPIExample.xcworkspace + Temp/FTGooglePlacesAPIExample.xcworkspace IDESourceControlProjectRelativeInstallPathDictionary - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 ../.. IDESourceControlProjectURL - ssh://github.com/FuerteInternational/FTGooglePlacesAPI.git + ssh://github.com/marciomeschini/FTGooglePlacesAPI.git IDESourceControlProjectVersion 110 IDESourceControlProjectWCCIdentifier - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 IDESourceControlProjectWCConfigurations IDESourceControlRepositoryExtensionIdentifierKey public.vcs.git IDESourceControlWCCIdentifierKey - 1048F091-23FE-4909-B91C-3E5B6CB9AAC0 + 2AB32A91-78FC-44EB-BF07-DB62894EFBF4 IDESourceControlWCCName FTGooglePlacesAPI diff --git a/Example/FTGooglePlacesAPIExample/FTAppDelegate.m b/Example/FTGooglePlacesAPIExample/FTAppDelegate.m index 2261888..1371331 100644 --- a/Example/FTGooglePlacesAPIExample/FTAppDelegate.m +++ b/Example/FTGooglePlacesAPIExample/FTAppDelegate.m @@ -27,7 +27,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [self createAttributionsViews]; [self.window makeKeyAndVisible]; - return YES; } @@ -81,4 +80,5 @@ - (void)createAttributionsViews [containerView addSubview:googleLogoView]; } + @end diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json index f1a75d4..c79ebd3 100644 --- a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -5,16 +5,14 @@ "idiom" : "iphone", "extent" : "full-screen", "minimum-system-version" : "7.0", - "filename" : "Default@2x.png", "scale" : "2x" }, { - "extent" : "full-screen", + "orientation" : "portrait", "idiom" : "iphone", "subtype" : "retina4", - "filename" : "Default-568h@2x.png", + "extent" : "full-screen", "minimum-system-version" : "7.0", - "orientation" : "portrait", "scale" : "2x" } ], diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png deleted file mode 100644 index 0891b7aabfcf3422423b109c8beed2bab838c607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u diff --git a/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png b/Example/FTGooglePlacesAPIExample/Images.xcassets/LaunchImage.launchimage/Default@2x.png deleted file mode 100644 index 35b84cffeb4db607983c8383fa9199731dc3aba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16107 zcmeHOXZ2Cama>{@)81;C?K-P&M2k<0!GL}5+H~XTq*@SQi|Ft z2*0X`$`8S!qO#)xBeJRkf?;t189=ZB6Imw-h=`q;FP(2UpWZvmJ@=k-@45M(dtb7r zyVEiaLk$=Vw#>zu;st}j6Jf9=m1+nXCFe!$1PrEZ%5Ze_ba8YX_9-*rJujiLuQmJo&2v+Cxes}ec zU|qeux&7*yz#W=X_|wGQskL7*OHNjwFs@sEC+64Hb$Z(#H21Gh$Pe2WzOubdr6fzg z{l{!k%OD?N5Z7j33SoK?YdV6Scm>})U+MIQLNRgIvkZQEc^mP9XBPg%y|S$~Br|;N zk?-!-(Qqh_mQ|6WINQ{hHAjBRV#O#!FkAJ+oxy`L#f8V45*VvWMJFBB5m zG6vOLtDvgoDjHlSq-*h5xM56O>Jjau2f2IxKItIb@coX4XTyf$^{LZG&lI|D95wN1 z!fo0)q>WV7-V;q|A?HR!*bgozJw%j98-~gwBKVV0;=hZIF>7oJSr2YjOWO*rSxz#& z;KXnDrJVZp;Yduiy1-H%s$ZFz6Q=x@$V_B@Tqwl?>6e;EHt|MiK<(#hXQMuj@Jseeh&eN{FxsQ$iw>D1aX1HMMlUbh?Z zmhY4eHffn5&LUbL_}o8|$JYz&$WFiLWmEg0ZPX+;W>@CxQz-%{E5+P7dH9&ey_y$R z@Zzje>2B%z!i!7Brqi{t5Y)~5>vpqRs~2aXD8DVE8vKl=`k(`duI1-k@?!pJ^HA6S zS;3WpuhjQHyoC>X>Xf8gze%_8^#+^RTV>V9&YPAWMjd~%xpSg?ON?kK^X*Pb(o8jR zz;DmaOWMMr6=M~K?MFx4_xDkARTxLJ@W@ohAx z5RD0jGgk?QL@H`VubD2k4}?VtB8@g`%hHBA$2pJ(gK5g1HMNysXEF_BNu-p!&+Qa8_APgopHWnRgg=TZZF*sXWTMQPD z!Q(Au5|+F;7M~`tWbsU98~NA{h0Y7%GB|t&n}w9OOABU4^X*V5xuN;rY(M#ouuqm) zyt!e?28fY!FgP?8GvBsMl_aM^UUVKiGFsleFN?t^<46kO#pF-cX0;sIOb(aM z)^jQgX^Z6pKA9mC@N)_aiHj9HxD2|?A@Y9B_h}(*v3%ek8CXc1Qy^jFPF&zrMa1OZ zSVaF{&ZY|(|H0XE&X>-XQz1`=fF2n@VKC_|h3jlKVM&-jmyMavllcYr`6LVtfq2ou zd+8zkkCB+2)rxq0Lkq_&Ad@g(O8;pAm96>tu79?81T@Z<;gm^3ZtPG-SR94Mr<3tm z9NrR3u*4I5aMlo(09g@8m_;%Rf+XiSa_KZao9n}7N0JrsV#;5Ucr+F*TTzQ8{%f3O zeIUy?WDS|-$LvMc@Z7320)tr}bfIka5hx9H;8H|%our=C+Do0CSFRWue14o5#r8v2 zw=|&r4*eMX%lgCV(ka?*j%H^UuP4LmBC(ON`)&7>NF-|PDRU{-7o`CU0HNbd&c~))@yl9IKu_ zXA+A-!khpP_yx=f#qt2_0ptmgBf4gF!{Y)MW6R$cC1d7@$Yb?+_j zYwfE^5_e`vhT zX=u3r>4$fsxP&apbm@Rcbyuc2T=giqZiMo9@9=oua6#YH0hO-1ak9^rJTPMM qY4Yr5Cu^v99p{E9VdroUHKlRW;M8#BJ^AOQE?e9wSHJo8(7yq;BYKSh diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIDictionaryRequestTest.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIDictionaryRequestTest.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIDictionaryRequestTest.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIDictionaryRequestTest.m diff --git a/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m deleted file mode 100644 index d8092f4..0000000 --- a/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIExampleTests.m +++ /dev/null @@ -1,34 +0,0 @@ -// -// FTGooglePlacesAPIExampleTests.m -// FTGooglePlacesAPIExampleTests -// -// Created by Marco Meschini on 28/08/2014. -// Copyright (c) 2014 Marco Meschini. All rights reserved. -// - -#import - -@interface FTGooglePlacesAPIExampleTests : XCTestCase - -@end - -@implementation FTGooglePlacesAPIExampleTests - -- (void)setUp -{ - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testExample -{ - XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); -} - -@end diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPINearbySearchRequestTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPINearbySearchRequestTests.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPINearbySearchRequestTests.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPINearbySearchRequestTests.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIResponseTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIResponseTests.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIResponseTests.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIResponseTests.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPISearchResponseTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPISearchResponseTests.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPISearchResponseTests.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPISearchResponseTests.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPISearchResultItemTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPISearchResultItemTests.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPISearchResultItemTests.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPISearchResultItemTests.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIServiceTests.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIServiceTests.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPIServiceTests.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPIServiceTests.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPITestCase.h b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPITestCase.h similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPITestCase.h rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPITestCase.h diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPITestCase.m b/Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPITestCase.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/FTGooglePlacesAPITestCase.m rename to Example/FTGooglePlacesAPIExampleTests/FTGooglePlacesAPITestCase.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockAFHTTPRequestOperationManager.h b/Example/FTGooglePlacesAPIExampleTests/MockAFHTTPRequestOperationManager.h similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockAFHTTPRequestOperationManager.h rename to Example/FTGooglePlacesAPIExampleTests/MockAFHTTPRequestOperationManager.h diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockAFHTTPRequestOperationManager.m b/Example/FTGooglePlacesAPIExampleTests/MockAFHTTPRequestOperationManager.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockAFHTTPRequestOperationManager.m rename to Example/FTGooglePlacesAPIExampleTests/MockAFHTTPRequestOperationManager.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.h b/Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPISearchResultItemSubclass.h similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.h rename to Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPISearchResultItemSubclass.h diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.m b/Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPISearchResultItemSubclass.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.m rename to Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPISearchResultItemSubclass.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPIService.h b/Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPIService.h similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPIService.h rename to Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPIService.h diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPIService.m b/Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPIService.m similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/Source/Mocks/MockFTGooglePlacesAPIService.m rename to Example/FTGooglePlacesAPIExampleTests/MockFTGooglePlacesAPIService.m diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json b/Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json rename to Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test2-NoResults.json b/Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test2-NoResults.json similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test2-NoResults.json rename to Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test2-NoResults.json diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test3-InvalidRequest.json b/Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test3-InvalidRequest.json similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test3-InvalidRequest.json rename to Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test3-InvalidRequest.json diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test4-RequestDenied.json b/Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test4-RequestDenied.json similarity index 100% rename from XcodeProject/FTGooglePlacesAPILogicTests/TestData/FTGooglePlacesAPIResponse-test4-RequestDenied.json rename to Example/FTGooglePlacesAPIExampleTests/TestData/FTGooglePlacesAPIResponse-test4-RequestDenied.json diff --git a/Example/Podfile b/Example/Podfile index e91392b..cc65b0a 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,7 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, "6.0" - -target "FTGooglePlacesAPIExample" do +platform :ios, "6.0" #Before push use: pod "FTGooglePlacesAPI" @@ -9,9 +7,7 @@ pod "FTGooglePlacesAPI" #For local development use: #pod "FTGooglePlacesAPI", :path => "../FTGooglePlacesAPI.podspec" -end - -target "FTGooglePlacesAPIExampleTests" do +pod "OCMock" -end +link_with ['FTGooglePlacesAPIExample', 'FTGooglePlacesAPIExampleTests'] diff --git a/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.pbxproj b/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.pbxproj deleted file mode 100644 index c905376..0000000 --- a/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1008 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - A01BDF46183BD70100A24F40 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF45183BD70100A24F40 /* Foundation.framework */; }; - A01BDF48183BD70100A24F40 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF47183BD70100A24F40 /* CoreGraphics.framework */; }; - A01BDF4A183BD70100A24F40 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF49183BD70100A24F40 /* UIKit.framework */; }; - A01BDF50183BD70100A24F40 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A01BDF4E183BD70100A24F40 /* InfoPlist.strings */; }; - A01BDF52183BD70100A24F40 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF51183BD70100A24F40 /* main.m */; }; - A01BDF56183BD70100A24F40 /* FTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF55183BD70100A24F40 /* FTAppDelegate.m */; }; - A01BDF83183BD82D00A24F40 /* FTGooglePlacesAPICommon.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF78183BD82D00A24F40 /* FTGooglePlacesAPICommon.m */; }; - A01BDF85183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7A183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m */; }; - A01BDF87183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7C183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m */; }; - A01BDF89183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7E183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m */; }; - A01BDF8B183BD82D00A24F40 /* FTGooglePlacesAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF80183BD82D00A24F40 /* FTGooglePlacesAPIService.m */; }; - A01BDF8D183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF82183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m */; }; - A01BDFA3183BD83B00A24F40 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF91183BD83B00A24F40 /* AFHTTPRequestOperation.m */; }; - A01BDFA5183BD83B00A24F40 /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF93183BD83B00A24F40 /* AFHTTPRequestOperationManager.m */; }; - A01BDFA7183BD83B00A24F40 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF95183BD83B00A24F40 /* AFHTTPSessionManager.m */; }; - A01BDFA9183BD83B00A24F40 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF98183BD83B00A24F40 /* AFNetworkReachabilityManager.m */; }; - A01BDFAB183BD83B00A24F40 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9A183BD83B00A24F40 /* AFSecurityPolicy.m */; }; - A01BDFAD183BD83B00A24F40 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9C183BD83B00A24F40 /* AFURLConnectionOperation.m */; }; - A01BDFAF183BD83B00A24F40 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9E183BD83B00A24F40 /* AFURLRequestSerialization.m */; }; - A01BDFB1183BD83B00A24F40 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDFA0183BD83B00A24F40 /* AFURLResponseSerialization.m */; }; - A01BDFB3183BD83B00A24F40 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDFA2183BD83B00A24F40 /* AFURLSessionManager.m */; }; - A0246C43183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C42183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.m */; }; - A0246C47183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C46183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.m */; }; - A0246C61183D0B5D0052416D /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C53183D0B5D0052416D /* AFNetworkActivityIndicatorManager.m */; }; - A0246C62183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C55183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.m */; }; - A0246C63183D0B5D0052416D /* UIAlertView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C57183D0B5D0052416D /* UIAlertView+AFNetworking.m */; }; - A0246C64183D0B5D0052416D /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C59183D0B5D0052416D /* UIButton+AFNetworking.m */; }; - A0246C65183D0B5D0052416D /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C5B183D0B5D0052416D /* UIImageView+AFNetworking.m */; }; - A0246C66183D0B5D0052416D /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C5E183D0B5D0052416D /* UIProgressView+AFNetworking.m */; }; - A0246C67183D0B5D0052416D /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246C60183D0B5D0052416D /* UIWebView+AFNetworking.m */; }; - A0246C6E183D10850052416D /* FTGooglePlacesAPICommon.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF78183BD82D00A24F40 /* FTGooglePlacesAPICommon.m */; }; - A0246C70183D10850052416D /* FTGooglePlacesAPISearchResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7C183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m */; }; - A0246C71183D10850052416D /* FTGooglePlacesAPISearchResultItem.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7E183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m */; }; - A0246C72183D10850052416D /* FTGooglePlacesAPITextSearchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF82183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m */; }; - A0246C73183D10850052416D /* FTGooglePlacesAPINearbySearchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF7A183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m */; }; - A0246C78183D10850052416D /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF5E183BD70100A24F40 /* XCTest.framework */; }; - A0246C79183D10850052416D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF49183BD70100A24F40 /* UIKit.framework */; }; - A0246C7A183D10850052416D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A01BDF45183BD70100A24F40 /* Foundation.framework */; }; - A0246C8B183D10F50052416D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = A0246C83183D10F50052416D /* InfoPlist.strings */; }; - A0246C9F183D21EA0052416D /* FTGooglePlacesAPIResponse-test2-NoResults.json in Resources */ = {isa = PBXBuildFile; fileRef = A0246C9B183D21EA0052416D /* FTGooglePlacesAPIResponse-test2-NoResults.json */; }; - A0246CA0183D21EA0052416D /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json in Resources */ = {isa = PBXBuildFile; fileRef = A0246C9C183D21EA0052416D /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */; }; - A0246CA3183D24150052416D /* FTGooglePlacesAPIResponse-test4-RequestDenied.json in Resources */ = {isa = PBXBuildFile; fileRef = A0246CA2183D24150052416D /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */; }; - A0246CAC183D29BA0052416D /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A0246CA9183D29BA0052416D /* Default-568h@2x.png */; }; - A0246CAD183D29BA0052416D /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = A0246CAA183D29BA0052416D /* Default.png */; }; - A0246CAE183D29BA0052416D /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A0246CAB183D29BA0052416D /* Default@2x.png */; }; - A0246CB4183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246CB3183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m */; }; - A0246CB5183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0246CB3183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m */; }; - A0456B4F18B38A4E002D26B8 /* powered-by-google-on-white.png in Resources */ = {isa = PBXBuildFile; fileRef = A0456B4D18B38A4E002D26B8 /* powered-by-google-on-white.png */; }; - A0456B5018B38A4E002D26B8 /* powered-by-google-on-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A0456B4E18B38A4E002D26B8 /* powered-by-google-on-white@2x.png */; }; - A07E9D5C1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D5B1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m */; }; - A07E9D5D1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D5B1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m */; }; - A07E9D601848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D5F1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m */; }; - A07E9D611848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D5F1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m */; }; - A07E9D651848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D641848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m */; }; - A07E9D661848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D641848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m */; }; - A07E9D6A1848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A07E9D691848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.m */; }; - A0957B971850C0CB00D04466 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A0957B961850C0CB00D04466 /* libOCMock.a */; }; - A0957BD01852398400D04466 /* FTGooglePlacesAPITestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BCF1852398400D04466 /* FTGooglePlacesAPITestCase.m */; }; - A0957BD518523A4C00D04466 /* FTGooglePlacesAPIDictionaryRequestTest.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BD318523A4C00D04466 /* FTGooglePlacesAPIDictionaryRequestTest.m */; }; - A0957BD618523A4C00D04466 /* FTGooglePlacesAPINearbySearchRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BD418523A4C00D04466 /* FTGooglePlacesAPINearbySearchRequestTests.m */; }; - A0957BDB18523A6600D04466 /* FTGooglePlacesAPIResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BD718523A6600D04466 /* FTGooglePlacesAPIResponseTests.m */; }; - A0957BDC18523A6600D04466 /* FTGooglePlacesAPISearchResponseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BD818523A6600D04466 /* FTGooglePlacesAPISearchResponseTests.m */; }; - A0957BDD18523A6600D04466 /* FTGooglePlacesAPISearchResultItemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BD918523A6600D04466 /* FTGooglePlacesAPISearchResultItemTests.m */; }; - A0957BDE18523A6600D04466 /* FTGooglePlacesAPIServiceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BDA18523A6600D04466 /* FTGooglePlacesAPIServiceTests.m */; }; - A0957BE218523B4E00D04466 /* MockFTGooglePlacesAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BE118523B4E00D04466 /* MockFTGooglePlacesAPIService.m */; }; - A0957BE618523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = A0957BE518523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */; }; - A0957BF418523DE700D04466 /* FTGooglePlacesAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF80183BD82D00A24F40 /* FTGooglePlacesAPIService.m */; }; - A0957BF518523E2C00D04466 /* AFHTTPRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF91183BD83B00A24F40 /* AFHTTPRequestOperation.m */; }; - A0957BF618523E2C00D04466 /* AFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF93183BD83B00A24F40 /* AFHTTPRequestOperationManager.m */; }; - A0957BF718523E2C00D04466 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF95183BD83B00A24F40 /* AFHTTPSessionManager.m */; }; - A0957BF818523E2C00D04466 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF98183BD83B00A24F40 /* AFNetworkReachabilityManager.m */; }; - A0957BF918523E2C00D04466 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9A183BD83B00A24F40 /* AFSecurityPolicy.m */; }; - A0957BFA18523E2C00D04466 /* AFURLConnectionOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9C183BD83B00A24F40 /* AFURLConnectionOperation.m */; }; - A0957BFB18523E2C00D04466 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDF9E183BD83B00A24F40 /* AFURLRequestSerialization.m */; }; - A0957BFC18523E2C00D04466 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDFA0183BD83B00A24F40 /* AFURLResponseSerialization.m */; }; - A0957BFD18523E2C00D04466 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A01BDFA2183BD83B00A24F40 /* AFURLSessionManager.m */; }; - A0F90BB01855F29200171CAE /* MockAFHTTPRequestOperationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A0F90BAF1855F29200171CAE /* MockAFHTTPRequestOperationManager.m */; }; - A0F90BB418561ABB00171CAE /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json in Resources */ = {isa = PBXBuildFile; fileRef = A0F90BB318561ABB00171CAE /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - A01BDF42183BD70100A24F40 /* FTGooglePlacesAPI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FTGooglePlacesAPI.app; sourceTree = BUILT_PRODUCTS_DIR; }; - A01BDF45183BD70100A24F40 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - A01BDF47183BD70100A24F40 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - A01BDF49183BD70100A24F40 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - A01BDF4D183BD70100A24F40 /* FTGooglePlacesAPI-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPI-Info.plist"; sourceTree = ""; }; - A01BDF4F183BD70100A24F40 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - A01BDF51183BD70100A24F40 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - A01BDF53183BD70100A24F40 /* FTGooglePlacesAPI-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FTGooglePlacesAPI-Prefix.pch"; sourceTree = ""; }; - A01BDF54183BD70100A24F40 /* FTAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FTAppDelegate.h; sourceTree = ""; }; - A01BDF55183BD70100A24F40 /* FTAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FTAppDelegate.m; sourceTree = ""; }; - A01BDF5E183BD70100A24F40 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - A01BDF76183BD82D00A24F40 /* FTGooglePlacesAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPI.h; sourceTree = ""; }; - A01BDF77183BD82D00A24F40 /* FTGooglePlacesAPICommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPICommon.h; sourceTree = ""; }; - A01BDF78183BD82D00A24F40 /* FTGooglePlacesAPICommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPICommon.m; sourceTree = ""; }; - A01BDF79183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPINearbySearchRequest.h; sourceTree = ""; }; - A01BDF7A183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPINearbySearchRequest.m; sourceTree = ""; }; - A01BDF7B183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPISearchResponse.h; sourceTree = ""; }; - A01BDF7C183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPISearchResponse.m; sourceTree = ""; }; - A01BDF7D183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPISearchResultItem.h; sourceTree = ""; }; - A01BDF7E183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPISearchResultItem.m; sourceTree = ""; }; - A01BDF7F183BD82D00A24F40 /* FTGooglePlacesAPIService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIService.h; sourceTree = ""; }; - A01BDF80183BD82D00A24F40 /* FTGooglePlacesAPIService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIService.m; sourceTree = ""; }; - A01BDF81183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPITextSearchRequest.h; sourceTree = ""; }; - A01BDF82183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPITextSearchRequest.m; sourceTree = ""; }; - A01BDF90183BD83B00A24F40 /* AFHTTPRequestOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperation.h; sourceTree = ""; }; - A01BDF91183BD83B00A24F40 /* AFHTTPRequestOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperation.m; sourceTree = ""; }; - A01BDF92183BD83B00A24F40 /* AFHTTPRequestOperationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPRequestOperationManager.h; sourceTree = ""; }; - A01BDF93183BD83B00A24F40 /* AFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPRequestOperationManager.m; sourceTree = ""; }; - A01BDF94183BD83B00A24F40 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFHTTPSessionManager.h; sourceTree = ""; }; - A01BDF95183BD83B00A24F40 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFHTTPSessionManager.m; sourceTree = ""; }; - A01BDF96183BD83B00A24F40 /* AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworking.h; sourceTree = ""; }; - A01BDF97183BD83B00A24F40 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkReachabilityManager.h; sourceTree = ""; }; - A01BDF98183BD83B00A24F40 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkReachabilityManager.m; sourceTree = ""; }; - A01BDF99183BD83B00A24F40 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFSecurityPolicy.h; sourceTree = ""; }; - A01BDF9A183BD83B00A24F40 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFSecurityPolicy.m; sourceTree = ""; }; - A01BDF9B183BD83B00A24F40 /* AFURLConnectionOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLConnectionOperation.h; sourceTree = ""; }; - A01BDF9C183BD83B00A24F40 /* AFURLConnectionOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLConnectionOperation.m; sourceTree = ""; }; - A01BDF9D183BD83B00A24F40 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLRequestSerialization.h; sourceTree = ""; }; - A01BDF9E183BD83B00A24F40 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLRequestSerialization.m; sourceTree = ""; }; - A01BDF9F183BD83B00A24F40 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLResponseSerialization.h; sourceTree = ""; }; - A01BDFA0183BD83B00A24F40 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLResponseSerialization.m; sourceTree = ""; }; - A01BDFA1183BD83B00A24F40 /* AFURLSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFURLSessionManager.h; sourceTree = ""; }; - A01BDFA2183BD83B00A24F40 /* AFURLSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFURLSessionManager.m; sourceTree = ""; }; - A0246C41183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExamplesListViewController.h; sourceTree = ""; }; - A0246C42183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExamplesListViewController.m; sourceTree = ""; }; - A0246C45183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleResultsViewController.h; sourceTree = ""; }; - A0246C46183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleResultsViewController.m; sourceTree = ""; }; - A0246C52183D0B5D0052416D /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AFNetworkActivityIndicatorManager.h; sourceTree = ""; }; - A0246C53183D0B5D0052416D /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AFNetworkActivityIndicatorManager.m; sourceTree = ""; }; - A0246C54183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - A0246C55183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; - A0246C56183D0B5D0052416D /* UIAlertView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIAlertView+AFNetworking.h"; sourceTree = ""; }; - A0246C57183D0B5D0052416D /* UIAlertView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIAlertView+AFNetworking.m"; sourceTree = ""; }; - A0246C58183D0B5D0052416D /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+AFNetworking.h"; sourceTree = ""; }; - A0246C59183D0B5D0052416D /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+AFNetworking.m"; sourceTree = ""; }; - A0246C5A183D0B5D0052416D /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImageView+AFNetworking.h"; sourceTree = ""; }; - A0246C5B183D0B5D0052416D /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImageView+AFNetworking.m"; sourceTree = ""; }; - A0246C5C183D0B5D0052416D /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIKit+AFNetworking.h"; sourceTree = ""; }; - A0246C5D183D0B5D0052416D /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIProgressView+AFNetworking.h"; sourceTree = ""; }; - A0246C5E183D0B5D0052416D /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIProgressView+AFNetworking.m"; sourceTree = ""; }; - A0246C5F183D0B5D0052416D /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIWebView+AFNetworking.h"; sourceTree = ""; }; - A0246C60183D0B5D0052416D /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIWebView+AFNetworking.m"; sourceTree = ""; }; - A0246C80183D10850052416D /* FTGooglePlacesAPITLogicTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FTGooglePlacesAPITLogicTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - A0246C84183D10F50052416D /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - A0246C95183D13280052416D /* FTGooglePlacesAPILogicTests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "FTGooglePlacesAPILogicTests-Info.plist"; sourceTree = ""; }; - A0246C9B183D21EA0052416D /* FTGooglePlacesAPIResponse-test2-NoResults.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test2-NoResults.json"; sourceTree = ""; }; - A0246C9C183D21EA0052416D /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test3-InvalidRequest.json"; sourceTree = ""; }; - A0246CA2183D24150052416D /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test4-RequestDenied.json"; sourceTree = ""; }; - A0246CA9183D29BA0052416D /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - A0246CAA183D29BA0052416D /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - A0246CAB183D29BA0052416D /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; - A0246CB2183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIDictionaryRequest.h; sourceTree = ""; }; - A0246CB3183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIDictionaryRequest.m; sourceTree = ""; }; - A0456B4D18B38A4E002D26B8 /* powered-by-google-on-white.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white.png"; sourceTree = ""; }; - A0456B4E18B38A4E002D26B8 /* powered-by-google-on-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "powered-by-google-on-white@2x.png"; sourceTree = ""; }; - A07E9D5A1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIDetailRequest.h; sourceTree = ""; }; - A07E9D5B1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIDetailRequest.m; sourceTree = ""; }; - A07E9D5E1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIDetailResponse.h; sourceTree = ""; }; - A07E9D5F1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIDetailResponse.m; sourceTree = ""; }; - A07E9D631848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIResponse.h; sourceTree = ""; }; - A07E9D641848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIResponse.m; sourceTree = ""; }; - A07E9D681848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTGooglePlacesAPIExampleDetailViewController.h; sourceTree = ""; }; - A07E9D691848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FTGooglePlacesAPIExampleDetailViewController.m; sourceTree = ""; }; - A0957B961850C0CB00D04466 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = ""; }; - A0957BCE1852398400D04466 /* FTGooglePlacesAPITestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTGooglePlacesAPITestCase.h; path = Source/FTGooglePlacesAPITestCase.h; sourceTree = ""; }; - A0957BCF1852398400D04466 /* FTGooglePlacesAPITestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPITestCase.m; path = Source/FTGooglePlacesAPITestCase.m; sourceTree = ""; }; - A0957BD318523A4C00D04466 /* FTGooglePlacesAPIDictionaryRequestTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPIDictionaryRequestTest.m; path = Source/FTGooglePlacesAPIDictionaryRequestTest.m; sourceTree = ""; }; - A0957BD418523A4C00D04466 /* FTGooglePlacesAPINearbySearchRequestTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPINearbySearchRequestTests.m; path = Source/FTGooglePlacesAPINearbySearchRequestTests.m; sourceTree = ""; }; - A0957BD718523A6600D04466 /* FTGooglePlacesAPIResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPIResponseTests.m; path = Source/FTGooglePlacesAPIResponseTests.m; sourceTree = ""; }; - A0957BD818523A6600D04466 /* FTGooglePlacesAPISearchResponseTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPISearchResponseTests.m; path = Source/FTGooglePlacesAPISearchResponseTests.m; sourceTree = ""; }; - A0957BD918523A6600D04466 /* FTGooglePlacesAPISearchResultItemTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPISearchResultItemTests.m; path = Source/FTGooglePlacesAPISearchResultItemTests.m; sourceTree = ""; }; - A0957BDA18523A6600D04466 /* FTGooglePlacesAPIServiceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FTGooglePlacesAPIServiceTests.m; path = Source/FTGooglePlacesAPIServiceTests.m; sourceTree = ""; }; - A0957BE018523B4E00D04466 /* MockFTGooglePlacesAPIService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MockFTGooglePlacesAPIService.h; path = Source/Mocks/MockFTGooglePlacesAPIService.h; sourceTree = ""; }; - A0957BE118523B4E00D04466 /* MockFTGooglePlacesAPIService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MockFTGooglePlacesAPIService.m; path = Source/Mocks/MockFTGooglePlacesAPIService.m; sourceTree = ""; }; - A0957BE418523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MockFTGooglePlacesAPISearchResultItemSubclass.h; path = Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.h; sourceTree = ""; }; - A0957BE518523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MockFTGooglePlacesAPISearchResultItemSubclass.m; path = Source/Mocks/MockFTGooglePlacesAPISearchResultItemSubclass.m; sourceTree = ""; }; - A0957BEE18523CFD00D04466 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+OCMAdditions.h"; path = "FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h"; sourceTree = SOURCE_ROOT; }; - A0957BEF18523CFD00D04466 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OCMArg.h; path = FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMArg.h; sourceTree = SOURCE_ROOT; }; - A0957BF018523CFD00D04466 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OCMConstraint.h; path = FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMConstraint.h; sourceTree = SOURCE_ROOT; }; - A0957BF118523CFD00D04466 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OCMock.h; path = FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMock.h; sourceTree = SOURCE_ROOT; }; - A0957BF218523CFD00D04466 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OCMockObject.h; path = FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockObject.h; sourceTree = SOURCE_ROOT; }; - A0957BF318523CFD00D04466 /* OCMockRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OCMockRecorder.h; path = FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockRecorder.h; sourceTree = SOURCE_ROOT; }; - A0F90BAE1855F29200171CAE /* MockAFHTTPRequestOperationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MockAFHTTPRequestOperationManager.h; path = Source/Mocks/MockAFHTTPRequestOperationManager.h; sourceTree = ""; }; - A0F90BAF1855F29200171CAE /* MockAFHTTPRequestOperationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MockAFHTTPRequestOperationManager.m; path = Source/Mocks/MockAFHTTPRequestOperationManager.m; sourceTree = ""; }; - A0F90BB318561ABB00171CAE /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - A01BDF3F183BD70100A24F40 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A01BDF48183BD70100A24F40 /* CoreGraphics.framework in Frameworks */, - A01BDF4A183BD70100A24F40 /* UIKit.framework in Frameworks */, - A01BDF46183BD70100A24F40 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A0246C77183D10850052416D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A0246C78183D10850052416D /* XCTest.framework in Frameworks */, - A0957B971850C0CB00D04466 /* libOCMock.a in Frameworks */, - A0246C79183D10850052416D /* UIKit.framework in Frameworks */, - A0246C7A183D10850052416D /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - A01BDF39183BD70100A24F40 = { - isa = PBXGroup; - children = ( - A01BDF75183BD82D00A24F40 /* FTGooglePlacesAPI */, - A01BDF4B183BD70100A24F40 /* EXAMPLE */, - A0246C82183D10F50052416D /* FTGooglePlacesAPILogicTests */, - A01BDF44183BD70100A24F40 /* Frameworks */, - A01BDF43183BD70100A24F40 /* Products */, - ); - sourceTree = ""; - }; - A01BDF43183BD70100A24F40 /* Products */ = { - isa = PBXGroup; - children = ( - A01BDF42183BD70100A24F40 /* FTGooglePlacesAPI.app */, - A0246C80183D10850052416D /* FTGooglePlacesAPITLogicTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - A01BDF44183BD70100A24F40 /* Frameworks */ = { - isa = PBXGroup; - children = ( - A01BDF45183BD70100A24F40 /* Foundation.framework */, - A01BDF47183BD70100A24F40 /* CoreGraphics.framework */, - A01BDF49183BD70100A24F40 /* UIKit.framework */, - A01BDF5E183BD70100A24F40 /* XCTest.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - A01BDF4B183BD70100A24F40 /* EXAMPLE */ = { - isa = PBXGroup; - children = ( - A01BDF54183BD70100A24F40 /* FTAppDelegate.h */, - A01BDF55183BD70100A24F40 /* FTAppDelegate.m */, - A01BDFB5183BD84700A24F40 /* View controllers */, - A01BDF74183BD80F00A24F40 /* Thirdparty */, - A0246CA6183D29BA0052416D /* Resources */, - A01BDF4C183BD70100A24F40 /* Supporting Files */, - ); - name = EXAMPLE; - path = FTGooglePlacesAPI; - sourceTree = ""; - }; - A01BDF4C183BD70100A24F40 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - A01BDF4D183BD70100A24F40 /* FTGooglePlacesAPI-Info.plist */, - A01BDF4E183BD70100A24F40 /* InfoPlist.strings */, - A01BDF51183BD70100A24F40 /* main.m */, - A01BDF53183BD70100A24F40 /* FTGooglePlacesAPI-Prefix.pch */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - A01BDF74183BD80F00A24F40 /* Thirdparty */ = { - isa = PBXGroup; - children = ( - A01BDF8F183BD83B00A24F40 /* AFNetworking */, - ); - name = Thirdparty; - sourceTree = ""; - }; - A01BDF75183BD82D00A24F40 /* FTGooglePlacesAPI */ = { - isa = PBXGroup; - children = ( - A01BDF76183BD82D00A24F40 /* FTGooglePlacesAPI.h */, - A01BDF77183BD82D00A24F40 /* FTGooglePlacesAPICommon.h */, - A01BDF78183BD82D00A24F40 /* FTGooglePlacesAPICommon.m */, - A01BDF7F183BD82D00A24F40 /* FTGooglePlacesAPIService.h */, - A01BDF80183BD82D00A24F40 /* FTGooglePlacesAPIService.m */, - A07E9D621848E7C400A9A4D2 /* Basic */, - A0246CC0183F8E970052416D /* Place Search */, - A07E9D571848E1CB00A9A4D2 /* Place Detail */, - ); - name = FTGooglePlacesAPI; - path = ../FTGooglePlacesAPI; - sourceTree = ""; - }; - A01BDF8F183BD83B00A24F40 /* AFNetworking */ = { - isa = PBXGroup; - children = ( - A0246C51183D0B5D0052416D /* UIKit+AFNetworking */, - A01BDF90183BD83B00A24F40 /* AFHTTPRequestOperation.h */, - A01BDF91183BD83B00A24F40 /* AFHTTPRequestOperation.m */, - A01BDF92183BD83B00A24F40 /* AFHTTPRequestOperationManager.h */, - A01BDF93183BD83B00A24F40 /* AFHTTPRequestOperationManager.m */, - A01BDF94183BD83B00A24F40 /* AFHTTPSessionManager.h */, - A01BDF95183BD83B00A24F40 /* AFHTTPSessionManager.m */, - A01BDF96183BD83B00A24F40 /* AFNetworking.h */, - A01BDF97183BD83B00A24F40 /* AFNetworkReachabilityManager.h */, - A01BDF98183BD83B00A24F40 /* AFNetworkReachabilityManager.m */, - A01BDF99183BD83B00A24F40 /* AFSecurityPolicy.h */, - A01BDF9A183BD83B00A24F40 /* AFSecurityPolicy.m */, - A01BDF9B183BD83B00A24F40 /* AFURLConnectionOperation.h */, - A01BDF9C183BD83B00A24F40 /* AFURLConnectionOperation.m */, - A01BDF9D183BD83B00A24F40 /* AFURLRequestSerialization.h */, - A01BDF9E183BD83B00A24F40 /* AFURLRequestSerialization.m */, - A01BDF9F183BD83B00A24F40 /* AFURLResponseSerialization.h */, - A01BDFA0183BD83B00A24F40 /* AFURLResponseSerialization.m */, - A01BDFA1183BD83B00A24F40 /* AFURLSessionManager.h */, - A01BDFA2183BD83B00A24F40 /* AFURLSessionManager.m */, - ); - name = AFNetworking; - path = Thirdparty/AFNetworking/AFNetworking; - sourceTree = ""; - }; - A01BDFB5183BD84700A24F40 /* View controllers */ = { - isa = PBXGroup; - children = ( - A0246C44183CD0360052416D /* Examples list */, - A0246C48183CD05D0052416D /* Results list */, - A07E9D671848F17800A9A4D2 /* Detail */, - ); - name = "View controllers"; - sourceTree = ""; - }; - A0246C44183CD0360052416D /* Examples list */ = { - isa = PBXGroup; - children = ( - A0246C41183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.h */, - A0246C42183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.m */, - ); - name = "Examples list"; - sourceTree = ""; - }; - A0246C48183CD05D0052416D /* Results list */ = { - isa = PBXGroup; - children = ( - A0246C45183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.h */, - A0246C46183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.m */, - ); - name = "Results list"; - sourceTree = ""; - }; - A0246C51183D0B5D0052416D /* UIKit+AFNetworking */ = { - isa = PBXGroup; - children = ( - A0246C52183D0B5D0052416D /* AFNetworkActivityIndicatorManager.h */, - A0246C53183D0B5D0052416D /* AFNetworkActivityIndicatorManager.m */, - A0246C54183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.h */, - A0246C55183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.m */, - A0246C56183D0B5D0052416D /* UIAlertView+AFNetworking.h */, - A0246C57183D0B5D0052416D /* UIAlertView+AFNetworking.m */, - A0246C58183D0B5D0052416D /* UIButton+AFNetworking.h */, - A0246C59183D0B5D0052416D /* UIButton+AFNetworking.m */, - A0246C5A183D0B5D0052416D /* UIImageView+AFNetworking.h */, - A0246C5B183D0B5D0052416D /* UIImageView+AFNetworking.m */, - A0246C5C183D0B5D0052416D /* UIKit+AFNetworking.h */, - A0246C5D183D0B5D0052416D /* UIProgressView+AFNetworking.h */, - A0246C5E183D0B5D0052416D /* UIProgressView+AFNetworking.m */, - A0246C5F183D0B5D0052416D /* UIWebView+AFNetworking.h */, - A0246C60183D0B5D0052416D /* UIWebView+AFNetworking.m */, - ); - name = "UIKit+AFNetworking"; - path = "FTGooglePlacesAPI/Thirdparty/AFNetworking/UIKit+AFNetworking"; - sourceTree = SOURCE_ROOT; - }; - A0246C82183D10F50052416D /* FTGooglePlacesAPILogicTests */ = { - isa = PBXGroup; - children = ( - A0957BFE18523E8700D04466 /* Tests */, - A0957B8D1850C0CB00D04466 /* Thirdparty */, - A0246C92183D112E0052416D /* Supporting files */, - ); - path = FTGooglePlacesAPILogicTests; - sourceTree = ""; - }; - A0246C90183D111D0052416D /* Basic */ = { - isa = PBXGroup; - children = ( - A0957BCE1852398400D04466 /* FTGooglePlacesAPITestCase.h */, - A0957BCF1852398400D04466 /* FTGooglePlacesAPITestCase.m */, - ); - name = Basic; - sourceTree = ""; - }; - A0246C91183D11220052416D /* Response */ = { - isa = PBXGroup; - children = ( - A0957BD718523A6600D04466 /* FTGooglePlacesAPIResponseTests.m */, - A0957BD818523A6600D04466 /* FTGooglePlacesAPISearchResponseTests.m */, - A0957BD918523A6600D04466 /* FTGooglePlacesAPISearchResultItemTests.m */, - A0957BE718523B7800D04466 /* Mock */, - ); - name = Response; - sourceTree = ""; - }; - A0246C92183D112E0052416D /* Supporting files */ = { - isa = PBXGroup; - children = ( - A0246C99183D21EA0052416D /* TestData */, - A0246C95183D13280052416D /* FTGooglePlacesAPILogicTests-Info.plist */, - A0246C83183D10F50052416D /* InfoPlist.strings */, - ); - name = "Supporting files"; - sourceTree = ""; - }; - A0246C99183D21EA0052416D /* TestData */ = { - isa = PBXGroup; - children = ( - A0F90BB318561ABB00171CAE /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json */, - A0246C9B183D21EA0052416D /* FTGooglePlacesAPIResponse-test2-NoResults.json */, - A0246C9C183D21EA0052416D /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json */, - A0246CA2183D24150052416D /* FTGooglePlacesAPIResponse-test4-RequestDenied.json */, - ); - path = TestData; - sourceTree = ""; - }; - A0246CA6183D29BA0052416D /* Resources */ = { - isa = PBXGroup; - children = ( - A0246CA7183D29BA0052416D /* Images */, - ); - path = Resources; - sourceTree = ""; - }; - A0246CA7183D29BA0052416D /* Images */ = { - isa = PBXGroup; - children = ( - A0246CA8183D29BA0052416D /* Splashscreen */, - A0456B4D18B38A4E002D26B8 /* powered-by-google-on-white.png */, - A0456B4E18B38A4E002D26B8 /* powered-by-google-on-white@2x.png */, - ); - path = Images; - sourceTree = ""; - }; - A0246CA8183D29BA0052416D /* Splashscreen */ = { - isa = PBXGroup; - children = ( - A0246CA9183D29BA0052416D /* Default-568h@2x.png */, - A0246CAA183D29BA0052416D /* Default.png */, - A0246CAB183D29BA0052416D /* Default@2x.png */, - ); - path = Splashscreen; - sourceTree = ""; - }; - A0246CB6183E17790052416D /* Request */ = { - isa = PBXGroup; - children = ( - A0246CB2183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.h */, - A0246CB3183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m */, - A01BDF79183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.h */, - A01BDF7A183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m */, - A01BDF81183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.h */, - A01BDF82183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m */, - ); - name = Request; - sourceTree = ""; - }; - A0246CB7183E18B30052416D /* Requests */ = { - isa = PBXGroup; - children = ( - A0957BD318523A4C00D04466 /* FTGooglePlacesAPIDictionaryRequestTest.m */, - A0957BD418523A4C00D04466 /* FTGooglePlacesAPINearbySearchRequestTests.m */, - ); - name = Requests; - sourceTree = ""; - }; - A0246CBC183E1CCD0052416D /* Response */ = { - isa = PBXGroup; - children = ( - A01BDF7B183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.h */, - A01BDF7C183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m */, - A01BDF7D183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.h */, - A01BDF7E183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m */, - ); - name = Response; - sourceTree = ""; - }; - A0246CC0183F8E970052416D /* Place Search */ = { - isa = PBXGroup; - children = ( - A0246CB6183E17790052416D /* Request */, - A0246CBC183E1CCD0052416D /* Response */, - ); - name = "Place Search"; - sourceTree = ""; - }; - A07E9D571848E1CB00A9A4D2 /* Place Detail */ = { - isa = PBXGroup; - children = ( - A07E9D581848E1D700A9A4D2 /* Request */, - A07E9D591848E1DD00A9A4D2 /* Response */, - ); - name = "Place Detail"; - sourceTree = ""; - }; - A07E9D581848E1D700A9A4D2 /* Request */ = { - isa = PBXGroup; - children = ( - A07E9D5A1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.h */, - A07E9D5B1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m */, - ); - name = Request; - sourceTree = ""; - }; - A07E9D591848E1DD00A9A4D2 /* Response */ = { - isa = PBXGroup; - children = ( - A07E9D5E1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.h */, - A07E9D5F1848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m */, - ); - name = Response; - sourceTree = ""; - }; - A07E9D621848E7C400A9A4D2 /* Basic */ = { - isa = PBXGroup; - children = ( - A07E9D631848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.h */, - A07E9D641848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m */, - ); - name = Basic; - sourceTree = ""; - }; - A07E9D671848F17800A9A4D2 /* Detail */ = { - isa = PBXGroup; - children = ( - A07E9D681848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.h */, - A07E9D691848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.m */, - ); - name = Detail; - sourceTree = ""; - }; - A0957B8D1850C0CB00D04466 /* Thirdparty */ = { - isa = PBXGroup; - children = ( - A0957B8E1850C0CB00D04466 /* OCMock */, - ); - path = Thirdparty; - sourceTree = ""; - }; - A0957B8E1850C0CB00D04466 /* OCMock */ = { - isa = PBXGroup; - children = ( - A0957B8F1850C0CB00D04466 /* Headers */, - A0957B961850C0CB00D04466 /* libOCMock.a */, - ); - path = OCMock; - sourceTree = ""; - }; - A0957B8F1850C0CB00D04466 /* Headers */ = { - isa = PBXGroup; - children = ( - A0957BEE18523CFD00D04466 /* NSNotificationCenter+OCMAdditions.h */, - A0957BEF18523CFD00D04466 /* OCMArg.h */, - A0957BF018523CFD00D04466 /* OCMConstraint.h */, - A0957BF118523CFD00D04466 /* OCMock.h */, - A0957BF218523CFD00D04466 /* OCMockObject.h */, - A0957BF318523CFD00D04466 /* OCMockRecorder.h */, - ); - path = Headers; - sourceTree = ""; - }; - A0957BDF18523A7500D04466 /* Service */ = { - isa = PBXGroup; - children = ( - A0957BDA18523A6600D04466 /* FTGooglePlacesAPIServiceTests.m */, - A0957BE318523B5400D04466 /* Mock */, - ); - name = Service; - sourceTree = ""; - }; - A0957BE318523B5400D04466 /* Mock */ = { - isa = PBXGroup; - children = ( - A0957BE018523B4E00D04466 /* MockFTGooglePlacesAPIService.h */, - A0957BE118523B4E00D04466 /* MockFTGooglePlacesAPIService.m */, - A0F90BAE1855F29200171CAE /* MockAFHTTPRequestOperationManager.h */, - A0F90BAF1855F29200171CAE /* MockAFHTTPRequestOperationManager.m */, - ); - name = Mock; - sourceTree = ""; - }; - A0957BE718523B7800D04466 /* Mock */ = { - isa = PBXGroup; - children = ( - A0957BE418523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.h */, - A0957BE518523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.m */, - ); - name = Mock; - sourceTree = ""; - }; - A0957BFE18523E8700D04466 /* Tests */ = { - isa = PBXGroup; - children = ( - A0246C90183D111D0052416D /* Basic */, - A0957BDF18523A7500D04466 /* Service */, - A0246CB7183E18B30052416D /* Requests */, - A0246C91183D11220052416D /* Response */, - ); - name = Tests; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - A01BDF41183BD70100A24F40 /* FTGooglePlacesAPI */ = { - isa = PBXNativeTarget; - buildConfigurationList = A01BDF6E183BD70100A24F40 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPI" */; - buildPhases = ( - A01BDF3E183BD70100A24F40 /* Sources */, - A01BDF3F183BD70100A24F40 /* Frameworks */, - A01BDF40183BD70100A24F40 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FTGooglePlacesAPI; - productName = FTGooglePlacesAPI; - productReference = A01BDF42183BD70100A24F40 /* FTGooglePlacesAPI.app */; - productType = "com.apple.product-type.application"; - }; - A0246C6A183D10850052416D /* FTGooglePlacesAPILogicTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A0246C7D183D10850052416D /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPILogicTests" */; - buildPhases = ( - A0246C6D183D10850052416D /* Sources */, - A0246C77183D10850052416D /* Frameworks */, - A0246C7B183D10850052416D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FTGooglePlacesAPILogicTests; - productName = FTGooglePlacesAPITests; - productReference = A0246C80183D10850052416D /* FTGooglePlacesAPITLogicTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - A01BDF3A183BD70100A24F40 /* Project object */ = { - isa = PBXProject; - attributes = { - CLASSPREFIX = FT; - LastUpgradeCheck = 0500; - ORGANIZATIONNAME = "Fuerte Int. Ltd."; - }; - buildConfigurationList = A01BDF3D183BD70100A24F40 /* Build configuration list for PBXProject "FTGooglePlacesAPI" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = A01BDF39183BD70100A24F40; - productRefGroup = A01BDF43183BD70100A24F40 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - A01BDF41183BD70100A24F40 /* FTGooglePlacesAPI */, - A0246C6A183D10850052416D /* FTGooglePlacesAPILogicTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - A01BDF40183BD70100A24F40 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A01BDF50183BD70100A24F40 /* InfoPlist.strings in Resources */, - A0246CAD183D29BA0052416D /* Default.png in Resources */, - A0456B5018B38A4E002D26B8 /* powered-by-google-on-white@2x.png in Resources */, - A0246CAE183D29BA0052416D /* Default@2x.png in Resources */, - A0246CAC183D29BA0052416D /* Default-568h@2x.png in Resources */, - A0456B4F18B38A4E002D26B8 /* powered-by-google-on-white.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A0246C7B183D10850052416D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A0246C8B183D10F50052416D /* InfoPlist.strings in Resources */, - A0F90BB418561ABB00171CAE /* FTGooglePlacesAPIResponse-test1-Nearby-Search-OK.json in Resources */, - A0246CA0183D21EA0052416D /* FTGooglePlacesAPIResponse-test3-InvalidRequest.json in Resources */, - A0246CA3183D24150052416D /* FTGooglePlacesAPIResponse-test4-RequestDenied.json in Resources */, - A0246C9F183D21EA0052416D /* FTGooglePlacesAPIResponse-test2-NoResults.json in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - A01BDF3E183BD70100A24F40 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A07E9D5C1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m in Sources */, - A01BDFB3183BD83B00A24F40 /* AFURLSessionManager.m in Sources */, - A01BDFAD183BD83B00A24F40 /* AFURLConnectionOperation.m in Sources */, - A07E9D601848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m in Sources */, - A01BDFA3183BD83B00A24F40 /* AFHTTPRequestOperation.m in Sources */, - A01BDF83183BD82D00A24F40 /* FTGooglePlacesAPICommon.m in Sources */, - A0246C66183D0B5D0052416D /* UIProgressView+AFNetworking.m in Sources */, - A0246C63183D0B5D0052416D /* UIAlertView+AFNetworking.m in Sources */, - A07E9D651848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m in Sources */, - A0246C61183D0B5D0052416D /* AFNetworkActivityIndicatorManager.m in Sources */, - A01BDFA5183BD83B00A24F40 /* AFHTTPRequestOperationManager.m in Sources */, - A0246C67183D0B5D0052416D /* UIWebView+AFNetworking.m in Sources */, - A0246CB4183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m in Sources */, - A07E9D6A1848F1A000A9A4D2 /* FTGooglePlacesAPIExampleDetailViewController.m in Sources */, - A0246C64183D0B5D0052416D /* UIButton+AFNetworking.m in Sources */, - A0246C62183D0B5D0052416D /* UIActivityIndicatorView+AFNetworking.m in Sources */, - A01BDF56183BD70100A24F40 /* FTAppDelegate.m in Sources */, - A01BDF85183BD82D00A24F40 /* FTGooglePlacesAPINearbySearchRequest.m in Sources */, - A01BDFA7183BD83B00A24F40 /* AFHTTPSessionManager.m in Sources */, - A01BDF8B183BD82D00A24F40 /* FTGooglePlacesAPIService.m in Sources */, - A01BDF8D183BD82D00A24F40 /* FTGooglePlacesAPITextSearchRequest.m in Sources */, - A01BDF87183BD82D00A24F40 /* FTGooglePlacesAPISearchResponse.m in Sources */, - A01BDFAB183BD83B00A24F40 /* AFSecurityPolicy.m in Sources */, - A01BDF52183BD70100A24F40 /* main.m in Sources */, - A0246C47183CD0550052416D /* FTGooglePlacesAPIExampleResultsViewController.m in Sources */, - A01BDFAF183BD83B00A24F40 /* AFURLRequestSerialization.m in Sources */, - A0246C65183D0B5D0052416D /* UIImageView+AFNetworking.m in Sources */, - A01BDFA9183BD83B00A24F40 /* AFNetworkReachabilityManager.m in Sources */, - A01BDFB1183BD83B00A24F40 /* AFURLResponseSerialization.m in Sources */, - A01BDF89183BD82D00A24F40 /* FTGooglePlacesAPISearchResultItem.m in Sources */, - A0246C43183CC4F90052416D /* FTGooglePlacesAPIExamplesListViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A0246C6D183D10850052416D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A0246C6E183D10850052416D /* FTGooglePlacesAPICommon.m in Sources */, - A0957BF418523DE700D04466 /* FTGooglePlacesAPIService.m in Sources */, - A0246CB5183E17730052416D /* FTGooglePlacesAPIDictionaryRequest.m in Sources */, - A0246C73183D10850052416D /* FTGooglePlacesAPINearbySearchRequest.m in Sources */, - A0246C72183D10850052416D /* FTGooglePlacesAPITextSearchRequest.m in Sources */, - A07E9D661848E7EF00A9A4D2 /* FTGooglePlacesAPIResponse.m in Sources */, - A0246C70183D10850052416D /* FTGooglePlacesAPISearchResponse.m in Sources */, - A0246C71183D10850052416D /* FTGooglePlacesAPISearchResultItem.m in Sources */, - A07E9D5D1848E23600A9A4D2 /* FTGooglePlacesAPIDetailRequest.m in Sources */, - A0957BDB18523A6600D04466 /* FTGooglePlacesAPIResponseTests.m in Sources */, - A07E9D611848E75300A9A4D2 /* FTGooglePlacesAPIDetailResponse.m in Sources */, - A0957BD01852398400D04466 /* FTGooglePlacesAPITestCase.m in Sources */, - A0957BDE18523A6600D04466 /* FTGooglePlacesAPIServiceTests.m in Sources */, - A0957BD518523A4C00D04466 /* FTGooglePlacesAPIDictionaryRequestTest.m in Sources */, - A0957BD618523A4C00D04466 /* FTGooglePlacesAPINearbySearchRequestTests.m in Sources */, - A0957BDC18523A6600D04466 /* FTGooglePlacesAPISearchResponseTests.m in Sources */, - A0957BDD18523A6600D04466 /* FTGooglePlacesAPISearchResultItemTests.m in Sources */, - A0957BE218523B4E00D04466 /* MockFTGooglePlacesAPIService.m in Sources */, - A0957BE618523B7100D04466 /* MockFTGooglePlacesAPISearchResultItemSubclass.m in Sources */, - A0957BF518523E2C00D04466 /* AFHTTPRequestOperation.m in Sources */, - A0957BF618523E2C00D04466 /* AFHTTPRequestOperationManager.m in Sources */, - A0957BF718523E2C00D04466 /* AFHTTPSessionManager.m in Sources */, - A0957BF818523E2C00D04466 /* AFNetworkReachabilityManager.m in Sources */, - A0F90BB01855F29200171CAE /* MockAFHTTPRequestOperationManager.m in Sources */, - A0957BF918523E2C00D04466 /* AFSecurityPolicy.m in Sources */, - A0957BFA18523E2C00D04466 /* AFURLConnectionOperation.m in Sources */, - A0957BFB18523E2C00D04466 /* AFURLRequestSerialization.m in Sources */, - A0957BFC18523E2C00D04466 /* AFURLResponseSerialization.m in Sources */, - A0957BFD18523E2C00D04466 /* AFURLSessionManager.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - A01BDF4E183BD70100A24F40 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - A01BDF4F183BD70100A24F40 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - A0246C83183D10F50052416D /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - A0246C84183D10F50052416D /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - A01BDF6C183BD70100A24F40 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - A01BDF6D183BD70100A24F40 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A01BDF6F183BD70100A24F40 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch"; - INFOPLIST_FILE = "FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - A01BDF70183BD70100A24F40 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch"; - INFOPLIST_FILE = "FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - A0246C7E183D10850052416D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock\"", - ); - INFOPLIST_FILE = "FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - XCTest, - "-force_load", - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/libOCMock.a\"", - ); - PRODUCT_NAME = FTGooglePlacesAPITLogicTests; - WRAPPER_EXTENSION = xctest; - }; - name = Debug; - }; - A0246C7F183D10850052416D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock\"", - ); - INFOPLIST_FILE = "FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - XCTest, - "-force_load", - "\"$(SRCROOT)/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/libOCMock.a\"", - ); - PRODUCT_NAME = FTGooglePlacesAPITLogicTests; - WRAPPER_EXTENSION = xctest; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - A01BDF3D183BD70100A24F40 /* Build configuration list for PBXProject "FTGooglePlacesAPI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A01BDF6C183BD70100A24F40 /* Debug */, - A01BDF6D183BD70100A24F40 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A01BDF6E183BD70100A24F40 /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A01BDF6F183BD70100A24F40 /* Debug */, - A01BDF70183BD70100A24F40 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A0246C7D183D10850052416D /* Build configuration list for PBXNativeTarget "FTGooglePlacesAPILogicTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A0246C7E183D10850052416D /* Debug */, - A0246C7F183D10850052416D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = A01BDF3A183BD70100A24F40 /* Project object */; -} diff --git a/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 2e2a8c8..0000000 --- a/XcodeProject/FTGooglePlacesAPI.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/Demo-FTGooglePlacesAPI.xcscheme b/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/Demo-FTGooglePlacesAPI.xcscheme deleted file mode 100644 index 3c095b3..0000000 --- a/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/Demo-FTGooglePlacesAPI.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/FTGooglePlacesAPILogicTests.xcscheme b/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/FTGooglePlacesAPILogicTests.xcscheme deleted file mode 100644 index 50e4740..0000000 --- a/XcodeProject/FTGooglePlacesAPI.xcodeproj/xcshareddata/xcschemes/FTGooglePlacesAPILogicTests.xcscheme +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.h b/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.h deleted file mode 100644 index d040c8c..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// FTAppDelegate.h -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 19/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import - -@interface FTAppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.m b/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.m deleted file mode 100644 index 9d2a0a7..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTAppDelegate.m +++ /dev/null @@ -1,85 +0,0 @@ -// -// FTAppDelegate.m -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 19/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import "FTAppDelegate.h" - -#import "FTGooglePlacesAPIExamplesListViewController.h" - -#import "FTGooglePlacesAPI.h" - -@implementation FTAppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - - UIViewController *rootController = [[FTGooglePlacesAPIExamplesListViewController alloc] init]; - UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootController]; - -#warning Possible incomplete implementation. Make sure you add you own Google Places API key - [FTGooglePlacesAPIService provideAPIKey:@"<#PLACE YOUR API KEY HERE#>"]; - - self.window.rootViewController = navController; - - [self createAttributionsViews]; - [self.window makeKeyAndVisible]; - - return YES; -} - -- (void)applicationWillResignActive:(UIApplication *)application -{ - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. -} - -- (void)applicationDidEnterBackground:(UIApplication *)application -{ - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. -} - -- (void)applicationWillEnterForeground:(UIApplication *)application -{ - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. -} - -- (void)applicationDidBecomeActive:(UIApplication *)application -{ - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. -} - -- (void)applicationWillTerminate:(UIApplication *)application -{ - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. -} - -#pragma mark - Helper methods - -- (void)createAttributionsViews -{ - UIView *containerView = self.window.rootViewController.view; - - // To comply with Google Places API Policies at https://developers.google.com/places/policies - // we display "Powered by Google" logo. For simplicity, it is simply added as a subview - // to root controller's view. This ensures the logo is always visible. - UIImage *googleLogo = [UIImage imageNamed:@"powered-by-google-on-white"]; - UIImageView *googleLogoView = [[UIImageView alloc] initWithImage:googleLogo]; - googleLogoView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin; - googleLogoView.userInteractionEnabled = NO; - googleLogoView.opaque = NO; - - CGRect googleLogoFrame = googleLogoView.frame; - googleLogoFrame.origin = CGPointMake(10.0f, - CGRectGetHeight(containerView.frame) - googleLogo.size.height - 10.0f); - googleLogoView.frame = googleLogoFrame; - - [containerView addSubview:googleLogoView]; -} - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist deleted file mode 100644 index 066b868..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.acme.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch deleted file mode 100644 index 743435c..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPI-Prefix.pch +++ /dev/null @@ -1,16 +0,0 @@ -// -// Prefix header -// -// The contents of this file are implicitly included at the beginning of every source file. -// - -#import - -#ifndef __IPHONE_3_0 -#warning "This project uses features only available in iOS SDK 3.0 and later." -#endif - -#ifdef __OBJC__ - #import - #import -#endif diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.h b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.h deleted file mode 100644 index 41531a6..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// FTGooglePlacesAPIExampleDetailViewController.h -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 29/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import - -@protocol FTGooglePlacesAPIRequest; - -@interface FTGooglePlacesAPIExampleDetailViewController : UITableViewController - -- (instancetype)initWithRequest:(id)request; - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.m b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.m deleted file mode 100644 index 8b03aaa..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleDetailViewController.m +++ /dev/null @@ -1,134 +0,0 @@ -// -// FTGooglePlacesAPIExampleDetailViewController.m -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 29/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import "FTGooglePlacesAPIExampleDetailViewController.h" - -#import "FTGooglePlacesAPI.h" - -@interface FTGooglePlacesAPIExampleDetailViewController () - -@property (nonatomic, strong) id request; -@property (nonatomic, strong) FTGooglePlacesAPIDetailResponse *response; - -@property (nonatomic, strong) NSDictionary *responseTableRepresentation; - -@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; - -@end - -@implementation FTGooglePlacesAPIExampleDetailViewController - -- (instancetype)initWithRequest:(id)request -{ - self = [super initWithStyle:UITableViewStylePlain]; - if (self) { - self.title = @"Detail"; - _request = request; - } - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; - _activityIndicatorView.hidesWhenStopped = YES; - - UIBarButtonItem *activityBarButton = [[UIBarButtonItem alloc] initWithCustomView:_activityIndicatorView]; - self.navigationItem.rightBarButtonItem = activityBarButton; -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - [self startSearching]; -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [_responseTableRepresentation count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - static NSString *CellIdentifier = @"Cell"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; - cell.selectionStyle = UITableViewCellSelectionStyleNone; - } - - NSString *key = [_responseTableRepresentation allKeys][indexPath.row]; - - cell.textLabel.text = key; - cell.detailTextLabel.text = [_responseTableRepresentation[key] description]; - - return cell; -} - -#pragma mark - FTGooglePlacesAPI performing search request - -- (void)startSearching -{ - // Show activity indicator - [_activityIndicatorView startAnimating]; - - - // Execute Google Places API request using FTGooglePlacesAPIService - [FTGooglePlacesAPIService executeDetailRequest:_request - withCompletionHandler:^(FTGooglePlacesAPIDetailResponse *response, NSError *error) - { - // If error is not nil, request failed and you should handle the error - // We just show alert - if (error) - { - // There may be a lot of causes for an error (for example networking error). - // If the network communication with Google Places API was successfull, - // but the API returned some status code, NSError will have - // FTGooglePlacesAPIErrorDomain domain and status code from - // FTGooglePlacesAPIResponseStatus enum - // You can inspect error's domain and status code for more detailed info - - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[error localizedDescription] message:[error localizedFailureReason] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; - [alert show]; - [_activityIndicatorView stopAnimating]; - return; - } - - // Everything went fine, we have response object - // You can do whatever you need here, we just construct "table representation" - // of response to the dictionary and reload table - _responseTableRepresentation = @{ - @"Name": (response.name?:@"N/A"), - @"Location": [NSString stringWithFormat:@"(%.6f,%.6f)", response.location.coordinate.latitude, response.location.coordinate.longitude], - @"Address": (response.addressString?:@"N/A"), - @"Form. address": (response.formattedAddress?:@"N/A"), - @"Form. phone": (response.formattedPhoneNumber?:@"N/A"), - @"Int. phone": (response.internationalPhoneNumber?:@"N/A"), - @"Rating": [NSString stringWithFormat:@"%.1f", response.rating], - @"Types": [response.types componentsJoinedByString:@","], - @"Website:": (response.websiteUrl?:@"N/A"), - }; - - [self.tableView reloadData]; - - [_activityIndicatorView stopAnimating]; - }]; - -} - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.h b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.h deleted file mode 100644 index 3ff96da..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// FTGooglePlacesAPIExampleResultsViewController.h -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 20/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import -#import - -@protocol FTGooglePlacesAPIRequest; - -/** - * Please note that this controller is not 100% functional and glitches-proof - * We try to keep the code as simple as possible so some cases which should be - * handled in production code are not handled here - */ - -@interface FTGooglePlacesAPIExampleResultsViewController : UITableViewController - -/** - * @param request This is initial request used for the first request - * @param locationCoordinate Location from which the distance should be shown - * - * @return Instance - */ -- (id)initWithGooglePlacesAPIRequest:(id)request locationCoordinate:(CLLocationCoordinate2D)locationCoordinate; - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.m b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.m deleted file mode 100644 index 558e39d..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExampleResultsViewController.m +++ /dev/null @@ -1,253 +0,0 @@ -// -// FTGooglePlacesAPIExampleResultsViewController.m -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 20/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import "FTGooglePlacesAPIExampleResultsViewController.h" - -#import "FTGooglePlacesAPI.h" -#import "UIImageView+AFNetworking.h" - -#import "FTGooglePlacesAPIExampleDetailViewController.h" - - -@interface FTGooglePlacesAPIExampleResultsViewController () - -@property (nonatomic, strong) id initialRequest; -@property (nonatomic, strong) id actualRequest; -@property (nonatomic, strong) CLLocation *searchLocation; -@property (nonatomic, strong) FTGooglePlacesAPISearchResponse *lastResponse; - -@property (nonatomic, strong) UIActivityIndicatorView *activityIndicatorView; - -/** - * This array holds all results. Mutable array is used because we can have - * multiple responses, but want to keep all result items - */ -@property (nonatomic, strong) NSMutableArray *results; - -@end - -@implementation FTGooglePlacesAPIExampleResultsViewController - -- (id)initWithGooglePlacesAPIRequest:(id)request locationCoordinate:(CLLocationCoordinate2D)locationCoordinate; -{ - NSAssert(request, @"Provided request cannot be nil"); - - self = [super initWithStyle:UITableViewStylePlain]; - if (self) - { - self.title = @"Results"; - - _initialRequest = request; - _actualRequest = request; - - _results = [NSMutableArray array]; - - // Create CLLocation object from search coordinate. We will use this for calculating - // distance of result item - _searchLocation = [[CLLocation alloc] initWithLatitude:locationCoordinate.latitude longitude:locationCoordinate.longitude]; - } - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; - _activityIndicatorView.hidesWhenStopped = YES; - - UIBarButtonItem *activityBarButton = [[UIBarButtonItem alloc] initWithCustomView:_activityIndicatorView]; - self.navigationItem.rightBarButtonItem = activityBarButton; -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - // Controller is first displayed - start searching - if ([_results count] == 0) { - [self startSearching]; - } -} - -#pragma mark Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [_results count] + ([_lastResponse hasNextPage]); -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - static NSString *ResultCellIdentifier = @"ResultCell"; - static NSString *LoadMoreCellIdentifier = @"LoadMoreCell"; - - BOOL isLoadMoreResultsCell = [self isLoadMoreResultsCellAtIndexPath:indexPath]; - - // Get appropriate cell - NSString *cellIdentifier = (isLoadMoreResultsCell? LoadMoreCellIdentifier:ResultCellIdentifier); - - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; - - // Configure "Load more" cell - if (isLoadMoreResultsCell) - { - // This is constant cell, so we can preconfigure it on the init - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; - cell.textLabel.textAlignment = NSTextAlignmentCenter; - cell.textLabel.text = @"Load more results..."; - } - } - // Configure results cell - else - { - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier]; - cell.imageView.contentMode = UIViewContentModeScaleAspectFit; - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; - } - - // Get response object - FTGooglePlacesAPISearchResultItem *resultItem = _results[indexPath.row]; - - - // Configure cell - cell.textLabel.text = resultItem.name; - - if (resultItem.location) { - CLLocationDistance distance = [resultItem.location distanceFromLocation:_searchLocation]; - cell.detailTextLabel.text = [NSString stringWithFormat:@"Distance: %.0fm", distance]; - } - - [cell.imageView setImageWithURL:[NSURL URLWithString:resultItem.iconImageUrl] placeholderImage:[self placeholderImage]]; - } - - return cell; -} - -#pragma mark Table view delegate - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath -{ - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - - // Selected "Load more results" cell - if ([self isLoadMoreResultsCellAtIndexPath:indexPath]) - { - // Get request for a new page of results and start search - id nextPageRequest = [_lastResponse nextPageRequest]; - _actualRequest = nextPageRequest; - [self startSearching]; - } - // Selected result item cell - else - { - // Get response object - FTGooglePlacesAPISearchResultItem *resultItem = _results[indexPath.row]; - - // Create detail request - FTGooglePlacesAPIDetailRequest *request = [[FTGooglePlacesAPIDetailRequest alloc] initWithPlaceId:resultItem.placeId]; - - // Create detail controller - FTGooglePlacesAPIExampleDetailViewController *detailController = [[FTGooglePlacesAPIExampleDetailViewController alloc] initWithRequest:request]; - - [self.navigationController pushViewController:detailController animated:YES]; - - // And print it to the console - NSLog(@"Selected item: %@", resultItem); - } -} - -#pragma mark - Helper methods - -- (BOOL)isLoadMoreResultsCellAtIndexPath:(NSIndexPath *)indexPath -{ - // It is load more cell if there is more results to read and this is - // the last cell in a table view - NSInteger numberOfRows = [self tableView:self.tableView numberOfRowsInSection:indexPath.section]; - - return ((indexPath.row == numberOfRows - 1) && [_lastResponse hasNextPage]); -} - -/** - * Little helper for generating plain white image used as a placeholder - * in UITableViewCell's while loading icon images - */ -- (UIImage *)placeholderImage -{ - static UIImage *PlaceholderImage; - - if (!PlaceholderImage) - { - CGRect rect = CGRectMake(0, 0, 40.0f, 40.0f); - - UIGraphicsBeginImageContext(rect.size); - [[UIColor whiteColor] setFill]; - [[UIBezierPath bezierPathWithRect:rect] fill]; - PlaceholderImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - } - - return PlaceholderImage; -} - -#pragma mark - FTGooglePlacesAPI performing search request - -- (void)startSearching -{ - // Show activity indicator - [_activityIndicatorView startAnimating]; - - - // Execute Google Places API request using FTGooglePlacesAPIService - [FTGooglePlacesAPIService executeSearchRequest:_actualRequest - withCompletionHandler:^(FTGooglePlacesAPISearchResponse *response, NSError *error) - { - // If error is not nil, request failed and you should handle the error - // We just show alert - if (error) - { - // There may be a lot of causes for an error (for example networking error). - // If the network communication with Google Places API was successfull, - // but the API returned some status code, NSError will have - // FTGooglePlacesAPIErrorDomain domain and status code from - // FTGooglePlacesAPIResponseStatus enum - // You can inspect error's domain and status code for more detailed info - - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[error localizedDescription] message:[error localizedFailureReason] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; - [alert show]; - [_activityIndicatorView stopAnimating]; - return; - } - - // Everything went fine, we have response object - // You can do whatever you need here, we just add new items to the - // data source array and reload the table - // You could add new rows with animation etc., but it would add useless - // complexity to the sample code app - - // Update last response object - _lastResponse = response; - - // Add new results to the data source array - [_results addObjectsFromArray:response.results]; - - [self.tableView reloadData]; - - [_activityIndicatorView stopAnimating]; - }]; - -} - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.h b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.h deleted file mode 100644 index 4da5dca..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// FTGooglePlacesAPIExamplesListViewController.h -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 20/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import - -@interface FTGooglePlacesAPIExamplesListViewController : UITableViewController - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.m b/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.m deleted file mode 100644 index 61ac475..0000000 --- a/XcodeProject/FTGooglePlacesAPI/FTGooglePlacesAPIExamplesListViewController.m +++ /dev/null @@ -1,225 +0,0 @@ -// -// FTGooglePlacesAPIExamplesListViewController.m -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 20/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import "FTGooglePlacesAPIExamplesListViewController.h" - -#import "FTGooglePlacesAPI.h" -#import "FTGooglePlacesAPIExampleResultsViewController.h" - -typedef NS_ENUM(NSUInteger, FTGooglePlacesAPIExampleType) { - FTGooglePlacesAPIExampleTypeNearestCulture, - FTGooglePlacesAPIExampleTypeMuseumKeyword, - FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon, - FTGooglePlacesAPIExampleTypeExpensiveRestaurant -}; - - -@interface FTGooglePlacesAPIExamplesListViewController () - -@property (nonatomic, assign) CLLocationCoordinate2D locationCoordinate; - -@end - -@implementation FTGooglePlacesAPIExamplesListViewController - -- (id)initWithStyle:(UITableViewStyle)style -{ - self = [super initWithStyle:style]; - if (self) { - self.title = @"FTGooglePlacesAPI"; - - // For sake of simplicity of the example, we do not get real location, which would require - // additional code and just use constant latitude and longitude of London's Big Ben - // For easy to use getting of current location, you take a look at FTLocationManager - // https://github.com/FuerteInternational/FTLocationManager - self.locationCoordinate = CLLocationCoordinate2DMake(51.501103,-0.124565); - } - return self; -} - -#pragma mark Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return 4; // Number of items in FTGooglePlacesAPIExampleType enum -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - static NSString *CellIdentifier = @"ExampleCell"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; - if(!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; - cell.textLabel.adjustsFontSizeToFitWidth = YES; - cell.textLabel.adjustsFontSizeToFitWidth = YES; - } - - FTGooglePlacesAPIExampleType exampleType = (FTGooglePlacesAPIExampleType)indexPath.row; - - cell.textLabel.text = [self titleForExampleType:exampleType]; - cell.detailTextLabel.text = [self subtitleForExampleType:exampleType]; - - return cell; -} - -#pragma mark Table view delegate - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath -{ - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - - // Get request for current row - FTGooglePlacesAPIExampleType exampleType = (FTGooglePlacesAPIExampleType)indexPath.row; - id request = [self googlePlacesAPIRequestForExampleType:exampleType]; - - // Create search / results controller and push it to the navigation controller - FTGooglePlacesAPIExampleResultsViewController *controller = [[FTGooglePlacesAPIExampleResultsViewController alloc] initWithGooglePlacesAPIRequest:request locationCoordinate:self.locationCoordinate]; - - [self.navigationController pushViewController:controller animated:YES]; - -} - -#pragma mark Helpers and convenience methods -/** - * Below are helper method for getting title and subtitle for cells for each - * example type. Using switch helps us not to forget to implement any - * example item by compiler warnings - */ -- (NSString *)titleForExampleType:(FTGooglePlacesAPIExampleType)type -{ - NSString *title; - - switch (type) - { - case FTGooglePlacesAPIExampleTypeNearestCulture: - title = @"Nearest galleries and museums"; - break; - case FTGooglePlacesAPIExampleTypeMuseumKeyword: - title = @"Matching \"museum\", near and open"; - break; - case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: - title = @"Text search \"pizza in london\""; - break; - case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: - title = @"Nearest very expensive restaurants"; - break; - } - - return title; -} - -- (NSString *)subtitleForExampleType:(FTGooglePlacesAPIExampleType)type -{ - NSString *subtitle; - - switch (type) - { - case FTGooglePlacesAPIExampleTypeNearestCulture: - subtitle = @"rankBy=distance&types=art_gallery|museum"; - break; - case FTGooglePlacesAPIExampleTypeMuseumKeyword: - subtitle = @"keyword=museum&opennow=true&radius=2000"; - break; - case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: - subtitle = @"query=pizza+in+london"; - break; - case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: - subtitle = @"types=restaurant&minprice=4"; - break; - } - - return subtitle; -} - -#pragma mark - Creating Google Places API requests objects - -/** - * This method constructs request for each API example type - * - * @param type Example type - * - * @return Request object conforming to protocol, which can be used in API service - */ -- (id)googlePlacesAPIRequestForExampleType:(FTGooglePlacesAPIExampleType)type -{ - id result; - - - switch (type) - { - /** - * Create request for searching for some culture around - */ - case FTGooglePlacesAPIExampleTypeNearestCulture: - { - FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; - request.rankBy = FTGooglePlacesAPIRequestParamRankByDistance; - request.types = @[@"art_gallery", @"museum"]; - - result = request; - } - break; - - /** - * Create request for searching places around *best matching* - * word "museum" and which are open right now and max 2km away - * Because we are using *best matching* and default "rankBy" by - * "prominence" (importance), don't be surprised that results may - * not appear ordered by distance - */ - case FTGooglePlacesAPIExampleTypeMuseumKeyword: - { - FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; - request.keyword = @"museum"; - request.openNow = YES; - request.radius = 2000; - - result = request; - } - break; - - /** - * This is example of Google Places API "Text Search Request" - * We are making search for phrase "pizza in london" without - * providing any location around which to search. - * Note that in results screen, there will still be displayed - * distance from Big Ben to examples structure simple - */ - case FTGooglePlacesAPIExampleTypeTextSearchPizzaInLondon: - { - FTGooglePlacesAPITextSearchRequest *request = [[FTGooglePlacesAPITextSearchRequest alloc] initWithQuery:@"pizza in london"]; - - result = request; - } - break; - - /** - * This is an example of request defining results price. - * You can use minPrice and maxPrice for example for searching - * free museums, expensive restaurants etc. - */ - case FTGooglePlacesAPIExampleTypeExpensiveRestaurant: - { - FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:self.locationCoordinate]; - request.types = @[@"restaurant"]; - request.minPrice = 4; - - result = request; - } - } - - return result; -} - -@end diff --git a/XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default-568h@2x.png b/XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default-568h@2x.png deleted file mode 100644 index 0891b7aabfcf3422423b109c8beed2bab838c607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18594 zcmeI4X;f257Jx&9fS`ixvS;&$x8J@slQFSel)6zJN=?13FB7H(lQjRkSy8x_-S~tvu2gzn1oS+dLcF#eqtq$ z%tf9TTvX?`)R@}3uBI;jzS-=ZR-Td&MHaS&;!0?Ni*#$#`n*~CcQK)Q9vAQ~TUpnI!j)a2biYK^R)M~A5wUDZhx?ULMX z3x1P&qt=trOY6P2U67L=m=U?F|5#Uj(eCueNTZaHs_ceWiHeET+j+tp3Jt9g(ekqP z2WOvfR{qV+9r+o4J5?qK>7;;^+I7tGv-i)es$X_D=EoKF+S?zsyj^oRFElP}c}JT< zd8SUs-?O?}2YD#ngKbnHgzHBcboxK_2r9l(?eNCl-pEzkJm}fY?WC*jnS?VBE4EpY zO$fEejz6fU;W2Kl>JeQBZBl-%Irg`obSlg*@4QB;Dd1H7^Oi5wvt4d{RZ!8Og?^aE z)k0$1g+V3fd(gdQ3d&q2q-FL*uy#}|bc^=VhFsl0jBgUGJ+-s3U8MK9A!YJJMxpci z5hJ%|{DwV48fZn0{n5l$N_KcSb#NKE4plB`9I6Zt=Z!~-zw0{9tg$L&Ju1F0X)Cy8 zKF;(&lJ>x)Jw(=;p~sF(Sd9VWGwFE2rnyS9!f^DZ8+aCLq zQ};>lcJ1GDLqjm6Hd>|Eabno@P`~Bn(~6^aD_#yoEH(a?Nm1S<;S+hSxI5d16^<1lEM3NPFi zkqPrpL)+ zgnseFikg`gJVBha1&7C4;O6>h=dt~`ND+;Zd?W(4v2JIb7Pt>Td42%M-Ju-XAH#Pns762L}K3 zDhvsRqN0Ni(1UrishD2YvV?4*h2iFj$+&N||Fn$4n|^NSU+o?~jq`0jVQt8T9l{7b zXiwwODFh2V!Q6sqP9S>WH$oOf$N~=d0-bqTlD61!=`&0eAP-F>XN?*|gtOXX{ zQVTWyYo4ZK0GAw!GHf|pz9`D;-bbb*5LBX*{bnz|+)$@&P9|ORM2o?95{;ejvo&r- zq8cBhTN6nn)7~W>54U)%-F_-b?YKdfk5I8MHcuzBD5)!;yv#Z&R&^y=@=>VTIMy#r zX&U<=BsPkdqcMe<_}2+>H%XKyrr5ZR8_KVe>ZqYN z^=^~TFD};;rHJ$U;{~w^hYojl4hRI@SH$^K{YEo=sg)WY87r!*7blQK&qnpDo0`Vn zkl)9u9g=mCh&ZCJS(L4yN3k0kQ zuvg$h2KEEk51T+O0JQ+r0`R>g{jvqM0Mr6d3qUOZwE!?PI7HY@CE|dr sfw?Q;rAv?G4&^^8-z_>&sWXMxvD*gPOU4CBe-*@OtE+wfmVJNyHv)PfH~;_u diff --git a/XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default.png b/XcodeProject/FTGooglePlacesAPI/Resources/Images/Splashscreen/Default.png deleted file mode 100644 index 4c8ca6f693f96d511e9113c0eb59eec552354e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6540 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0To@QwR5G2N13aCb6#|O#(=u~X z85k@CTSM>X-wqM6>&y>YB4)1;;ojbLbbV-W^iFB1wa3^zCog^LCAReC4K0-?R_2{6 zrP*)4+_uWUy3w5N52M3PW_}MFMP9a~>YLvVZ1D_k*IMQ2QT^fwzoOb(*3gH$%aYWC zkHmcab=va2<#X%jakpJ;<1@F;k__#bwtC&%^D0v(FBh9K&$sK+<}2RJS609D)17$w ztdQP8(eLM8Ka}m_IQ@3wyMKP)l=oM4-?`YS_*P?4V_ORLPxsj&7Ju#kH;>6^Kp?T7~ zl+q?{UOOqV==?+d{=)5s|M~T1mwtH@+Z^$G&eEO9JNP^AX@3jZ*J*!!>lc|1-W%fA z@AOQpXZ_Lt>rxFXrGp*zLPiW@uo_c7C{As>j zWeX)wi+LTp_)@KYZCX{j;H?|1yXT4DnlS(Fr8gyP5|uaX_gLvaW0ScZdnG7o+u{T6 zFI-%d{ls*WuCDa5UJ@|RXv&ejZe}*BMkiWY51&pnRPw(hlykSzvj6e%mYz-GdvzBD zF10?szF_~!jS=?2HyQuPCvARXAe}C}WP|yQ*>5~~=*Nxq8+HHW1~FMDRCP^TcacKuk$ z(U#REVv)D!PhJ*ecH-ELFUrfyV&*)Z)>UCOuS?yd^L@Afk>ihynYPc{^CRwu+JHX+#$@YsC4c|l0tGigsn@jy) zXD($Ouk>H+V(Mr6NQT0S9BFM~V6nkj;1OBOz`zY;a|<&v%$g$sEJPk;hD4M^`1)8S z=jZArrsOB3>Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X+g2&U 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 diff --git a/XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white.png b/XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white.png deleted file mode 100755 index ae3cf0cd9cddd75f48ada07e6f491667989f8f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2586 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 diff --git a/XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white@2x.png b/XcodeProject/FTGooglePlacesAPI/Resources/Images/powered-by-google-on-white@2x.png deleted file mode 100644 index 9ea58253c5423f707d6f3fc297478f676cd2adbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6971 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 N002ovPDHLkV1gf>JI??B diff --git a/XcodeProject/FTGooglePlacesAPI/Thirdparty/AFNetworking b/XcodeProject/FTGooglePlacesAPI/Thirdparty/AFNetworking deleted file mode 160000 index d103c94..0000000 --- a/XcodeProject/FTGooglePlacesAPI/Thirdparty/AFNetworking +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d103c9401fba9e5ebe4f930fedc826dc0100d0a0 diff --git a/XcodeProject/FTGooglePlacesAPI/en.lproj/InfoPlist.strings b/XcodeProject/FTGooglePlacesAPI/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/XcodeProject/FTGooglePlacesAPI/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/XcodeProject/FTGooglePlacesAPI/main.m b/XcodeProject/FTGooglePlacesAPI/main.m deleted file mode 100644 index afe2aaf..0000000 --- a/XcodeProject/FTGooglePlacesAPI/main.m +++ /dev/null @@ -1,18 +0,0 @@ -// -// main.m -// FTGooglePlacesAPI -// -// Created by Lukas Kukacka on 19/11/13. -// Copyright (c) 2013 Fuerte Int. Ltd. All rights reserved. -// - -#import - -#import "FTAppDelegate.h" - -int main(int argc, char * argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([FTAppDelegate class])); - } -} diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist b/XcodeProject/FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist deleted file mode 100644 index 3eca560..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/FTGooglePlacesAPILogicTests-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.acme.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h deleted file mode 100644 index ab4832b..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/NSNotificationCenter+OCMAdditions.h +++ /dev/null @@ -1,15 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@class OCMockObserver; - - -@interface NSNotificationCenter(OCMAdditions) - -- (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; - -@end diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMArg.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMArg.h deleted file mode 100644 index fe6321c..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMArg.h +++ /dev/null @@ -1,35 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2009-2013 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMArg : NSObject - -// constraining arguments - -+ (id)any; -+ (SEL)anySelector; -+ (void *)anyPointer; -+ (id)isNil; -+ (id)isNotNil; -+ (id)isNotEqual:(id)value; -+ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; -#if NS_BLOCKS_AVAILABLE -+ (id)checkWithBlock:(BOOL (^)(id obj))block; -#endif - -// manipulating arguments - -+ (id *)setTo:(id)value; -+ (void *)setToValue:(NSValue *)value; - -// internal use only - -+ (id)resolveSpecialValues:(NSValue *)value; - -@end - -#define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))] diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMConstraint.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMConstraint.h deleted file mode 100644 index 3ae1264..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMConstraint.h +++ /dev/null @@ -1,64 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2007-2010 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - - -@interface OCMConstraint : NSObject - -+ (id)constraint; -- (BOOL)evaluate:(id)value; - -// if you are looking for any, isNil, etc, they have moved to OCMArg - -// try to use [OCMArg checkWith...] instead of the constraintWith... methods below - -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; -+ (id)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; - - -@end - -@interface OCMAnyConstraint : OCMConstraint -@end - -@interface OCMIsNilConstraint : OCMConstraint -@end - -@interface OCMIsNotNilConstraint : OCMConstraint -@end - -@interface OCMIsNotEqualConstraint : OCMConstraint -{ - @public - id testValue; -} - -@end - -@interface OCMInvocationConstraint : OCMConstraint -{ - @public - NSInvocation *invocation; -} - -@end - -#if NS_BLOCKS_AVAILABLE - -@interface OCMBlockConstraint : OCMConstraint -{ - BOOL (^block)(id); -} - -- (id)initWithConstraintBlock:(BOOL (^)(id))block; - -@end - -#endif - - -#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMock.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMock.h deleted file mode 100644 index e18de58..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMock.h +++ /dev/null @@ -1,10 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import -#import -#import -#import -#import diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockObject.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockObject.h deleted file mode 100644 index e796705..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockObject.h +++ /dev/null @@ -1,46 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMockObject : NSProxy -{ - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *recorders; - NSMutableArray *expectations; - NSMutableArray *rejections; - NSMutableArray *exceptions; -} - -+ (id)mockForClass:(Class)aClass; -+ (id)mockForProtocol:(Protocol *)aProtocol; -+ (id)partialMockForObject:(NSObject *)anObject; - -+ (id)niceMockForClass:(Class)aClass; -+ (id)niceMockForProtocol:(Protocol *)aProtocol; - -+ (id)observerMock; - -- (id)init; - -- (void)setExpectationOrderMatters:(BOOL)flag; - -- (id)stub; -- (id)expect; -- (id)reject; - -- (void)verify; - -- (void)stopMocking; - -// internal use only - -- (id)getNewRecorder; -- (BOOL)handleInvocation:(NSInvocation *)anInvocation; -- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; -- (BOOL)handleSelector:(SEL)sel; - -@end diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockRecorder.h b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockRecorder.h deleted file mode 100644 index 0dcd3f2..0000000 --- a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/OCMock/OCMockRecorder.h +++ /dev/null @@ -1,38 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2004-2013 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface OCMockRecorder : NSProxy -{ - id signatureResolver; - BOOL recordedAsClassMethod; - BOOL ignoreNonObjectArgs; - NSInvocation *recordedInvocation; - NSMutableArray *invocationHandlers; -} - -- (id)initWithSignatureResolver:(id)anObject; - -- (BOOL)matchesSelector:(SEL)sel; -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation; -- (void)releaseInvocation; - -- (id)andReturn:(id)anObject; -- (id)andReturnValue:(NSValue *)aValue; -- (id)andThrow:(NSException *)anException; -- (id)andPost:(NSNotification *)aNotification; -- (id)andCall:(SEL)selector onObject:(id)anObject; -#if NS_BLOCKS_AVAILABLE -- (id)andDo:(void (^)(NSInvocation *))block; -#endif -- (id)andForwardToRealObject; - -- (id)classMethod; -- (id)ignoringNonObjectArgs; - -- (NSArray *)invocationHandlers; - -@end diff --git a/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/libOCMock.a b/XcodeProject/FTGooglePlacesAPILogicTests/Thirdparty/OCMock/libOCMock.a deleted file mode 100644 index 3aae913585137cfd809854ff8f5ca5fdd2fe290b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895860 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�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 Date: Thu, 28 Aug 2014 18:12:50 +0100 Subject: [PATCH 4/4] restore sample project groups --- .../project.pbxproj | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj index 0e12c38..f9a098d 100644 --- a/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj +++ b/Example/FTGooglePlacesAPIExample.xcodeproj/project.pbxproj @@ -160,12 +160,7 @@ children = ( E4CF498919AF9252000AAAA4 /* FTAppDelegate.h */, E4CF498A19AF9252000AAAA4 /* FTAppDelegate.m */, - E4CF49A919AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.h */, - E4CF49AA19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m */, - E4CF49AB19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.h */, - E4CF49AC19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m */, - E4CF49AD19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.h */, - E4CF49AE19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m */, + E4CF49DF19AF9A4A000AAAA4 /* View controllers */, E4CF498C19AF9252000AAAA4 /* Images.xcassets */, E4CF498119AF9252000AAAA4 /* Supporting Files */, ); @@ -284,6 +279,43 @@ name = Mock; sourceTree = ""; }; + E4CF49DF19AF9A4A000AAAA4 /* View controllers */ = { + isa = PBXGroup; + children = ( + E4CF49E019AF9A53000AAAA4 /* Example list */, + E4CF49E219AF9A64000AAAA4 /* Results list */, + E4CF49E119AF9A5D000AAAA4 /* Detail */, + ); + name = "View controllers"; + sourceTree = ""; + }; + E4CF49E019AF9A53000AAAA4 /* Example list */ = { + isa = PBXGroup; + children = ( + E4CF49AD19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.h */, + E4CF49AE19AF9304000AAAA4 /* FTGooglePlacesAPIExamplesListViewController.m */, + ); + name = "Example list"; + sourceTree = ""; + }; + E4CF49E119AF9A5D000AAAA4 /* Detail */ = { + isa = PBXGroup; + children = ( + E4CF49A919AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.h */, + E4CF49AA19AF9304000AAAA4 /* FTGooglePlacesAPIExampleDetailViewController.m */, + ); + name = Detail; + sourceTree = ""; + }; + E4CF49E219AF9A64000AAAA4 /* Results list */ = { + isa = PBXGroup; + children = ( + E4CF49AB19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.h */, + E4CF49AC19AF9304000AAAA4 /* FTGooglePlacesAPIExampleResultsViewController.m */, + ); + name = "Results list"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */