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

/* Begin PBXBuildFile section */
		7E70899E1B587F29004D23AA /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E70899D1B587F29004D23AA /* CoreFoundation.framework */; };
		7E7089A01B58801E004D23AA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E70899F1B58801E004D23AA /* Foundation.framework */; };
		7E8E3A861C45D4CE0017F6C1 /* ios_deploy_tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E8E3A851C45D4CE0017F6C1 /* ios_deploy_tests.m */; };
		7E8E3A921C45D5380017F6C1 /* libios_deploy.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8E3A911C45D5380017F6C1 /* libios_deploy.h */; settings = {ATTRIBUTES = (Public, ); }; };
		7E8E3A941C45D5380017F6C1 /* libios_deploy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E8E3A931C45D5380017F6C1 /* libios_deploy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
		7E8E3A9B1C45D5970017F6C1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E70899F1B58801E004D23AA /* Foundation.framework */; };
		7E8E3A9D1C45D6290017F6C1 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E70899D1B587F29004D23AA /* CoreFoundation.framework */; };
		7EDCC3CD1C45DC94002F9851 /* ios-deploy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E7089991B587DE4004D23AA /* ios-deploy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		7E8E3A991C45D5850017F6C1 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7089861B587BF3004D23AA /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 7E8E3A8E1C45D5380017F6C1;
			remoteInfo = "ios-deploy-lib";
		};
		7EDCC3CA1C45D933002F9851 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7089861B587BF3004D23AA /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 7E8E3A8E1C45D5380017F6C1;
			remoteInfo = "ios-deploy-lib";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		7E1C00CC1C3C93AF00D686B5 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
		7E1C00CF1C3C9ABB00D686B5 /* lldb.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; name = lldb.py; path = src/scripts/lldb.py; sourceTree = SOURCE_ROOT; };
		7E1C00D11C3C9CB000D686B5 /* lldb.py.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lldb.py.h; sourceTree = "<group>"; };
		7E70898E1B587BF3004D23AA /* ios-deploy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "ios-deploy"; sourceTree = BUILT_PRODUCTS_DIR; };
		7E7089991B587DE4004D23AA /* ios-deploy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ios-deploy.m"; sourceTree = "<group>"; };
		7E70899A1B587DE4004D23AA /* errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = errors.h; sourceTree = "<group>"; };
		7E70899B1B587DE4004D23AA /* MobileDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MobileDevice.h; sourceTree = "<group>"; };
		7E70899D1B587F29004D23AA /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
		7E70899F1B58801E004D23AA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		7E8E3A831C45D4CE0017F6C1 /* ios-deploy-tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ios-deploy-tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
		7E8E3A851C45D4CE0017F6C1 /* ios_deploy_tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ios_deploy_tests.m; sourceTree = "<group>"; };
		7E8E3A871C45D4CE0017F6C1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		7E8E3A8F1C45D5380017F6C1 /* libios-deploy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libios-deploy.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		7E8E3A911C45D5380017F6C1 /* libios_deploy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libios_deploy.h; sourceTree = "<group>"; };
		7E8E3A931C45D5380017F6C1 /* libios_deploy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = libios_deploy.m; sourceTree = "<group>"; };
		7EDCC3CE1C45DFF0002F9851 /* check_reqs.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = check_reqs.js; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		7E70898B1B587BF3004D23AA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7E7089A01B58801E004D23AA /* Foundation.framework in Frameworks */,
				7E70899E1B587F29004D23AA /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		7E8E3A801C45D4CE0017F6C1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		7E8E3A8C1C45D5380017F6C1 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7E8E3A9D1C45D6290017F6C1 /* CoreFoundation.framework in Frameworks */,
				7E8E3A9B1C45D5970017F6C1 /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		7E1C00CE1C3C9A7700D686B5 /* scripts */ = {
			isa = PBXGroup;
			children = (
				7EDCC3CE1C45DFF0002F9851 /* check_reqs.js */,
				7E1C00CF1C3C9ABB00D686B5 /* lldb.py */,
			);
			name = scripts;
			path = src/scripts;
			sourceTree = "<group>";
		};
		7E7089851B587BF3004D23AA = {
			isa = PBXGroup;
			children = (
				7E1C00CE1C3C9A7700D686B5 /* scripts */,
				7E7089901B587BF3004D23AA /* ios-deploy */,
				7E8E3A841C45D4CE0017F6C1 /* ios-deploy-tests */,
				7E8E3A901C45D5380017F6C1 /* ios-deploy-lib */,
				7E7089A21B588219004D23AA /* Frameworks */,
				7E70898F1B587BF3004D23AA /* Products */,
			);
			sourceTree = "<group>";
		};
		7E70898F1B587BF3004D23AA /* Products */ = {
			isa = PBXGroup;
			children = (
				7E70898E1B587BF3004D23AA /* ios-deploy */,
				7E8E3A831C45D4CE0017F6C1 /* ios-deploy-tests.xctest */,
				7E8E3A8F1C45D5380017F6C1 /* libios-deploy.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		7E7089901B587BF3004D23AA /* ios-deploy */ = {
			isa = PBXGroup;
			children = (
				7E1C00D11C3C9CB000D686B5 /* lldb.py.h */,
				7E1C00CC1C3C93AF00D686B5 /* version.h */,
				7E7089991B587DE4004D23AA /* ios-deploy.m */,
				7E70899A1B587DE4004D23AA /* errors.h */,
				7E70899B1B587DE4004D23AA /* MobileDevice.h */,
			);
			name = "ios-deploy";
			path = "src/ios-deploy";
			sourceTree = "<group>";
		};
		7E7089A21B588219004D23AA /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				7E70899F1B58801E004D23AA /* Foundation.framework */,
				7E70899D1B587F29004D23AA /* CoreFoundation.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		7E8E3A841C45D4CE0017F6C1 /* ios-deploy-tests */ = {
			isa = PBXGroup;
			children = (
				7E8E3A851C45D4CE0017F6C1 /* ios_deploy_tests.m */,
				7E8E3A871C45D4CE0017F6C1 /* Info.plist */,
			);
			name = "ios-deploy-tests";
			path = "src/ios-deploy-tests";
			sourceTree = "<group>";
		};
		7E8E3A901C45D5380017F6C1 /* ios-deploy-lib */ = {
			isa = PBXGroup;
			children = (
				7E8E3A911C45D5380017F6C1 /* libios_deploy.h */,
				7E8E3A931C45D5380017F6C1 /* libios_deploy.m */,
			);
			name = "ios-deploy-lib";
			path = "src/ios-deploy-lib";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		7E8E3A8D1C45D5380017F6C1 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7E8E3A921C45D5380017F6C1 /* libios_deploy.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		7E70898D1B587BF3004D23AA /* ios-deploy */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 7E7089951B587BF3004D23AA /* Build configuration list for PBXNativeTarget "ios-deploy" */;
			buildPhases = (
				7EDCC3CF1C45E03B002F9851 /* ShellScript */,
				7E70898B1B587BF3004D23AA /* Frameworks */,
				7EDCC3CC1C45DC89002F9851 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				7E8E3A9A1C45D5850017F6C1 /* PBXTargetDependency */,
			);
			name = "ios-deploy";
			productName = "ios-deploy";
			productReference = 7E70898E1B587BF3004D23AA /* ios-deploy */;
			productType = "com.apple.product-type.tool";
		};
		7E8E3A821C45D4CE0017F6C1 /* ios-deploy-tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 7E8E3A8A1C45D4CE0017F6C1 /* Build configuration list for PBXNativeTarget "ios-deploy-tests" */;
			buildPhases = (
				7E8E3A7F1C45D4CE0017F6C1 /* Sources */,
				7E8E3A801C45D4CE0017F6C1 /* Frameworks */,
				7E8E3A811C45D4CE0017F6C1 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				7EDCC3CB1C45D933002F9851 /* PBXTargetDependency */,
			);
			name = "ios-deploy-tests";
			productName = "ios-deploy-tests";
			productReference = 7E8E3A831C45D4CE0017F6C1 /* ios-deploy-tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E8E3A8E1C45D5380017F6C1 /* ios-deploy-lib */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 7E8E3A951C45D5380017F6C1 /* Build configuration list for PBXNativeTarget "ios-deploy-lib" */;
			buildPhases = (
				7E8E3A8B1C45D5380017F6C1 /* Sources */,
				7E8E3A8C1C45D5380017F6C1 /* Frameworks */,
				7E8E3A8D1C45D5380017F6C1 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "ios-deploy-lib";
			productName = "ios-deploy-lib";
			productReference = 7E8E3A8F1C45D5380017F6C1 /* libios-deploy.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		7E7089861B587BF3004D23AA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0710;
				ORGANIZATIONNAME = PhoneGap;
				TargetAttributes = {
					7E70898D1B587BF3004D23AA = {
						CreatedOnToolsVersion = 6.4;
					};
					7E8E3A821C45D4CE0017F6C1 = {
						CreatedOnToolsVersion = 7.2;
					};
					7E8E3A8E1C45D5380017F6C1 = {
						CreatedOnToolsVersion = 7.2;
					};
				};
			};
			buildConfigurationList = 7E7089891B587BF3004D23AA /* Build configuration list for PBXProject "ios-deploy" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 7E7089851B587BF3004D23AA;
			productRefGroup = 7E70898F1B587BF3004D23AA /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				7E70898D1B587BF3004D23AA /* ios-deploy */,
				7E8E3A821C45D4CE0017F6C1 /* ios-deploy-tests */,
				7E8E3A8E1C45D5380017F6C1 /* ios-deploy-lib */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		7E8E3A811C45D4CE0017F6C1 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		7EDCC3CF1C45E03B002F9851 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "echo \"\\\"# AUTO-GENERATED - DO NOT MODIFY\\n\\\"\" > src/ios-deploy/lldb.py.h\nawk '{ print \"\\\"\"$0\"\\\\n\\\"\"}' src/scripts/lldb.py >> src/ios-deploy/lldb.py.h";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		7E8E3A7F1C45D4CE0017F6C1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7E8E3A861C45D4CE0017F6C1 /* ios_deploy_tests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		7E8E3A8B1C45D5380017F6C1 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7E8E3A941C45D5380017F6C1 /* libios_deploy.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		7EDCC3CC1C45DC89002F9851 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7EDCC3CD1C45DC94002F9851 /* ios-deploy.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		7E8E3A9A1C45D5850017F6C1 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 7E8E3A8E1C45D5380017F6C1 /* ios-deploy-lib */;
			targetProxy = 7E8E3A991C45D5850017F6C1 /* PBXContainerItemProxy */;
		};
		7EDCC3CB1C45D933002F9851 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 7E8E3A8E1C45D5380017F6C1 /* ios-deploy-lib */;
			targetProxy = 7EDCC3CA1C45D933002F9851 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		7E7089931B587BF3004D23AA /* 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;
				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_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.8;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = (
					"-framework",
					MobileDevice,
					"-F/System/Library/PrivateFrameworks",
				);
				SDKROOT = macosx;
			};
			name = Debug;
		};
		7E7089941B587BF3004D23AA /* 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;
				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;
				MACOSX_DEPLOYMENT_TARGET = 10.8;
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_LDFLAGS = (
					"-framework",
					MobileDevice,
					"-F/System/Library/PrivateFrameworks",
				);
				SDKROOT = macosx;
			};
			name = Release;
		};
		7E7089961B587BF3004D23AA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		7E7089971B587BF3004D23AA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		7E8E3A881C45D4CE0017F6C1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				INFOPLIST_FILE = "src/ios-deploy-tests/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = "com.phonegap.ios-deploy-tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		7E8E3A891C45D4CE0017F6C1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				INFOPLIST_FILE = "src/ios-deploy-tests/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = "com.phonegap.ios-deploy-tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		7E8E3A961C45D5380017F6C1 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				EXECUTABLE_PREFIX = lib;
				INSTALL_PATH = "";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				OTHER_LDFLAGS = (
					"-framework",
					MobileDevice,
					"-F/System/Library/PrivateFrameworks",
				);
				PRODUCT_NAME = "ios-deploy";
				PUBLIC_HEADERS_FOLDER_PATH = "";
			};
			name = Debug;
		};
		7E8E3A971C45D5380017F6C1 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				EXECUTABLE_PREFIX = lib;
				INSTALL_PATH = "";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				OTHER_LDFLAGS = (
					"-framework",
					MobileDevice,
					"-F/System/Library/PrivateFrameworks",
				);
				PRODUCT_NAME = "ios-deploy";
				PUBLIC_HEADERS_FOLDER_PATH = "";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		7E7089891B587BF3004D23AA /* Build configuration list for PBXProject "ios-deploy" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				7E7089931B587BF3004D23AA /* Debug */,
				7E7089941B587BF3004D23AA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		7E7089951B587BF3004D23AA /* Build configuration list for PBXNativeTarget "ios-deploy" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				7E7089961B587BF3004D23AA /* Debug */,
				7E7089971B587BF3004D23AA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		7E8E3A8A1C45D4CE0017F6C1 /* Build configuration list for PBXNativeTarget "ios-deploy-tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				7E8E3A881C45D4CE0017F6C1 /* Debug */,
				7E8E3A891C45D4CE0017F6C1 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		7E8E3A951C45D5380017F6C1 /* Build configuration list for PBXNativeTarget "ios-deploy-lib" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				7E8E3A961C45D5380017F6C1 /* Debug */,
				7E8E3A971C45D5380017F6C1 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 7E7089861B587BF3004D23AA /* Project object */;
}
