// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		03456F481BBA6D51001C86A3 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 03456F471BBA6D51001C86A3 /* main.m */; };
		03456F4B1BBA6D51001C86A3 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 03456F4A1BBA6D51001C86A3 /* AppDelegate.m */; };
		03456F4E1BBA6D51001C86A3 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 03456F4D1BBA6D51001C86A3 /* MasterViewController.m */; };
		03456F511BBA6D51001C86A3 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 03456F501BBA6D51001C86A3 /* DetailViewController.m */; };
		03456F541BBA6D51001C86A3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 03456F521BBA6D51001C86A3 /* Main.storyboard */; };
		03456F561BBA6D51001C86A3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 03456F551BBA6D51001C86A3 /* Assets.xcassets */; };
		03456F591BBA6D51001C86A3 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 03456F571BBA6D51001C86A3 /* LaunchScreen.storyboard */; };
		03456F641BBA6D51001C86A3 /* iOS9ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 03456F631BBA6D51001C86A3 /* iOS9ExampleTests.m */; };
		03456F6F1BBA7082001C86A3 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 03456F6E1BBA7082001C86A3 /* libOCMock.a */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		03456F601BBA6D51001C86A3 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 03456F3B1BBA6D51001C86A3 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 03456F421BBA6D51001C86A3;
			remoteInfo = iOS9Example;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		03456F431BBA6D51001C86A3 /* iOS9Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOS9Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
		03456F471BBA6D51001C86A3 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		03456F491BBA6D51001C86A3 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
		03456F4A1BBA6D51001C86A3 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
		03456F4C1BBA6D51001C86A3 /* MasterViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MasterViewController.h; sourceTree = "<group>"; };
		03456F4D1BBA6D51001C86A3 /* MasterViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MasterViewController.m; sourceTree = "<group>"; };
		03456F4F1BBA6D51001C86A3 /* DetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = "<group>"; };
		03456F501BBA6D51001C86A3 /* DetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = "<group>"; };
		03456F531BBA6D51001C86A3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		03456F551BBA6D51001C86A3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		03456F581BBA6D51001C86A3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		03456F5A1BBA6D51001C86A3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		03456F5F1BBA6D51001C86A3 /* iOS9ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iOS9ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		03456F631BBA6D51001C86A3 /* iOS9ExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iOS9ExampleTests.m; sourceTree = "<group>"; };
		03456F651BBA6D51001C86A3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		03456F6E1BBA7082001C86A3 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libOCMock.a; path = usr/lib/libOCMock.a; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		03456F401BBA6D51001C86A3 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		03456F5C1BBA6D51001C86A3 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				03456F6F1BBA7082001C86A3 /* libOCMock.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		03456F3A1BBA6D51001C86A3 = {
			isa = PBXGroup;
			children = (
				03456F6E1BBA7082001C86A3 /* libOCMock.a */,
				03456F451BBA6D51001C86A3 /* iOS9Example */,
				03456F621BBA6D51001C86A3 /* iOS9ExampleTests */,
				03456F441BBA6D51001C86A3 /* Products */,
			);
			sourceTree = "<group>";
		};
		03456F441BBA6D51001C86A3 /* Products */ = {
			isa = PBXGroup;
			children = (
				03456F431BBA6D51001C86A3 /* iOS9Example.app */,
				03456F5F1BBA6D51001C86A3 /* iOS9ExampleTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		03456F451BBA6D51001C86A3 /* iOS9Example */ = {
			isa = PBXGroup;
			children = (
				03456F491BBA6D51001C86A3 /* AppDelegate.h */,
				03456F4A1BBA6D51001C86A3 /* AppDelegate.m */,
				03456F4C1BBA6D51001C86A3 /* MasterViewController.h */,
				03456F4D1BBA6D51001C86A3 /* MasterViewController.m */,
				03456F4F1BBA6D51001C86A3 /* DetailViewController.h */,
				03456F501BBA6D51001C86A3 /* DetailViewController.m */,
				03456F521BBA6D51001C86A3 /* Main.storyboard */,
				03456F551BBA6D51001C86A3 /* Assets.xcassets */,
				03456F571BBA6D51001C86A3 /* LaunchScreen.storyboard */,
				03456F5A1BBA6D51001C86A3 /* Info.plist */,
				03456F461BBA6D51001C86A3 /* Supporting Files */,
			);
			path = iOS9Example;
			sourceTree = "<group>";
		};
		03456F461BBA6D51001C86A3 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				03456F471BBA6D51001C86A3 /* main.m */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		03456F621BBA6D51001C86A3 /* iOS9ExampleTests */ = {
			isa = PBXGroup;
			children = (
				03456F631BBA6D51001C86A3 /* iOS9ExampleTests.m */,
				03456F651BBA6D51001C86A3 /* Info.plist */,
			);
			path = iOS9ExampleTests;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		03456F421BBA6D51001C86A3 /* iOS9Example */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 03456F681BBA6D51001C86A3 /* Build configuration list for PBXNativeTarget "iOS9Example" */;
			buildPhases = (
				03456F3F1BBA6D51001C86A3 /* Sources */,
				03456F401BBA6D51001C86A3 /* Frameworks */,
				03456F411BBA6D51001C86A3 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = iOS9Example;
			productName = iOS9Example;
			productReference = 03456F431BBA6D51001C86A3 /* iOS9Example.app */;
			productType = "com.apple.product-type.application";
		};
		03456F5E1BBA6D51001C86A3 /* iOS9ExampleTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 03456F6B1BBA6D51001C86A3 /* Build configuration list for PBXNativeTarget "iOS9ExampleTests" */;
			buildPhases = (
				03456F5B1BBA6D51001C86A3 /* Sources */,
				03456F5C1BBA6D51001C86A3 /* Frameworks */,
				03456F5D1BBA6D51001C86A3 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				03456F611BBA6D51001C86A3 /* PBXTargetDependency */,
			);
			name = iOS9ExampleTests;
			productName = iOS9ExampleTests;
			productReference = 03456F5F1BBA6D51001C86A3 /* iOS9ExampleTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		03456F3B1BBA6D51001C86A3 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0700;
				ORGANIZATIONNAME = "Mulle Kybernetik";
				TargetAttributes = {
					03456F421BBA6D51001C86A3 = {
						CreatedOnToolsVersion = 7.0.1;
					};
					03456F5E1BBA6D51001C86A3 = {
						CreatedOnToolsVersion = 7.0.1;
						TestTargetID = 03456F421BBA6D51001C86A3;
					};
				};
			};
			buildConfigurationList = 03456F3E1BBA6D51001C86A3 /* Build configuration list for PBXProject "iOS9Example" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 03456F3A1BBA6D51001C86A3;
			productRefGroup = 03456F441BBA6D51001C86A3 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				03456F421BBA6D51001C86A3 /* iOS9Example */,
				03456F5E1BBA6D51001C86A3 /* iOS9ExampleTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		03456F411BBA6D51001C86A3 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				03456F591BBA6D51001C86A3 /* LaunchScreen.storyboard in Resources */,
				03456F561BBA6D51001C86A3 /* Assets.xcassets in Resources */,
				03456F541BBA6D51001C86A3 /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		03456F5D1BBA6D51001C86A3 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		03456F3F1BBA6D51001C86A3 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				03456F4B1BBA6D51001C86A3 /* AppDelegate.m in Sources */,
				03456F4E1BBA6D51001C86A3 /* MasterViewController.m in Sources */,
				03456F481BBA6D51001C86A3 /* main.m in Sources */,
				03456F511BBA6D51001C86A3 /* DetailViewController.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		03456F5B1BBA6D51001C86A3 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				03456F641BBA6D51001C86A3 /* iOS9ExampleTests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		03456F611BBA6D51001C86A3 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 03456F421BBA6D51001C86A3 /* iOS9Example */;
			targetProxy = 03456F601BBA6D51001C86A3 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		03456F521BBA6D51001C86A3 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				03456F531BBA6D51001C86A3 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		03456F571BBA6D51001C86A3 /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				03456F581BBA6D51001C86A3 /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		03456F661BBA6D51001C86A3 /* 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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		03456F671BBA6D51001C86A3 /* 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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				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 = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		03456F691BBA6D51001C86A3 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = iOS9Example/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.iOS9Example";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		03456F6A1BBA6D51001C86A3 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = iOS9Example/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.iOS9Example";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		03456F6C1BBA6D51001C86A3 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/usr/include";
				INFOPLIST_FILE = iOS9ExampleTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/usr/lib",
				);
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.iOS9ExampleTests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS9Example.app/iOS9Example";
				USER_HEADER_SEARCH_PATHS = "";
			};
			name = Debug;
		};
		03456F6D1BBA6D51001C86A3 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/usr/include";
				INFOPLIST_FILE = iOS9ExampleTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/usr/lib",
				);
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_BUNDLE_IDENTIFIER = "com.mulle-kybernetik.iOS9ExampleTests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/iOS9Example.app/iOS9Example";
				USER_HEADER_SEARCH_PATHS = "";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		03456F3E1BBA6D51001C86A3 /* Build configuration list for PBXProject "iOS9Example" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				03456F661BBA6D51001C86A3 /* Debug */,
				03456F671BBA6D51001C86A3 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		03456F681BBA6D51001C86A3 /* Build configuration list for PBXNativeTarget "iOS9Example" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				03456F691BBA6D51001C86A3 /* Debug */,
				03456F6A1BBA6D51001C86A3 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		03456F6B1BBA6D51001C86A3 /* Build configuration list for PBXNativeTarget "iOS9ExampleTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				03456F6C1BBA6D51001C86A3 /* Debug */,
				03456F6D1BBA6D51001C86A3 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 03456F3B1BBA6D51001C86A3 /* Project object */;
}
