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

/* Begin PBXBuildFile section */
		634855231C726A3B005FE016 /* UsergridSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 634855161C726A2D005FE016 /* UsergridSDK.framework */; };
		634855241C726A3B005FE016 /* UsergridSDK.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 634855161C726A2D005FE016 /* UsergridSDK.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		637A720E1C5BF8160056545A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637A72061C5BF8160056545A /* AppDelegate.swift */; };
		637A720F1C5BF8160056545A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 637A72071C5BF8160056545A /* Assets.xcassets */; };
		637A72101C5BF8160056545A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637A72081C5BF8160056545A /* LaunchScreen.storyboard */; };
		637A72111C5BF8160056545A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637A720A1C5BF8160056545A /* Main.storyboard */; };
		637A72131C5BF8160056545A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637A720D1C5BF8160056545A /* ViewController.swift */; };
		637A72161C5C06270056545A /* UsergridManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637A72151C5C06270056545A /* UsergridManager.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		634855151C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 63AF0E881BBC38FB009D4196;
			remoteInfo = "UsergridSDK iOS";
		};
		634855171C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 639B4BEB1C3DD6CF005E26E7;
			remoteInfo = "UsergridSDK watchOS";
		};
		634855191C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 63EE610B1C406E1600AFC2CF;
			remoteInfo = "UsergridSDK tvOS";
		};
		6348551B1C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 631920451C48436500F99E86;
			remoteInfo = "UsergridSDK OSX";
		};
		6348551D1C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 6319204B1C49BC0700F99E86;
			remoteInfo = UsergridSDK_TVOS_Tests;
		};
		6348551F1C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 630A219F1C49BFFC008BE87F;
			remoteInfo = UsergridSDK_OSX_Tests;
		};
		634855211C726A2D005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 630A21B81C49C473008BE87F;
			remoteInfo = UsergridSDK_iOS_Tests;
		};
		634855251C726A3B005FE016 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = 63AF0E871BBC38FB009D4196;
			remoteInfo = "UsergridSDK iOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		634855271C726A3B005FE016 /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				634855241C726A3B005FE016 /* UsergridSDK.framework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = UsergridSDK.xcodeproj; path = ../../UsergridSDK.xcodeproj; sourceTree = "<group>"; };
		637A71F01C5BF7B10056545A /* Push.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Push.app; sourceTree = BUILT_PRODUCTS_DIR; };
		637A72061C5BF8160056545A /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		637A72071C5BF8160056545A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		637A72091C5BF8160056545A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		637A720B1C5BF8160056545A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		637A720C1C5BF8160056545A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		637A720D1C5BF8160056545A /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
		637A72151C5C06270056545A /* UsergridManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridManager.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		637A71ED1C5BF7B10056545A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				634855231C726A3B005FE016 /* UsergridSDK.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		6348550C1C726A2D005FE016 /* Products */ = {
			isa = PBXGroup;
			children = (
				634855161C726A2D005FE016 /* UsergridSDK.framework */,
				634855181C726A2D005FE016 /* UsergridSDK.framework */,
				6348551A1C726A2D005FE016 /* UsergridSDK.framework */,
				6348551C1C726A2D005FE016 /* UsergridSDK.framework */,
				6348551E1C726A2D005FE016 /* UsergridSDK_TVOS_Tests.xctest */,
				634855201C726A2D005FE016 /* UsergridSDK_OSX_Tests.xctest */,
				634855221C726A2D005FE016 /* UsergridSDK_iOS_Tests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		637A71E71C5BF7B10056545A = {
			isa = PBXGroup;
			children = (
				6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */,
				637A72051C5BF8160056545A /* Source */,
				637A71F11C5BF7B10056545A /* Products */,
			);
			sourceTree = "<group>";
		};
		637A71F11C5BF7B10056545A /* Products */ = {
			isa = PBXGroup;
			children = (
				637A71F01C5BF7B10056545A /* Push.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		637A72051C5BF8160056545A /* Source */ = {
			isa = PBXGroup;
			children = (
				637A72061C5BF8160056545A /* AppDelegate.swift */,
				637A720D1C5BF8160056545A /* ViewController.swift */,
				637A72151C5C06270056545A /* UsergridManager.swift */,
				637A720A1C5BF8160056545A /* Main.storyboard */,
				637A72081C5BF8160056545A /* LaunchScreen.storyboard */,
				637A72141C5BF8220056545A /* Supporting Files */,
			);
			path = Source;
			sourceTree = "<group>";
		};
		637A72141C5BF8220056545A /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				637A72071C5BF8160056545A /* Assets.xcassets */,
				637A720C1C5BF8160056545A /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		637A71EF1C5BF7B10056545A /* Push */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 637A72021C5BF7B10056545A /* Build configuration list for PBXNativeTarget "Push" */;
			buildPhases = (
				637A71EC1C5BF7B10056545A /* Sources */,
				637A71ED1C5BF7B10056545A /* Frameworks */,
				637A71EE1C5BF7B10056545A /* Resources */,
				634855271C726A3B005FE016 /* Embed Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				634855261C726A3B005FE016 /* PBXTargetDependency */,
			);
			name = Push;
			productName = Push;
			productReference = 637A71F01C5BF7B10056545A /* Push.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		637A71E81C5BF7B10056545A /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0720;
				LastUpgradeCheck = 0720;
				ORGANIZATIONNAME = "Apigee Inc.";
				TargetAttributes = {
					637A71EF1C5BF7B10056545A = {
						CreatedOnToolsVersion = 7.2;
					};
				};
			};
			buildConfigurationList = 637A71EB1C5BF7B10056545A /* Build configuration list for PBXProject "Push" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 637A71E71C5BF7B10056545A;
			productRefGroup = 637A71F11C5BF7B10056545A /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 6348550C1C726A2D005FE016 /* Products */;
					ProjectRef = 6348550B1C726A2D005FE016 /* UsergridSDK.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				637A71EF1C5BF7B10056545A /* Push */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		634855161C726A2D005FE016 /* UsergridSDK.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = UsergridSDK.framework;
			remoteRef = 634855151C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		634855181C726A2D005FE016 /* UsergridSDK.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = UsergridSDK.framework;
			remoteRef = 634855171C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		6348551A1C726A2D005FE016 /* UsergridSDK.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = UsergridSDK.framework;
			remoteRef = 634855191C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		6348551C1C726A2D005FE016 /* UsergridSDK.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = UsergridSDK.framework;
			remoteRef = 6348551B1C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		6348551E1C726A2D005FE016 /* UsergridSDK_TVOS_Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = UsergridSDK_TVOS_Tests.xctest;
			remoteRef = 6348551D1C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		634855201C726A2D005FE016 /* UsergridSDK_OSX_Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = UsergridSDK_OSX_Tests.xctest;
			remoteRef = 6348551F1C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		634855221C726A2D005FE016 /* UsergridSDK_iOS_Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = UsergridSDK_iOS_Tests.xctest;
			remoteRef = 634855211C726A2D005FE016 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		637A71EE1C5BF7B10056545A /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				637A72111C5BF8160056545A /* Main.storyboard in Resources */,
				637A720F1C5BF8160056545A /* Assets.xcassets in Resources */,
				637A72101C5BF8160056545A /* LaunchScreen.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		637A71EC1C5BF7B10056545A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				637A72161C5C06270056545A /* UsergridManager.swift in Sources */,
				637A72131C5BF8160056545A /* ViewController.swift in Sources */,
				637A720E1C5BF8160056545A /* AppDelegate.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		634855261C726A3B005FE016 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "UsergridSDK iOS";
			targetProxy = 634855251C726A3B005FE016 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		637A72081C5BF8160056545A /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				637A72091C5BF8160056545A /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
		637A720A1C5BF8160056545A /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				637A720B1C5BF8160056545A /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		637A72001C5BF7B10056545A /* 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 = "iPhone Developer";
				"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.2;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		637A72011C5BF7B10056545A /* 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 = "iPhone Developer";
				"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.2;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		637A72031C5BF7B10056545A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
				INFOPLIST_FILE = Source/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.usergrid.usergridpushsample;
				PRODUCT_NAME = "$(TARGET_NAME)";
				PROVISIONING_PROFILE = "";
			};
			name = Debug;
		};
		637A72041C5BF7B10056545A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
				INFOPLIST_FILE = Source/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.usergrid.usergridpushsample;
				PRODUCT_NAME = "$(TARGET_NAME)";
				PROVISIONING_PROFILE = "";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		637A71EB1C5BF7B10056545A /* Build configuration list for PBXProject "Push" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				637A72001C5BF7B10056545A /* Debug */,
				637A72011C5BF7B10056545A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		637A72021C5BF7B10056545A /* Build configuration list for PBXNativeTarget "Push" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				637A72031C5BF7B10056545A /* Debug */,
				637A72041C5BF7B10056545A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 637A71E81C5BF7B10056545A /* Project object */;
}
