// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 45;
	objects = {
/* Begin XCBuildConfiguration section */
		1D6058940D05DD3E006BFB54 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = (
					armv6,
					armv7,
				);
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "KitchenSinktablet-Prefix.pch";
				INFOPLIST_FILE = "KitchenSinktablet-Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
				ONLY_ACTIVE_ARCH = NO;
				PRODUCT_NAME = "KitchenSinktablet";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		1D6058950D05DD3E006BFB54 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				ARCHS = (
					armv6,
					armv7,
				);
				COPY_PHASE_STRIP = YES;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "KitchenSinktablet-Prefix.pch";
				INFOPLIST_FILE = "KitchenSinktablet-Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
				ONLY_ACTIVE_ARCH = NO;
				PRODUCT_NAME = "KitchenSinktablet";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 307D28A1123043350040C0FA /* PhoneGapBuildSettings.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_VERSION = com.apple.compilers.llvmgcc42;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
				OTHER_LDFLAGS = (
					"-weak_framework",
					UIKit,
					"-weak_framework",
					AVFoundation,
					"-weak_framework",
					CoreMedia,
					"-weak_library",
					/usr/lib/libSystem.B.dylib,
					"-all_load",
					"-Obj-C",
				);
				PREBINDING = NO;
				SDKROOT = iphoneos;
				SKIP_INSTALL = NO;
				USER_HEADER_SEARCH_PATHS = "\"$(PHONEGAPLIB)/Classes/JSON\" \"$(PHONEGAPLIB)/Classes\"";
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 307D28A1123043350040C0FA /* PhoneGapBuildSettings.xcconfig */;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_VERSION = com.apple.compilers.llvmgcc42;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
				OTHER_LDFLAGS = (
					"-weak_framework",
					UIKit,
					"-weak_framework",
					AVFoundation,
					"-weak_framework",
					CoreMedia,
					"-weak_library",
					/usr/lib/libSystem.B.dylib,
					"-all_load",
					"-Obj-C",
				);
				PREBINDING = NO;
				SDKROOT = iphoneos;
				SKIP_INSTALL = NO;
				USER_HEADER_SEARCH_PATHS = "\"$(PHONEGAPLIB)/Classes/JSON\" \"$(PHONEGAPLIB)/Classes\"";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */
	};
	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
