This commit is contained in:
giuseppenuc committed 2016-02-24 16:56:39 +01:00
1 parent d281d765ea
commit 5b074a5176
1261 files changed
+199158 -7303

No files matched your search

@@ -0,0 +1,351 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
85AFB515158FA0A6000AF7F5 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 85AFB511158FA0A6000AF7F5 /* Icon-72.png */; };
85AFB516158FA0A6000AF7F5 /* Icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 85AFB512158FA0A6000AF7F5 /* Icon-72@2x.png */; };
85AFB517158FA0A6000AF7F5 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 85AFB513158FA0A6000AF7F5 /* Icon.png */; };
85AFB518158FA0A6000AF7F5 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 85AFB514158FA0A6000AF7F5 /* Icon@2x.png */; };
85C69D9E1602B105008AD9A0 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 85C69D9B1602B105008AD9A0 /* Default-568h@2x.png */; };
85C69D9F1602B105008AD9A0 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 85C69D9C1602B105008AD9A0 /* Default.png */; };
85C69DA01602B105008AD9A0 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 85C69D9D1602B105008AD9A0 /* Default@2x.png */; };
B9AF4BA9152E43EE00E9BA6C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9AF4BA8152E43EE00E9BA6C /* UIKit.framework */; };
B9AF4BAB152E43EE00E9BA6C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9AF4BAA152E43EE00E9BA6C /* Foundation.framework */; };
B9AF4BAD152E43EE00E9BA6C /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9AF4BAC152E43EE00E9BA6C /* CoreGraphics.framework */; };
B9AF4BB3152E43EE00E9BA6C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = B9AF4BB1152E43EE00E9BA6C /* InfoPlist.strings */; };
B9AF4BB5152E43EE00E9BA6C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B9AF4BB4152E43EE00E9BA6C /* main.m */; };
B9AF4BB9152E43EE00E9BA6C /* PPAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B9AF4BB8152E43EE00E9BA6C /* PPAppDelegate.m */; };
B9AF4BBC152E43EE00E9BA6C /* PPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B9AF4BBB152E43EE00E9BA6C /* PPViewController.m */; };
B9AF4BBF152E43EE00E9BA6C /* PPViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = B9AF4BBD152E43EE00E9BA6C /* PPViewController_iPhone.xib */; };
B9AF4BC2152E43EE00E9BA6C /* PPViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B9AF4BC0152E43EE00E9BA6C /* PPViewController_iPad.xib */; };
B9AF4C37152E449300E9BA6C /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9AF4C36152E449300E9BA6C /* CoreLocation.framework */; };
DD37EA7815ABA3E70015966B /* FacebookSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD37EA7715ABA3E70015966B /* FacebookSDK.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
85AFB511158FA0A6000AF7F5 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = "<group>"; };
85AFB512158FA0A6000AF7F5 /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72@2x.png"; sourceTree = "<group>"; };
85AFB513158FA0A6000AF7F5 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
85AFB514158FA0A6000AF7F5 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = "<group>"; };
85C69D9B1602B105008AD9A0 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
85C69D9C1602B105008AD9A0 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
85C69D9D1602B105008AD9A0 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
B9AF4BA4152E43EE00E9BA6C /* PlacePickerSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PlacePickerSample.app; sourceTree = BUILT_PRODUCTS_DIR; };
B9AF4BA8152E43EE00E9BA6C /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
B9AF4BAA152E43EE00E9BA6C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
B9AF4BAC152E43EE00E9BA6C /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
B9AF4BB0152E43EE00E9BA6C /* PlacePickerSample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PlacePickerSample-Info.plist"; sourceTree = "<group>"; };
B9AF4BB2152E43EE00E9BA6C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
B9AF4BB4152E43EE00E9BA6C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
B9AF4BB6152E43EE00E9BA6C /* PlacePickerSample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PlacePickerSample-Prefix.pch"; sourceTree = "<group>"; };
B9AF4BB7152E43EE00E9BA6C /* PPAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PPAppDelegate.h; sourceTree = "<group>"; };
B9AF4BB8152E43EE00E9BA6C /* PPAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PPAppDelegate.m; sourceTree = "<group>"; };
B9AF4BBA152E43EE00E9BA6C /* PPViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = PPViewController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
B9AF4BBB152E43EE00E9BA6C /* PPViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = PPViewController.m; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objc; };
B9AF4BBE152E43EE00E9BA6C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/PPViewController_iPhone.xib; sourceTree = "<group>"; };
B9AF4BC1152E43EE00E9BA6C /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/PPViewController_iPad.xib; sourceTree = "<group>"; };
B9AF4C36152E449300E9BA6C /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
DD37EA7715ABA3E70015966B /* FacebookSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FacebookSDK.framework; path = ../../build/FacebookSDK.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
B9AF4BA1152E43EE00E9BA6C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B9AF4C37152E449300E9BA6C /* CoreLocation.framework in Frameworks */,
B9AF4BA9152E43EE00E9BA6C /* UIKit.framework in Frameworks */,
B9AF4BAB152E43EE00E9BA6C /* Foundation.framework in Frameworks */,
B9AF4BAD152E43EE00E9BA6C /* CoreGraphics.framework in Frameworks */,
DD37EA7815ABA3E70015966B /* FacebookSDK.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
B9AF4B99152E43EE00E9BA6C = {
isa = PBXGroup;
children = (
B9AF4BAE152E43EE00E9BA6C /* PlacePickerSample */,
B9AF4BA7152E43EE00E9BA6C /* Frameworks */,
B9AF4BA5152E43EE00E9BA6C /* Products */,
);
indentWidth = 4;
sourceTree = "<group>";
tabWidth = 4;
};
B9AF4BA5152E43EE00E9BA6C /* Products */ = {
isa = PBXGroup;
children = (
B9AF4BA4152E43EE00E9BA6C /* PlacePickerSample.app */,
);
name = Products;
sourceTree = "<group>";
};
B9AF4BA7152E43EE00E9BA6C /* Frameworks */ = {
isa = PBXGroup;
children = (
DD37EA7715ABA3E70015966B /* FacebookSDK.framework */,
B9AF4C36152E449300E9BA6C /* CoreLocation.framework */,
B9AF4BA8152E43EE00E9BA6C /* UIKit.framework */,
B9AF4BAA152E43EE00E9BA6C /* Foundation.framework */,
B9AF4BAC152E43EE00E9BA6C /* CoreGraphics.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
B9AF4BAE152E43EE00E9BA6C /* PlacePickerSample */ = {
isa = PBXGroup;
children = (
B9AF4BB7152E43EE00E9BA6C /* PPAppDelegate.h */,
B9AF4BB8152E43EE00E9BA6C /* PPAppDelegate.m */,
B9AF4BBA152E43EE00E9BA6C /* PPViewController.h */,
B9AF4BBB152E43EE00E9BA6C /* PPViewController.m */,
B9AF4BBD152E43EE00E9BA6C /* PPViewController_iPhone.xib */,
B9AF4BC0152E43EE00E9BA6C /* PPViewController_iPad.xib */,
B9AF4BAF152E43EE00E9BA6C /* Supporting Files */,
);
path = PlacePickerSample;
sourceTree = "<group>";
};
B9AF4BAF152E43EE00E9BA6C /* Supporting Files */ = {
isa = PBXGroup;
children = (
85C69D9B1602B105008AD9A0 /* Default-568h@2x.png */,
85C69D9C1602B105008AD9A0 /* Default.png */,
85C69D9D1602B105008AD9A0 /* Default@2x.png */,
85AFB511158FA0A6000AF7F5 /* Icon-72.png */,
85AFB512158FA0A6000AF7F5 /* Icon-72@2x.png */,
85AFB513158FA0A6000AF7F5 /* Icon.png */,
85AFB514158FA0A6000AF7F5 /* Icon@2x.png */,
B9AF4BB0152E43EE00E9BA6C /* PlacePickerSample-Info.plist */,
B9AF4BB1152E43EE00E9BA6C /* InfoPlist.strings */,
B9AF4BB4152E43EE00E9BA6C /* main.m */,
B9AF4BB6152E43EE00E9BA6C /* PlacePickerSample-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
B9AF4BA3152E43EE00E9BA6C /* PlacePickerSample */ = {
isa = PBXNativeTarget;
buildConfigurationList = B9AF4BC5152E43EE00E9BA6C /* Build configuration list for PBXNativeTarget "PlacePickerSample" */;
buildPhases = (
B9AF4BA0152E43EE00E9BA6C /* Sources */,
B9AF4BA1152E43EE00E9BA6C /* Frameworks */,
B9AF4BA2152E43EE00E9BA6C /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = PlacePickerSample;
productName = PlacePickerSample;
productReference = B9AF4BA4152E43EE00E9BA6C /* PlacePickerSample.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
B9AF4B9B152E43EE00E9BA6C /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0430;
};
buildConfigurationList = B9AF4B9E152E43EE00E9BA6C /* Build configuration list for PBXProject "PlacePickerSample" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
he,
);
mainGroup = B9AF4B99152E43EE00E9BA6C;
productRefGroup = B9AF4BA5152E43EE00E9BA6C /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
B9AF4BA3152E43EE00E9BA6C /* PlacePickerSample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
B9AF4BA2152E43EE00E9BA6C /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B9AF4BB3152E43EE00E9BA6C /* InfoPlist.strings in Resources */,
B9AF4BBF152E43EE00E9BA6C /* PPViewController_iPhone.xib in Resources */,
B9AF4BC2152E43EE00E9BA6C /* PPViewController_iPad.xib in Resources */,
85AFB515158FA0A6000AF7F5 /* Icon-72.png in Resources */,
85AFB516158FA0A6000AF7F5 /* Icon-72@2x.png in Resources */,
85AFB517158FA0A6000AF7F5 /* Icon.png in Resources */,
85AFB518158FA0A6000AF7F5 /* Icon@2x.png in Resources */,
85C69D9E1602B105008AD9A0 /* Default-568h@2x.png in Resources */,
85C69D9F1602B105008AD9A0 /* Default.png in Resources */,
85C69DA01602B105008AD9A0 /* Default@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
B9AF4BA0152E43EE00E9BA6C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B9AF4BB5152E43EE00E9BA6C /* main.m in Sources */,
B9AF4BB9152E43EE00E9BA6C /* PPAppDelegate.m in Sources */,
B9AF4BBC152E43EE00E9BA6C /* PPViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
B9AF4BB1152E43EE00E9BA6C /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
B9AF4BB2152E43EE00E9BA6C /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
B9AF4BBD152E43EE00E9BA6C /* PPViewController_iPhone.xib */ = {
isa = PBXVariantGroup;
children = (
B9AF4BBE152E43EE00E9BA6C /* en */,
);
name = PPViewController_iPhone.xib;
sourceTree = "<group>";
};
B9AF4BC0152E43EE00E9BA6C /* PPViewController_iPad.xib */ = {
isa = PBXVariantGroup;
children = (
B9AF4BC1152E43EE00E9BA6C /* en */,
);
name = PPViewController_iPad.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
B9AF4BC3152E43EE00E9BA6C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_OBJCPP_ARC_ABI = 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_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
OTHER_LDFLAGS = "-ObjC";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
B9AF4BC4152E43EE00E9BA6C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_OBJCPP_ARC_ABI = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
OTHER_LDFLAGS = "-ObjC";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
B9AF4BC6152E43EE00E9BA6C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../build\"",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "PlacePickerSample/PlacePickerSample-Prefix.pch";
INFOPLIST_FILE = "PlacePickerSample/PlacePickerSample-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
B9AF4BC7152E43EE00E9BA6C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../build\"",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "PlacePickerSample/PlacePickerSample-Prefix.pch";
INFOPLIST_FILE = "PlacePickerSample/PlacePickerSample-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
B9AF4B9E152E43EE00E9BA6C /* Build configuration list for PBXProject "PlacePickerSample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B9AF4BC3152E43EE00E9BA6C /* Debug */,
B9AF4BC4152E43EE00E9BA6C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
B9AF4BC5152E43EE00E9BA6C /* Build configuration list for PBXNativeTarget "PlacePickerSample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B9AF4BC6152E43EE00E9BA6C /* Debug */,
B9AF4BC7152E43EE00E9BA6C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = B9AF4B9B152E43EE00E9BA6C /* Project object */;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

@@ -0,0 +1,35 @@
/*
* Copyright 2010-present Facebook.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
// Place Picker sample application
//
// The purpose of this sample application is to provide a very simple
// example of the FBPlacePickerViewController, without other bells and
// whistles to destract from the widget. This is a single-view application
// with simplistic authentication with Facebook. The view-controller for
// the applicaiton (ViewController) inherits FBPlacePicerViewController.
@class PPViewController;
@interface PPAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) PPViewController *viewController;
@end
@@ -0,0 +1,62 @@
/*
* Copyright 2010-present Facebook.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import "PPAppDelegate.h"
#import "PPViewController.h"
@implementation PPAppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[PPViewController alloc] initWithNibName:@"PPViewController_iPhone" bundle:nil];
} else {
self.viewController = [[PPViewController alloc] initWithNibName:@"PPViewController_iPad" bundle:nil];
}
self.viewController.wantsFullScreenLayout = YES;
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
// FBSample logic
// In the login workflow, the Facebook native application, or Safari will transition back to
// this applicaiton via a url following the scheme fb[app id]://; the call to handleOpenURL
// below captures the token, in the case of success, on behalf of the FBSession object
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [FBAppCall handleOpenURL:url
sourceApplication:sourceApplication];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBAppEvents activateApp];
[FBAppCall handleDidBecomeActive];
}
// FBSample logic
// It is important to close any FBSession object that is no longer useful
- (void)applicationWillTerminate:(UIApplication *)application {
// Close the session token before quitting
[FBSession.activeSession close];
}
@end
@@ -0,0 +1,23 @@
/*
* Copyright 2010-present Facebook.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import <FacebookSDK/FacebookSDK.h>
@interface PPViewController : FBPlacePickerViewController <UISearchDisplayDelegate, UISearchBarDelegate>
@end
@@ -0,0 +1,213 @@
/*
* Copyright 2010-present Facebook.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <FacebookSDK/FacebookSDK.h>
#import "PPViewController.h"
#import "PPAppDelegate.h"
enum SampleLocation {
SampleLocationSeattle,
SampleLocationSanFrancisco,
SampleLocationGPS,
};
// FBSample logic
// We need to handle some of the UX events related to friend selection, and so we declare
// that we implement the FBPlacePickerDelegate here; the delegate lets us filter the view
// as well as handle selection events
@interface PPViewController () <CLLocationManagerDelegate, FBPlacePickerDelegate>
@property (strong, nonatomic) CLLocationManager *locationManager;
@property (nonatomic) NSInteger viewStateSearchScopeIndex;
@property (nonatomic, copy) NSString *viewStateSearchText;
@property (nonatomic) BOOL viewStateSearchWasActive;
- (void)refresh;
@end
@implementation PPViewController
@synthesize locationManager = _locationManager;
@synthesize viewStateSearchScopeIndex = _viewStateSearchScopeIndex;
@synthesize viewStateSearchText = _viewStateSearchText;
@synthesize viewStateSearchWasActive = _viewStateSearchWasActive;
// FBSample logic
// This method is responsible for keeping UX and session state in sync
- (void)refresh {
// if the session is open, then load the data for our view controller
if (FBSession.activeSession.isOpen) {
// Default to Seattle, this method calls loadData
[self searchDisplayController:nil shouldReloadTableForSearchScope:SampleLocationSeattle];
} else {
// if the session isn't open, we open it here, which may cause UX to log in the user
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
if (!error) {
[self refresh];
} else {
[[[UIAlertView alloc] initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil]
show];
}
}];
}
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption {
switch (searchOption) {
case SampleLocationSeattle:
// FBSample logic
// After setting the coordinates for the data we wish to fetch, we call loadData to initiate
// the actual network round-trip with Facebook; likewise for the other two locations
self.locationCoordinate = CLLocationCoordinate2DMake(47.6097, -122.3331);
[self loadData];
break;
case SampleLocationSanFrancisco:
self.locationCoordinate = CLLocationCoordinate2DMake(37.7750, -122.4183);
[self loadData];
break;
case SampleLocationGPS:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
break;
}
// When startUpdatingLocation/loadData finish, we will reload then.
return NO;
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
// FBSample logic
// When search text changes, we update the property on our base class, and then refetch data; the
// Scrumptious sample shows a more complex implementation of this, where frequent updates are aggregated,
// and fetching happens on a timed basis to avoid becomming to chatty with the server; this sample takes
// a more simplistic approach
self.searchText = searchString;
[self loadData];
// Setting self.searchText will reload the table when results arrive
return NO;
}
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
[self.tableView reloadData];
}
- (void)placePickerViewControllerSelectionDidChange:(FBPlacePickerViewController *)placePicker
{
// FBSample logic
// Here we see a use of the FBGraphPlace protocol, where our code can use dot-notation to
// select name and location data from the selected place
id<FBGraphPlace> place = placePicker.selection;
// Make sure that we don't show message when the same row is being clicked twice (to be deselected)
if(!place) {
return;
}
// we'll use logging to show the simple typed property access to place and location info
NSString *infoMessage = [NSString localizedStringWithFormat:@"place=%@\n city=%@, state=%@\n lat=%@\n long=%@\n",
place.name,
place.location.city,
place.location.state,
place.location.latitude,
place.location.longitude];
NSLog(@"%@", infoMessage);
// Sample action for place selection completed action
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Place selected"
message:infoMessage
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// FBSample logic
// We are inheriting FBPlacePickerViewController, and so in order to handle events such
// as selection change, we set our base class' delegate property to self
self.delegate = self;
self.searchDisplayController.searchResultsDataSource = self.tableView.dataSource;
self.searchDisplayController.searchResultsDelegate = self.tableView.delegate;
if (self.viewStateSearchText) {
[self.searchDisplayController.searchBar
setSelectedScopeButtonIndex:self.viewStateSearchScopeIndex];
[self.searchDisplayController.searchBar setText:self.viewStateSearchText];
[self.searchDisplayController setActive:self.viewStateSearchWasActive];
self.viewStateSearchText = nil;
}
[self refresh];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
self.viewStateSearchScopeIndex = [self.searchDisplayController.searchBar selectedScopeButtonIndex];
self.viewStateSearchText = [self.searchDisplayController.searchBar text];
self.viewStateSearchWasActive = [self.searchDisplayController isActive];
}
- (void)placePickerViewControllerDataDidChange:(FBPlacePickerViewController *)placePicker {
[self.searchDisplayController.searchResultsTableView reloadData];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
#pragma mark - Location Manager delegate
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
if (newLocation.horizontalAccuracy < 100) {
// We wait for a precision of 100m and turn the GPS off
[self.locationManager stopUpdatingLocation];
self.locationManager = nil;
self.locationCoordinate = newLocation.coordinate;
[self loadData];
}
}
#pragma mark - UISearchBarDelegate Methods
// Just set the search string to an empty string and inform
// the delegate (self) to reload data
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
self.searchText = @"";
[self loadData];
}
@end
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon-72.png</string>
<string>Icon-72@2x.png</string>
</array>
<key>CFBundleIcons</key>
<dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon@2x.png</string>
<string>Icon-72.png</string>
<string>Icon-72@2x.png</string>
</array>
</dict>
</dict>
<key>CFBundleIdentifier</key>
<string>com.facebook.sdk.samples.placepicker</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb378281678861098</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>FacebookAppID</key>
<string>378281678861098</string>
<key>FacebookDisplayName</key>
<string>PlacePickerSample</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
@@ -0,0 +1,14 @@
//
// Prefix header for all source files of the 'PlacePickerSample' target in the 'PlacePickerSample' project
//
#import <Availability.h>
#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
@@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */
@@ -0,0 +1,303 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1280</int>
<string key="IBDocument.SystemVersion">12E55</string>
<string key="IBDocument.InterfaceBuilderVersion">4504</string>
<string key="IBDocument.AppKitVersion">1187.39</string>
<string key="IBDocument.HIToolboxVersion">626.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">3734.1</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUISearchBar</string>
<string>IBUISearchDisplayController</string>
<string>IBUITableView</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="841351856">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBProxyObject" id="606714003">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIView" id="766721923">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUITableView" id="210645484">
<reference key="NSNextResponder" ref="766721923"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 66}, {768, 960}}</string>
<reference key="NSSuperview" ref="766721923"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
<bool key="IBUIAlwaysBounceVertical">YES</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">22</float>
<float key="IBUISectionFooterHeight">22</float>
</object>
<object class="IBUISearchBar" id="923567084">
<reference key="NSNextResponder" ref="766721923"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 22}, {768, 88}}</string>
<reference key="NSSuperview" ref="766721923"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="210645484"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="IBUIContentMode">3</int>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
<object class="IBUITextInputTraits" key="IBTextInputTraits">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<array key="IBScopeButtonTitles">
<string>Seattle</string>
<string>San Francisco</string>
<string>GPS</string>
</array>
<bool key="IBShowsScopeBar">YES</bool>
</object>
</array>
<string key="NSFrame">{{0, 20}, {768, 1004}}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="923567084"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
<int key="IBUIStatusBarStyle">2</int>
</object>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUISearchDisplayController" id="164011636">
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<bool key="usesAutoincrementingIDs">NO</bool>
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="766721923"/>
</object>
<string key="id">3</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tableView</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="210645484"/>
</object>
<string key="id">27</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchDisplayController</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="164011636"/>
</object>
<string key="id">33</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="923567084"/>
<reference key="destination" ref="841351856"/>
</object>
<string key="id">38</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchBar</string>
<reference key="source" ref="164011636"/>
<reference key="destination" ref="923567084"/>
</object>
<string key="id">32</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchContentsController</string>
<reference key="source" ref="164011636"/>
<reference key="destination" ref="841351856"/>
</object>
<string key="id">34</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchResultsDataSource</string>
<reference key="source" ref="164011636"/>
<reference key="destination" ref="841351856"/>
</object>
<string key="id">35</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchResultsDelegate</string>
<reference key="source" ref="164011636"/>
<reference key="destination" ref="841351856"/>
</object>
<string key="id">36</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="164011636"/>
<reference key="destination" ref="841351856"/>
</object>
<string key="id">37</string>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<string key="id">0</string>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<string key="id">-1</string>
<reference key="object" ref="841351856"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<string key="id">-2</string>
<reference key="object" ref="606714003"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<string key="id">2</string>
<reference key="object" ref="766721923"/>
<array class="NSMutableArray" key="children">
<reference ref="923567084"/>
<reference ref="210645484"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<string key="id">26</string>
<reference key="object" ref="210645484"/>
<reference key="parent" ref="766721923"/>
</object>
<object class="IBObjectRecord">
<string key="id">30</string>
<reference key="object" ref="923567084"/>
<reference key="parent" ref="766721923"/>
</object>
<object class="IBObjectRecord">
<string key="id">31</string>
<reference key="object" ref="164011636"/>
<reference key="parent" ref="0"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">FBPlacePickerViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">FBPlacePickerViewController</string>
<string key="superclassName">FBViewController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="spinner">UIActivityIndicatorView</string>
<string key="tableView">UITableView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="spinner">
<string key="name">spinner</string>
<string key="candidateClassName">UIActivityIndicatorView</string>
</object>
<object class="IBToOneOutletInfo" key="tableView">
<string key="name">tableView</string>
<string key="candidateClassName">UITableView</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/FBPlacePickerViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">FBViewController</string>
<string key="superclassName">UIViewController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="cancelButton">UIBarButtonItem</string>
<string key="delegate">id</string>
<string key="doneButton">UIBarButtonItem</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="cancelButton">
<string key="name">cancelButton</string>
<string key="candidateClassName">UIBarButtonItem</string>
</object>
<object class="IBToOneOutletInfo" key="delegate">
<string key="name">delegate</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBToOneOutletInfo" key="doneButton">
<string key="name">doneButton</string>
<string key="candidateClassName">UIBarButtonItem</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/FBViewController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
<bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">YES</bool>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1280" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="4600" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3734.1</string>
</data>
</archive>
@@ -0,0 +1,245 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1280</int>
<string key="IBDocument.SystemVersion">12E55</string>
<string key="IBDocument.InterfaceBuilderVersion">4504</string>
<string key="IBDocument.AppKitVersion">1187.39</string>
<string key="IBDocument.HIToolboxVersion">626.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">3734.1</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUISearchBar</string>
<string>IBUISearchDisplayController</string>
<string>IBUITableView</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="843779117">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="774585933">
<nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUITableView" id="527165012">
<reference key="NSNextResponder" ref="774585933"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews"/>
<string key="NSFrame">{{0, 67}, {320, 415}}</string>
<reference key="NSSuperview" ref="774585933"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor" id="437365989">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIAlwaysBounceVertical">YES</bool>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">22</float>
<float key="IBUISectionFooterHeight">22</float>
</object>
<object class="IBUISearchBar" id="339542247">
<reference key="NSNextResponder" ref="774585933"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 23}, {320, 44}}</string>
<reference key="NSSuperview" ref="774585933"/>
<reference key="NSNextKeyView" ref="527165012"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="IBUIContentMode">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="IBUITextInputTraits" key="IBTextInputTraits">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<array key="IBScopeButtonTitles">
<string>Seattle</string>
<string>San Francisco</string>
<string>GPS</string>
</array>
</object>
</array>
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
<reference key="NSNextKeyView" ref="339542247"/>
<reference key="IBUIBackgroundColor" ref="437365989"/>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUISearchDisplayController" id="880538192">
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<bool key="usesAutoincrementingIDs">NO</bool>
<array class="NSMutableArray" key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tableView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="527165012"/>
</object>
<string key="id">28</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="774585933"/>
</object>
<string key="id">29</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchDisplayController</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="880538192"/>
</object>
<string key="id">35</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="339542247"/>
<reference key="destination" ref="372490531"/>
</object>
<string key="id">40</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchBar</string>
<reference key="source" ref="880538192"/>
<reference key="destination" ref="339542247"/>
</object>
<string key="id">34</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchContentsController</string>
<reference key="source" ref="880538192"/>
<reference key="destination" ref="372490531"/>
</object>
<string key="id">36</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchResultsDataSource</string>
<reference key="source" ref="880538192"/>
<reference key="destination" ref="372490531"/>
</object>
<string key="id">37</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">searchResultsDelegate</string>
<reference key="source" ref="880538192"/>
<reference key="destination" ref="372490531"/>
</object>
<string key="id">38</string>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="880538192"/>
<reference key="destination" ref="372490531"/>
</object>
<string key="id">39</string>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<string key="id">0</string>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<string key="id">-1</string>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<string key="id">-2</string>
<reference key="object" ref="843779117"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<string key="id">6</string>
<reference key="object" ref="774585933"/>
<array class="NSMutableArray" key="children">
<reference ref="527165012"/>
<reference ref="339542247"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<string key="id">27</string>
<reference key="object" ref="527165012"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="774585933"/>
<string key="objectName">table</string>
</object>
<object class="IBObjectRecord">
<string key="id">33</string>
<reference key="object" ref="880538192"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<string key="id">32</string>
<reference key="object" ref="339542247"/>
<reference key="parent" ref="774585933"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">FBPlacePickerViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">YES</bool>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1280" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="4600" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3734.1</string>
</data>
</archive>
@@ -0,0 +1,26 @@
/*
* Copyright 2010-present Facebook.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <UIKit/UIKit.h>
#import "PPAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([PPAppDelegate class]));
}
}
@@ -0,0 +1,9 @@
PlacePickerSample
Demonstrates how to use the FBPlacePickerViewController provided with
the Facebook SDK for iOS.
Using the Sample
Install the Facebook SDK for iOS.
Launch the PlacePickerSample project using Xcode from the
<Facebook SDK>/samples/PlacePickerSample directory.