├── BackgroundDemo ├── en.lproj │ └── InfoPlist.strings ├── BDViewController.h ├── BackgroundDemo-Prefix.pch ├── main.m ├── BDAppDelegate.h ├── BDViewController.m ├── Images.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── LaunchImage.launchimage │ │ └── Contents.json ├── Base.lproj │ ├── Main_iPhone.storyboard │ └── Main_iPad.storyboard ├── BackgroundDemo-Info.plist └── BDAppDelegate.m ├── BackgroundDemoTests ├── en.lproj │ └── InfoPlist.strings ├── BackgroundDemoTests-Info.plist └── BackgroundDemoTests.m └── BackgroundDemo.xcodeproj ├── project.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── dyoung.xcuserdatad │ └── UserInterfaceState.xcuserstate ├── xcuserdata └── dyoung.xcuserdatad │ └── xcschemes │ ├── xcschememanagement.plist │ └── BackgroundDemo.xcscheme └── project.pbxproj /BackgroundDemo/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /BackgroundDemoTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /BackgroundDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /BackgroundDemo.xcodeproj/project.xcworkspace/xcuserdata/dyoung.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/ibeacon-background-demo/HEAD/BackgroundDemo.xcodeproj/project.xcworkspace/xcuserdata/dyoung.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /BackgroundDemo/BDViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BDViewController.h 3 | // BackgroundDemo 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BDViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /BackgroundDemo/BackgroundDemo-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /BackgroundDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // BackgroundDemo 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "BDAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([BDAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /BackgroundDemo/BDAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // BDAppDelegate.h 3 | // BackgroundDemo 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface BDAppDelegate : UIResponder 13 | 14 | @property (strong, nonatomic) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /BackgroundDemo/BDViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // BDViewController.m 3 | // BackgroundDemo 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import "BDViewController.h" 10 | 11 | @interface BDViewController () 12 | 13 | @end 14 | 15 | @implementation BDViewController 16 | 17 | - (void)viewDidLoad 18 | { 19 | [super viewDidLoad]; 20 | // Do any additional setup after loading the view, typically from a nib. 21 | } 22 | 23 | - (void)didReceiveMemoryWarning 24 | { 25 | [super didReceiveMemoryWarning]; 26 | // Dispose of any resources that can be recreated. 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /BackgroundDemo.xcodeproj/xcuserdata/dyoung.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | BackgroundDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | EEEB8808182ACEA600B866AB 16 | 17 | primary 18 | 19 | 20 | EEEB882C182ACEA600B866AB 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /BackgroundDemoTests/BackgroundDemoTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.radiusnetworks.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /BackgroundDemoTests/BackgroundDemoTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // BackgroundDemoTests.m 3 | // BackgroundDemoTests 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BackgroundDemoTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation BackgroundDemoTests 16 | 17 | - (void)setUp 18 | { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown 24 | { 25 | // Put teardown code here. This method is called after the invocation of each test method in the class. 26 | [super tearDown]; 27 | } 28 | 29 | - (void)testExample 30 | { 31 | XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /BackgroundDemo/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /BackgroundDemo/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } -------------------------------------------------------------------------------- /BackgroundDemo/Base.lproj/Main_iPhone.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /BackgroundDemo/Base.lproj/Main_iPad.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /BackgroundDemo/BackgroundDemo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | UIBackgroundModes 12 | 13 | location 14 | 15 | CFBundleIdentifier 16 | com.radiusnetworks.${PRODUCT_NAME:rfc1034identifier} 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundleName 20 | ${PRODUCT_NAME} 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 1.0 25 | CFBundleSignature 26 | ???? 27 | CFBundleVersion 28 | 1.0 29 | LSRequiresIPhoneOS 30 | 31 | UIMainStoryboardFile 32 | Main_iPhone 33 | UIMainStoryboardFile~ipad 34 | Main_iPad 35 | UIRequiredDeviceCapabilities 36 | 37 | armv7 38 | 39 | UISupportedInterfaceOrientations 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationLandscapeLeft 43 | UIInterfaceOrientationLandscapeRight 44 | 45 | UISupportedInterfaceOrientations~ipad 46 | 47 | UIInterfaceOrientationPortrait 48 | UIInterfaceOrientationPortraitUpsideDown 49 | UIInterfaceOrientationLandscapeLeft 50 | UIInterfaceOrientationLandscapeRight 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /BackgroundDemo/BDAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // BDAppDelegate.m 3 | // BackgroundDemo 4 | // 5 | // Created by David G. Young on 11/6/13. 6 | // Copyright (c) 2013 RadiusNetworks. All rights reserved. 7 | // 8 | 9 | #import "BDAppDelegate.h" 10 | 11 | 12 | @implementation BDAppDelegate 13 | { 14 | CLLocationManager *_locationManager; 15 | } 16 | 17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 18 | { 19 | NSLog(@"applicationDidFinishLaunching"); 20 | 21 | _locationManager = [[CLLocationManager alloc] init]; 22 | _locationManager.delegate = self; 23 | CLBeaconRegion *region; 24 | 25 | region = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:@"2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6"] major: 1 minor: 1 identifier: @"region1"]; 26 | region.notifyEntryStateOnDisplay = YES; 27 | [_locationManager startMonitoringForRegion:region]; 28 | [_locationManager stopRangingBeaconsInRegion:region]; 29 | //[_locationManager startRangingBeaconsInRegion:region]; 30 | 31 | region = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:@"2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6"] major: 1 minor: 2 identifier: @"region2"]; 32 | region.notifyEntryStateOnDisplay = YES; 33 | [_locationManager startMonitoringForRegion:region]; 34 | [_locationManager stopRangingBeaconsInRegion:region]; 35 | //[_locationManager startRangingBeaconsInRegion:region]; 36 | 37 | return YES; 38 | } 39 | 40 | - (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region 41 | { 42 | if(state == CLRegionStateInside) { 43 | NSLog(@"locationManager didDetermineState INSIDE for %@", region.identifier); 44 | } 45 | else if(state == CLRegionStateOutside) { 46 | NSLog(@"locationManager didDetermineState OUTSIDE for %@", region.identifier); 47 | } 48 | else { 49 | NSLog(@"locationManager didDetermineState OTHER for %@", region.identifier); 50 | } 51 | } 52 | 53 | - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region 54 | { 55 | // I commented out the line below because otherwise you see this every second in the logs 56 | // NSLog(@"locationManager didRangeBeacons"); 57 | } 58 | 59 | 60 | - (void)applicationWillResignActive:(UIApplication *)application 61 | { 62 | NSLog(@"applicationWillResignActive"); 63 | } 64 | 65 | - (void)applicationDidEnterBackground:(UIApplication *)application 66 | { 67 | NSLog(@"applicationDidEnterBackground"); 68 | } 69 | 70 | - (void)applicationWillEnterForeground:(UIApplication *)application 71 | { 72 | NSLog(@"applicationWillEnterForeground"); 73 | } 74 | 75 | - (void)applicationDidBecomeActive:(UIApplication *)application 76 | { 77 | NSLog(@"applicationDidBecomeActive"); 78 | } 79 | 80 | - (void)applicationWillTerminate:(UIApplication *)application 81 | { 82 | NSLog(@"applicationWillTerminate"); 83 | } 84 | 85 | @end 86 | 87 | -------------------------------------------------------------------------------- /BackgroundDemo.xcodeproj/xcuserdata/dyoung.xcuserdatad/xcschemes/BackgroundDemo.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 49 | 50 | 51 | 52 | 61 | 62 | 68 | 69 | 70 | 71 | 72 | 73 | 79 | 80 | 86 | 87 | 88 | 89 | 91 | 92 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /BackgroundDemo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | EEEB880D182ACEA600B866AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB880C182ACEA600B866AB /* Foundation.framework */; }; 11 | EEEB880F182ACEA600B866AB /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB880E182ACEA600B866AB /* CoreGraphics.framework */; }; 12 | EEEB8811182ACEA600B866AB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB8810182ACEA600B866AB /* UIKit.framework */; }; 13 | EEEB8817182ACEA600B866AB /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EEEB8815182ACEA600B866AB /* InfoPlist.strings */; }; 14 | EEEB8819182ACEA600B866AB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8818182ACEA600B866AB /* main.m */; }; 15 | EEEB881D182ACEA600B866AB /* BDAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EEEB881C182ACEA600B866AB /* BDAppDelegate.m */; }; 16 | EEEB8820182ACEA600B866AB /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EEEB881E182ACEA600B866AB /* Main_iPhone.storyboard */; }; 17 | EEEB8823182ACEA600B866AB /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EEEB8821182ACEA600B866AB /* Main_iPad.storyboard */; }; 18 | EEEB8826182ACEA600B866AB /* BDViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8825182ACEA600B866AB /* BDViewController.m */; }; 19 | EEEB8828182ACEA600B866AB /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EEEB8827182ACEA600B866AB /* Images.xcassets */; }; 20 | EEEB882F182ACEA600B866AB /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB882E182ACEA600B866AB /* XCTest.framework */; }; 21 | EEEB8830182ACEA600B866AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB880C182ACEA600B866AB /* Foundation.framework */; }; 22 | EEEB8831182ACEA600B866AB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EEEB8810182ACEA600B866AB /* UIKit.framework */; }; 23 | EEEB8839182ACEA600B866AB /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EEEB8837182ACEA600B866AB /* InfoPlist.strings */; }; 24 | EEEB883B182ACEA600B866AB /* BackgroundDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EEEB883A182ACEA600B866AB /* BackgroundDemoTests.m */; }; 25 | /* End PBXBuildFile section */ 26 | 27 | /* Begin PBXContainerItemProxy section */ 28 | EEEB8832182ACEA600B866AB /* PBXContainerItemProxy */ = { 29 | isa = PBXContainerItemProxy; 30 | containerPortal = EEEB8801182ACEA600B866AB /* Project object */; 31 | proxyType = 1; 32 | remoteGlobalIDString = EEEB8808182ACEA600B866AB; 33 | remoteInfo = BackgroundDemo; 34 | }; 35 | /* End PBXContainerItemProxy section */ 36 | 37 | /* Begin PBXFileReference section */ 38 | EEEB8809182ACEA600B866AB /* BackgroundDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BackgroundDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 39 | EEEB880C182ACEA600B866AB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 40 | EEEB880E182ACEA600B866AB /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 41 | EEEB8810182ACEA600B866AB /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 42 | EEEB8814182ACEA600B866AB /* BackgroundDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BackgroundDemo-Info.plist"; sourceTree = ""; }; 43 | EEEB8816182ACEA600B866AB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 44 | EEEB8818182ACEA600B866AB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 45 | EEEB881A182ACEA600B866AB /* BackgroundDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BackgroundDemo-Prefix.pch"; sourceTree = ""; }; 46 | EEEB881B182ACEA600B866AB /* BDAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BDAppDelegate.h; sourceTree = ""; }; 47 | EEEB881C182ACEA600B866AB /* BDAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BDAppDelegate.m; sourceTree = ""; }; 48 | EEEB881F182ACEA600B866AB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = ""; }; 49 | EEEB8822182ACEA600B866AB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = ""; }; 50 | EEEB8824182ACEA600B866AB /* BDViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BDViewController.h; sourceTree = ""; }; 51 | EEEB8825182ACEA600B866AB /* BDViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BDViewController.m; sourceTree = ""; }; 52 | EEEB8827182ACEA600B866AB /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 53 | EEEB882D182ACEA600B866AB /* BackgroundDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BackgroundDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 54 | EEEB882E182ACEA600B866AB /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 55 | EEEB8836182ACEA600B866AB /* BackgroundDemoTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BackgroundDemoTests-Info.plist"; sourceTree = ""; }; 56 | EEEB8838182ACEA600B866AB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 57 | EEEB883A182ACEA600B866AB /* BackgroundDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BackgroundDemoTests.m; sourceTree = ""; }; 58 | /* End PBXFileReference section */ 59 | 60 | /* Begin PBXFrameworksBuildPhase section */ 61 | EEEB8806182ACEA600B866AB /* Frameworks */ = { 62 | isa = PBXFrameworksBuildPhase; 63 | buildActionMask = 2147483647; 64 | files = ( 65 | EEEB880F182ACEA600B866AB /* CoreGraphics.framework in Frameworks */, 66 | EEEB8811182ACEA600B866AB /* UIKit.framework in Frameworks */, 67 | EEEB880D182ACEA600B866AB /* Foundation.framework in Frameworks */, 68 | ); 69 | runOnlyForDeploymentPostprocessing = 0; 70 | }; 71 | EEEB882A182ACEA600B866AB /* Frameworks */ = { 72 | isa = PBXFrameworksBuildPhase; 73 | buildActionMask = 2147483647; 74 | files = ( 75 | EEEB882F182ACEA600B866AB /* XCTest.framework in Frameworks */, 76 | EEEB8831182ACEA600B866AB /* UIKit.framework in Frameworks */, 77 | EEEB8830182ACEA600B866AB /* Foundation.framework in Frameworks */, 78 | ); 79 | runOnlyForDeploymentPostprocessing = 0; 80 | }; 81 | /* End PBXFrameworksBuildPhase section */ 82 | 83 | /* Begin PBXGroup section */ 84 | EEEB8800182ACEA600B866AB = { 85 | isa = PBXGroup; 86 | children = ( 87 | EEEB8812182ACEA600B866AB /* BackgroundDemo */, 88 | EEEB8834182ACEA600B866AB /* BackgroundDemoTests */, 89 | EEEB880B182ACEA600B866AB /* Frameworks */, 90 | EEEB880A182ACEA600B866AB /* Products */, 91 | ); 92 | sourceTree = ""; 93 | }; 94 | EEEB880A182ACEA600B866AB /* Products */ = { 95 | isa = PBXGroup; 96 | children = ( 97 | EEEB8809182ACEA600B866AB /* BackgroundDemo.app */, 98 | EEEB882D182ACEA600B866AB /* BackgroundDemoTests.xctest */, 99 | ); 100 | name = Products; 101 | sourceTree = ""; 102 | }; 103 | EEEB880B182ACEA600B866AB /* Frameworks */ = { 104 | isa = PBXGroup; 105 | children = ( 106 | EEEB880C182ACEA600B866AB /* Foundation.framework */, 107 | EEEB880E182ACEA600B866AB /* CoreGraphics.framework */, 108 | EEEB8810182ACEA600B866AB /* UIKit.framework */, 109 | EEEB882E182ACEA600B866AB /* XCTest.framework */, 110 | ); 111 | name = Frameworks; 112 | sourceTree = ""; 113 | }; 114 | EEEB8812182ACEA600B866AB /* BackgroundDemo */ = { 115 | isa = PBXGroup; 116 | children = ( 117 | EEEB881B182ACEA600B866AB /* BDAppDelegate.h */, 118 | EEEB881C182ACEA600B866AB /* BDAppDelegate.m */, 119 | EEEB881E182ACEA600B866AB /* Main_iPhone.storyboard */, 120 | EEEB8821182ACEA600B866AB /* Main_iPad.storyboard */, 121 | EEEB8824182ACEA600B866AB /* BDViewController.h */, 122 | EEEB8825182ACEA600B866AB /* BDViewController.m */, 123 | EEEB8827182ACEA600B866AB /* Images.xcassets */, 124 | EEEB8813182ACEA600B866AB /* Supporting Files */, 125 | ); 126 | path = BackgroundDemo; 127 | sourceTree = ""; 128 | }; 129 | EEEB8813182ACEA600B866AB /* Supporting Files */ = { 130 | isa = PBXGroup; 131 | children = ( 132 | EEEB8814182ACEA600B866AB /* BackgroundDemo-Info.plist */, 133 | EEEB8815182ACEA600B866AB /* InfoPlist.strings */, 134 | EEEB8818182ACEA600B866AB /* main.m */, 135 | EEEB881A182ACEA600B866AB /* BackgroundDemo-Prefix.pch */, 136 | ); 137 | name = "Supporting Files"; 138 | sourceTree = ""; 139 | }; 140 | EEEB8834182ACEA600B866AB /* BackgroundDemoTests */ = { 141 | isa = PBXGroup; 142 | children = ( 143 | EEEB883A182ACEA600B866AB /* BackgroundDemoTests.m */, 144 | EEEB8835182ACEA600B866AB /* Supporting Files */, 145 | ); 146 | path = BackgroundDemoTests; 147 | sourceTree = ""; 148 | }; 149 | EEEB8835182ACEA600B866AB /* Supporting Files */ = { 150 | isa = PBXGroup; 151 | children = ( 152 | EEEB8836182ACEA600B866AB /* BackgroundDemoTests-Info.plist */, 153 | EEEB8837182ACEA600B866AB /* InfoPlist.strings */, 154 | ); 155 | name = "Supporting Files"; 156 | sourceTree = ""; 157 | }; 158 | /* End PBXGroup section */ 159 | 160 | /* Begin PBXNativeTarget section */ 161 | EEEB8808182ACEA600B866AB /* BackgroundDemo */ = { 162 | isa = PBXNativeTarget; 163 | buildConfigurationList = EEEB883E182ACEA600B866AB /* Build configuration list for PBXNativeTarget "BackgroundDemo" */; 164 | buildPhases = ( 165 | EEEB8805182ACEA600B866AB /* Sources */, 166 | EEEB8806182ACEA600B866AB /* Frameworks */, 167 | EEEB8807182ACEA600B866AB /* Resources */, 168 | ); 169 | buildRules = ( 170 | ); 171 | dependencies = ( 172 | ); 173 | name = BackgroundDemo; 174 | productName = BackgroundDemo; 175 | productReference = EEEB8809182ACEA600B866AB /* BackgroundDemo.app */; 176 | productType = "com.apple.product-type.application"; 177 | }; 178 | EEEB882C182ACEA600B866AB /* BackgroundDemoTests */ = { 179 | isa = PBXNativeTarget; 180 | buildConfigurationList = EEEB8841182ACEA600B866AB /* Build configuration list for PBXNativeTarget "BackgroundDemoTests" */; 181 | buildPhases = ( 182 | EEEB8829182ACEA600B866AB /* Sources */, 183 | EEEB882A182ACEA600B866AB /* Frameworks */, 184 | EEEB882B182ACEA600B866AB /* Resources */, 185 | ); 186 | buildRules = ( 187 | ); 188 | dependencies = ( 189 | EEEB8833182ACEA600B866AB /* PBXTargetDependency */, 190 | ); 191 | name = BackgroundDemoTests; 192 | productName = BackgroundDemoTests; 193 | productReference = EEEB882D182ACEA600B866AB /* BackgroundDemoTests.xctest */; 194 | productType = "com.apple.product-type.bundle.unit-test"; 195 | }; 196 | /* End PBXNativeTarget section */ 197 | 198 | /* Begin PBXProject section */ 199 | EEEB8801182ACEA600B866AB /* Project object */ = { 200 | isa = PBXProject; 201 | attributes = { 202 | CLASSPREFIX = BD; 203 | LastUpgradeCheck = 0500; 204 | ORGANIZATIONNAME = RadiusNetworks; 205 | TargetAttributes = { 206 | EEEB882C182ACEA600B866AB = { 207 | TestTargetID = EEEB8808182ACEA600B866AB; 208 | }; 209 | }; 210 | }; 211 | buildConfigurationList = EEEB8804182ACEA600B866AB /* Build configuration list for PBXProject "BackgroundDemo" */; 212 | compatibilityVersion = "Xcode 3.2"; 213 | developmentRegion = English; 214 | hasScannedForEncodings = 0; 215 | knownRegions = ( 216 | en, 217 | Base, 218 | ); 219 | mainGroup = EEEB8800182ACEA600B866AB; 220 | productRefGroup = EEEB880A182ACEA600B866AB /* Products */; 221 | projectDirPath = ""; 222 | projectRoot = ""; 223 | targets = ( 224 | EEEB8808182ACEA600B866AB /* BackgroundDemo */, 225 | EEEB882C182ACEA600B866AB /* BackgroundDemoTests */, 226 | ); 227 | }; 228 | /* End PBXProject section */ 229 | 230 | /* Begin PBXResourcesBuildPhase section */ 231 | EEEB8807182ACEA600B866AB /* Resources */ = { 232 | isa = PBXResourcesBuildPhase; 233 | buildActionMask = 2147483647; 234 | files = ( 235 | EEEB8823182ACEA600B866AB /* Main_iPad.storyboard in Resources */, 236 | EEEB8828182ACEA600B866AB /* Images.xcassets in Resources */, 237 | EEEB8820182ACEA600B866AB /* Main_iPhone.storyboard in Resources */, 238 | EEEB8817182ACEA600B866AB /* InfoPlist.strings in Resources */, 239 | ); 240 | runOnlyForDeploymentPostprocessing = 0; 241 | }; 242 | EEEB882B182ACEA600B866AB /* Resources */ = { 243 | isa = PBXResourcesBuildPhase; 244 | buildActionMask = 2147483647; 245 | files = ( 246 | EEEB8839182ACEA600B866AB /* InfoPlist.strings in Resources */, 247 | ); 248 | runOnlyForDeploymentPostprocessing = 0; 249 | }; 250 | /* End PBXResourcesBuildPhase section */ 251 | 252 | /* Begin PBXSourcesBuildPhase section */ 253 | EEEB8805182ACEA600B866AB /* Sources */ = { 254 | isa = PBXSourcesBuildPhase; 255 | buildActionMask = 2147483647; 256 | files = ( 257 | EEEB8826182ACEA600B866AB /* BDViewController.m in Sources */, 258 | EEEB881D182ACEA600B866AB /* BDAppDelegate.m in Sources */, 259 | EEEB8819182ACEA600B866AB /* main.m in Sources */, 260 | ); 261 | runOnlyForDeploymentPostprocessing = 0; 262 | }; 263 | EEEB8829182ACEA600B866AB /* Sources */ = { 264 | isa = PBXSourcesBuildPhase; 265 | buildActionMask = 2147483647; 266 | files = ( 267 | EEEB883B182ACEA600B866AB /* BackgroundDemoTests.m in Sources */, 268 | ); 269 | runOnlyForDeploymentPostprocessing = 0; 270 | }; 271 | /* End PBXSourcesBuildPhase section */ 272 | 273 | /* Begin PBXTargetDependency section */ 274 | EEEB8833182ACEA600B866AB /* PBXTargetDependency */ = { 275 | isa = PBXTargetDependency; 276 | target = EEEB8808182ACEA600B866AB /* BackgroundDemo */; 277 | targetProxy = EEEB8832182ACEA600B866AB /* PBXContainerItemProxy */; 278 | }; 279 | /* End PBXTargetDependency section */ 280 | 281 | /* Begin PBXVariantGroup section */ 282 | EEEB8815182ACEA600B866AB /* InfoPlist.strings */ = { 283 | isa = PBXVariantGroup; 284 | children = ( 285 | EEEB8816182ACEA600B866AB /* en */, 286 | ); 287 | name = InfoPlist.strings; 288 | sourceTree = ""; 289 | }; 290 | EEEB881E182ACEA600B866AB /* Main_iPhone.storyboard */ = { 291 | isa = PBXVariantGroup; 292 | children = ( 293 | EEEB881F182ACEA600B866AB /* Base */, 294 | ); 295 | name = Main_iPhone.storyboard; 296 | sourceTree = ""; 297 | }; 298 | EEEB8821182ACEA600B866AB /* Main_iPad.storyboard */ = { 299 | isa = PBXVariantGroup; 300 | children = ( 301 | EEEB8822182ACEA600B866AB /* Base */, 302 | ); 303 | name = Main_iPad.storyboard; 304 | sourceTree = ""; 305 | }; 306 | EEEB8837182ACEA600B866AB /* InfoPlist.strings */ = { 307 | isa = PBXVariantGroup; 308 | children = ( 309 | EEEB8838182ACEA600B866AB /* en */, 310 | ); 311 | name = InfoPlist.strings; 312 | sourceTree = ""; 313 | }; 314 | /* End PBXVariantGroup section */ 315 | 316 | /* Begin XCBuildConfiguration section */ 317 | EEEB883C182ACEA600B866AB /* Debug */ = { 318 | isa = XCBuildConfiguration; 319 | buildSettings = { 320 | ALWAYS_SEARCH_USER_PATHS = NO; 321 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 322 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 323 | CLANG_CXX_LIBRARY = "libc++"; 324 | CLANG_ENABLE_MODULES = YES; 325 | CLANG_ENABLE_OBJC_ARC = YES; 326 | CLANG_WARN_BOOL_CONVERSION = YES; 327 | CLANG_WARN_CONSTANT_CONVERSION = YES; 328 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 329 | CLANG_WARN_EMPTY_BODY = YES; 330 | CLANG_WARN_ENUM_CONVERSION = YES; 331 | CLANG_WARN_INT_CONVERSION = YES; 332 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 333 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 334 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 335 | COPY_PHASE_STRIP = NO; 336 | GCC_C_LANGUAGE_STANDARD = gnu99; 337 | GCC_DYNAMIC_NO_PIC = NO; 338 | GCC_OPTIMIZATION_LEVEL = 0; 339 | GCC_PREPROCESSOR_DEFINITIONS = ( 340 | "DEBUG=1", 341 | "$(inherited)", 342 | ); 343 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 344 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 345 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 346 | GCC_WARN_UNDECLARED_SELECTOR = YES; 347 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 348 | GCC_WARN_UNUSED_FUNCTION = YES; 349 | GCC_WARN_UNUSED_VARIABLE = YES; 350 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 351 | ONLY_ACTIVE_ARCH = YES; 352 | SDKROOT = iphoneos; 353 | TARGETED_DEVICE_FAMILY = "1,2"; 354 | }; 355 | name = Debug; 356 | }; 357 | EEEB883D182ACEA600B866AB /* Release */ = { 358 | isa = XCBuildConfiguration; 359 | buildSettings = { 360 | ALWAYS_SEARCH_USER_PATHS = NO; 361 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 362 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 363 | CLANG_CXX_LIBRARY = "libc++"; 364 | CLANG_ENABLE_MODULES = YES; 365 | CLANG_ENABLE_OBJC_ARC = YES; 366 | CLANG_WARN_BOOL_CONVERSION = YES; 367 | CLANG_WARN_CONSTANT_CONVERSION = YES; 368 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 369 | CLANG_WARN_EMPTY_BODY = YES; 370 | CLANG_WARN_ENUM_CONVERSION = YES; 371 | CLANG_WARN_INT_CONVERSION = YES; 372 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 373 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 374 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 375 | COPY_PHASE_STRIP = YES; 376 | ENABLE_NS_ASSERTIONS = NO; 377 | GCC_C_LANGUAGE_STANDARD = gnu99; 378 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 379 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 380 | GCC_WARN_UNDECLARED_SELECTOR = YES; 381 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 382 | GCC_WARN_UNUSED_FUNCTION = YES; 383 | GCC_WARN_UNUSED_VARIABLE = YES; 384 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 385 | SDKROOT = iphoneos; 386 | TARGETED_DEVICE_FAMILY = "1,2"; 387 | VALIDATE_PRODUCT = YES; 388 | }; 389 | name = Release; 390 | }; 391 | EEEB883F182ACEA600B866AB /* Debug */ = { 392 | isa = XCBuildConfiguration; 393 | buildSettings = { 394 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 395 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 396 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 397 | GCC_PREFIX_HEADER = "BackgroundDemo/BackgroundDemo-Prefix.pch"; 398 | INFOPLIST_FILE = "BackgroundDemo/BackgroundDemo-Info.plist"; 399 | PRODUCT_NAME = "$(TARGET_NAME)"; 400 | WRAPPER_EXTENSION = app; 401 | }; 402 | name = Debug; 403 | }; 404 | EEEB8840182ACEA600B866AB /* Release */ = { 405 | isa = XCBuildConfiguration; 406 | buildSettings = { 407 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 408 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 409 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 410 | GCC_PREFIX_HEADER = "BackgroundDemo/BackgroundDemo-Prefix.pch"; 411 | INFOPLIST_FILE = "BackgroundDemo/BackgroundDemo-Info.plist"; 412 | PRODUCT_NAME = "$(TARGET_NAME)"; 413 | WRAPPER_EXTENSION = app; 414 | }; 415 | name = Release; 416 | }; 417 | EEEB8842182ACEA600B866AB /* Debug */ = { 418 | isa = XCBuildConfiguration; 419 | buildSettings = { 420 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 421 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BackgroundDemo.app/BackgroundDemo"; 422 | FRAMEWORK_SEARCH_PATHS = ( 423 | "$(SDKROOT)/Developer/Library/Frameworks", 424 | "$(inherited)", 425 | "$(DEVELOPER_FRAMEWORKS_DIR)", 426 | ); 427 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 428 | GCC_PREFIX_HEADER = "BackgroundDemo/BackgroundDemo-Prefix.pch"; 429 | GCC_PREPROCESSOR_DEFINITIONS = ( 430 | "DEBUG=1", 431 | "$(inherited)", 432 | ); 433 | INFOPLIST_FILE = "BackgroundDemoTests/BackgroundDemoTests-Info.plist"; 434 | PRODUCT_NAME = "$(TARGET_NAME)"; 435 | TEST_HOST = "$(BUNDLE_LOADER)"; 436 | WRAPPER_EXTENSION = xctest; 437 | }; 438 | name = Debug; 439 | }; 440 | EEEB8843182ACEA600B866AB /* Release */ = { 441 | isa = XCBuildConfiguration; 442 | buildSettings = { 443 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 444 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/BackgroundDemo.app/BackgroundDemo"; 445 | FRAMEWORK_SEARCH_PATHS = ( 446 | "$(SDKROOT)/Developer/Library/Frameworks", 447 | "$(inherited)", 448 | "$(DEVELOPER_FRAMEWORKS_DIR)", 449 | ); 450 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 451 | GCC_PREFIX_HEADER = "BackgroundDemo/BackgroundDemo-Prefix.pch"; 452 | INFOPLIST_FILE = "BackgroundDemoTests/BackgroundDemoTests-Info.plist"; 453 | PRODUCT_NAME = "$(TARGET_NAME)"; 454 | TEST_HOST = "$(BUNDLE_LOADER)"; 455 | WRAPPER_EXTENSION = xctest; 456 | }; 457 | name = Release; 458 | }; 459 | /* End XCBuildConfiguration section */ 460 | 461 | /* Begin XCConfigurationList section */ 462 | EEEB8804182ACEA600B866AB /* Build configuration list for PBXProject "BackgroundDemo" */ = { 463 | isa = XCConfigurationList; 464 | buildConfigurations = ( 465 | EEEB883C182ACEA600B866AB /* Debug */, 466 | EEEB883D182ACEA600B866AB /* Release */, 467 | ); 468 | defaultConfigurationIsVisible = 0; 469 | defaultConfigurationName = Release; 470 | }; 471 | EEEB883E182ACEA600B866AB /* Build configuration list for PBXNativeTarget "BackgroundDemo" */ = { 472 | isa = XCConfigurationList; 473 | buildConfigurations = ( 474 | EEEB883F182ACEA600B866AB /* Debug */, 475 | EEEB8840182ACEA600B866AB /* Release */, 476 | ); 477 | defaultConfigurationIsVisible = 0; 478 | }; 479 | EEEB8841182ACEA600B866AB /* Build configuration list for PBXNativeTarget "BackgroundDemoTests" */ = { 480 | isa = XCConfigurationList; 481 | buildConfigurations = ( 482 | EEEB8842182ACEA600B866AB /* Debug */, 483 | EEEB8843182ACEA600B866AB /* Release */, 484 | ); 485 | defaultConfigurationIsVisible = 0; 486 | }; 487 | /* End XCConfigurationList section */ 488 | }; 489 | rootObject = EEEB8801182ACEA600B866AB /* Project object */; 490 | } 491 | --------------------------------------------------------------------------------