mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 13:23:12 +08:00 
			
		
		
		
	react-native-pushy适配harmony (#461)
* init * update * udpate * update * update * update * add pushy build time logic
This commit is contained in:
		
							
								
								
									
										11
									
								
								Example/harmony_use_pushy/ios/.xcode.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Example/harmony_use_pushy/ios/.xcode.env
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| # This `.xcode.env` file is versioned and is used to source the environment | ||||
| # used when running script phases inside Xcode. | ||||
| # To customize your local environment, you can create an `.xcode.env.local` | ||||
| # file that is not versioned. | ||||
|  | ||||
| # NODE_BINARY variable contains the PATH to the node executable. | ||||
| # | ||||
| # Customize the NODE_BINARY variable here. | ||||
| # For example, to use nvm with brew, add the following line | ||||
| # . "$(brew --prefix nvm)/nvm.sh" --no-use | ||||
| export NODE_BINARY=$(command -v node) | ||||
							
								
								
									
										62
									
								
								Example/harmony_use_pushy/ios/Podfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								Example/harmony_use_pushy/ios/Podfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| # Resolve react_native_pods.rb with node to allow for hoisting | ||||
| require Pod::Executable.execute_command('node', ['-p', | ||||
|   'require.resolve( | ||||
|     "react-native/scripts/react_native_pods.rb", | ||||
|     {paths: [process.argv[1]]}, | ||||
|   )', __dir__]).strip | ||||
|  | ||||
| platform :ios, min_ios_version_supported | ||||
| prepare_react_native_project! | ||||
|  | ||||
| # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. | ||||
| # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded | ||||
| # | ||||
| # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` | ||||
| # ```js | ||||
| # module.exports = { | ||||
| #   dependencies: { | ||||
| #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), | ||||
| # ``` | ||||
| flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled | ||||
|  | ||||
| linkage = ENV['USE_FRAMEWORKS'] | ||||
| if linkage != nil | ||||
|   Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green | ||||
|   use_frameworks! :linkage => linkage.to_sym | ||||
| end | ||||
|  | ||||
| target 'harmony_use_pushy' do | ||||
|   config = use_native_modules! | ||||
|  | ||||
|   # Flags change depending on the env values. | ||||
|   flags = get_default_flags() | ||||
|  | ||||
|   use_react_native!( | ||||
|     :path => config[:reactNativePath], | ||||
|     # Hermes is now enabled by default. Disable by setting this flag to false. | ||||
|     :hermes_enabled => flags[:hermes_enabled], | ||||
|     :fabric_enabled => flags[:fabric_enabled], | ||||
|     # Enables Flipper. | ||||
|     # | ||||
|     # Note that if you have use_frameworks! enabled, Flipper will not work and | ||||
|     # you should disable the next line. | ||||
|     :flipper_configuration => flipper_config, | ||||
|     # An absolute path to your application root. | ||||
|     :app_path => "#{Pod::Config.instance.installation_root}/.." | ||||
|   ) | ||||
|  | ||||
|   target 'harmony_use_pushyTests' do | ||||
|     inherit! :complete | ||||
|     # Pods for testing | ||||
|   end | ||||
|  | ||||
|   post_install do |installer| | ||||
|     # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 | ||||
|     react_native_post_install( | ||||
|       installer, | ||||
|       config[:reactNativePath], | ||||
|       :mac_catalyst_enabled => false | ||||
|     ) | ||||
|     __apply_Xcode_12_5_M1_post_install_workaround(installer) | ||||
|   end | ||||
| end | ||||
| @@ -0,0 +1,702 @@ | ||||
| // !$*UTF8*$! | ||||
| { | ||||
| 	archiveVersion = 1; | ||||
| 	classes = { | ||||
| 	}; | ||||
| 	objectVersion = 54; | ||||
| 	objects = { | ||||
|  | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		00E356F31AD99517003FC87E /* harmony_use_pushyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* harmony_use_pushyTests.m */; }; | ||||
| 		0C80B921A6F3F58F76C31292 /* libPods-harmony_use_pushy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-harmony_use_pushy.a */; }; | ||||
| 		13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; | ||||
| 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; | ||||
| 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; | ||||
| 		7699B88040F8A987B510C191 /* libPods-harmony_use_pushy-harmony_use_pushyTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-harmony_use_pushy-harmony_use_pushyTests.a */; }; | ||||
| 		81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; | ||||
| /* End PBXBuildFile section */ | ||||
|  | ||||
| /* Begin PBXContainerItemProxy section */ | ||||
| 		00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { | ||||
| 			isa = PBXContainerItemProxy; | ||||
| 			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| 			proxyType = 1; | ||||
| 			remoteGlobalIDString = 13B07F861A680F5B00A75B9A; | ||||
| 			remoteInfo = harmony_use_pushy; | ||||
| 		}; | ||||
| /* End PBXContainerItemProxy section */ | ||||
|  | ||||
| /* Begin PBXFileReference section */ | ||||
| 		00E356EE1AD99517003FC87E /* harmony_use_pushyTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = harmony_use_pushyTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||||
| 		00E356F21AD99517003FC87E /* harmony_use_pushyTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = harmony_use_pushyTests.m; sourceTree = "<group>"; }; | ||||
| 		13B07F961A680F5B00A75B9A /* harmony_use_pushy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = harmony_use_pushy.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = harmony_use_pushy/AppDelegate.h; sourceTree = "<group>"; }; | ||||
| 		13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = harmony_use_pushy/AppDelegate.mm; sourceTree = "<group>"; }; | ||||
| 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = harmony_use_pushy/Images.xcassets; sourceTree = "<group>"; }; | ||||
| 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = harmony_use_pushy/Info.plist; sourceTree = "<group>"; }; | ||||
| 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = harmony_use_pushy/main.m; sourceTree = "<group>"; }; | ||||
| 		19F6CBCC0A4E27FBF8BF4A61 /* libPods-harmony_use_pushy-harmony_use_pushyTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-harmony_use_pushy-harmony_use_pushyTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		3B4392A12AC88292D35C810B /* Pods-harmony_use_pushy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-harmony_use_pushy.debug.xcconfig"; path = "Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5709B34CF0A7D63546082F79 /* Pods-harmony_use_pushy.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-harmony_use_pushy.release.xcconfig"; path = "Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5B7EB9410499542E8C5724F5 /* Pods-harmony_use_pushy-harmony_use_pushyTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-harmony_use_pushy-harmony_use_pushyTests.debug.xcconfig"; path = "Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5DCACB8F33CDC322A6C60F78 /* libPods-harmony_use_pushy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-harmony_use_pushy.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = harmony_use_pushy/LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		89C6BE57DB24E9ADA2F236DE /* Pods-harmony_use_pushy-harmony_use_pushyTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-harmony_use_pushy-harmony_use_pushyTests.release.xcconfig"; path = "Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; | ||||
| /* End PBXFileReference section */ | ||||
|  | ||||
| /* Begin PBXFrameworksBuildPhase section */ | ||||
| 		00E356EB1AD99517003FC87E /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				7699B88040F8A987B510C191 /* libPods-harmony_use_pushy-harmony_use_pushyTests.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F8C1A680F5B00A75B9A /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				0C80B921A6F3F58F76C31292 /* libPods-harmony_use_pushy.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXGroup section */ | ||||
| 		00E356EF1AD99517003FC87E /* harmony_use_pushyTests */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				00E356F21AD99517003FC87E /* harmony_use_pushyTests.m */, | ||||
| 				00E356F01AD99517003FC87E /* Supporting Files */, | ||||
| 			); | ||||
| 			path = harmony_use_pushyTests; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		00E356F01AD99517003FC87E /* Supporting Files */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				00E356F11AD99517003FC87E /* Info.plist */, | ||||
| 			); | ||||
| 			name = "Supporting Files"; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		13B07FAE1A68108700A75B9A /* harmony_use_pushy */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAF1A68108700A75B9A /* AppDelegate.h */, | ||||
| 				13B07FB01A68108700A75B9A /* AppDelegate.mm */, | ||||
| 				13B07FB51A68108700A75B9A /* Images.xcassets */, | ||||
| 				13B07FB61A68108700A75B9A /* Info.plist */, | ||||
| 				81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, | ||||
| 				13B07FB71A68108700A75B9A /* main.m */, | ||||
| 			); | ||||
| 			name = harmony_use_pushy; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		2D16E6871FA4F8E400B85C8A /* Frameworks */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */, | ||||
| 				5DCACB8F33CDC322A6C60F78 /* libPods-harmony_use_pushy.a */, | ||||
| 				19F6CBCC0A4E27FBF8BF4A61 /* libPods-harmony_use_pushy-harmony_use_pushyTests.a */, | ||||
| 			); | ||||
| 			name = Frameworks; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		832341AE1AAA6A7D00B99B32 /* Libraries */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 			); | ||||
| 			name = Libraries; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		83CBB9F61A601CBA00E9B192 = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAE1A68108700A75B9A /* harmony_use_pushy */, | ||||
| 				832341AE1AAA6A7D00B99B32 /* Libraries */, | ||||
| 				00E356EF1AD99517003FC87E /* harmony_use_pushyTests */, | ||||
| 				83CBBA001A601CBA00E9B192 /* Products */, | ||||
| 				2D16E6871FA4F8E400B85C8A /* Frameworks */, | ||||
| 				BBD78D7AC51CEA395F1C20DB /* Pods */, | ||||
| 			); | ||||
| 			indentWidth = 2; | ||||
| 			sourceTree = "<group>"; | ||||
| 			tabWidth = 2; | ||||
| 			usesTabs = 0; | ||||
| 		}; | ||||
| 		83CBBA001A601CBA00E9B192 /* Products */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07F961A680F5B00A75B9A /* harmony_use_pushy.app */, | ||||
| 				00E356EE1AD99517003FC87E /* harmony_use_pushyTests.xctest */, | ||||
| 			); | ||||
| 			name = Products; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		BBD78D7AC51CEA395F1C20DB /* Pods */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				3B4392A12AC88292D35C810B /* Pods-harmony_use_pushy.debug.xcconfig */, | ||||
| 				5709B34CF0A7D63546082F79 /* Pods-harmony_use_pushy.release.xcconfig */, | ||||
| 				5B7EB9410499542E8C5724F5 /* Pods-harmony_use_pushy-harmony_use_pushyTests.debug.xcconfig */, | ||||
| 				89C6BE57DB24E9ADA2F236DE /* Pods-harmony_use_pushy-harmony_use_pushyTests.release.xcconfig */, | ||||
| 			); | ||||
| 			path = Pods; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| /* End PBXGroup section */ | ||||
|  | ||||
| /* Begin PBXNativeTarget section */ | ||||
| 		00E356ED1AD99517003FC87E /* harmony_use_pushyTests */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "harmony_use_pushyTests" */; | ||||
| 			buildPhases = ( | ||||
| 				A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, | ||||
| 				00E356EA1AD99517003FC87E /* Sources */, | ||||
| 				00E356EB1AD99517003FC87E /* Frameworks */, | ||||
| 				00E356EC1AD99517003FC87E /* Resources */, | ||||
| 				C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, | ||||
| 				F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 				00E356F51AD99517003FC87E /* PBXTargetDependency */, | ||||
| 			); | ||||
| 			name = harmony_use_pushyTests; | ||||
| 			productName = harmony_use_pushyTests; | ||||
| 			productReference = 00E356EE1AD99517003FC87E /* harmony_use_pushyTests.xctest */; | ||||
| 			productType = "com.apple.product-type.bundle.unit-test"; | ||||
| 		}; | ||||
| 		13B07F861A680F5B00A75B9A /* harmony_use_pushy */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "harmony_use_pushy" */; | ||||
| 			buildPhases = ( | ||||
| 				C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, | ||||
| 				FD10A7F022414F080027D42C /* Start Packager */, | ||||
| 				13B07F871A680F5B00A75B9A /* Sources */, | ||||
| 				13B07F8C1A680F5B00A75B9A /* Frameworks */, | ||||
| 				13B07F8E1A680F5B00A75B9A /* Resources */, | ||||
| 				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, | ||||
| 				00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, | ||||
| 				E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 			); | ||||
| 			name = harmony_use_pushy; | ||||
| 			productName = harmony_use_pushy; | ||||
| 			productReference = 13B07F961A680F5B00A75B9A /* harmony_use_pushy.app */; | ||||
| 			productType = "com.apple.product-type.application"; | ||||
| 		}; | ||||
| /* End PBXNativeTarget section */ | ||||
|  | ||||
| /* Begin PBXProject section */ | ||||
| 		83CBB9F71A601CBA00E9B192 /* Project object */ = { | ||||
| 			isa = PBXProject; | ||||
| 			attributes = { | ||||
| 				LastUpgradeCheck = 1210; | ||||
| 				TargetAttributes = { | ||||
| 					00E356ED1AD99517003FC87E = { | ||||
| 						CreatedOnToolsVersion = 6.2; | ||||
| 						TestTargetID = 13B07F861A680F5B00A75B9A; | ||||
| 					}; | ||||
| 					13B07F861A680F5B00A75B9A = { | ||||
| 						LastSwiftMigration = 1120; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "harmony_use_pushy" */; | ||||
| 			compatibilityVersion = "Xcode 12.0"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| 			knownRegions = ( | ||||
| 				en, | ||||
| 				Base, | ||||
| 			); | ||||
| 			mainGroup = 83CBB9F61A601CBA00E9B192; | ||||
| 			productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; | ||||
| 			projectDirPath = ""; | ||||
| 			projectRoot = ""; | ||||
| 			targets = ( | ||||
| 				13B07F861A680F5B00A75B9A /* harmony_use_pushy */, | ||||
| 				00E356ED1AD99517003FC87E /* harmony_use_pushyTests */, | ||||
| 			); | ||||
| 		}; | ||||
| /* End PBXProject section */ | ||||
|  | ||||
| /* Begin PBXResourcesBuildPhase section */ | ||||
| 		00E356EC1AD99517003FC87E /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F8E1A680F5B00A75B9A /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, | ||||
| 				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXResourcesBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXShellScriptBuildPhase section */ | ||||
| 		00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"$(SRCROOT)/.xcode.env.local", | ||||
| 				"$(SRCROOT)/.xcode.env", | ||||
| 			); | ||||
| 			name = "Bundle React Native code and images"; | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; | ||||
| 		}; | ||||
| 		00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||||
| 				"${PODS_ROOT}/Manifest.lock", | ||||
| 			); | ||||
| 			name = "[CP] Check Pods Manifest.lock"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-harmony_use_pushy-harmony_use_pushyTests-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 				"${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||||
| 				"${PODS_ROOT}/Manifest.lock", | ||||
| 			); | ||||
| 			name = "[CP] Check Pods Manifest.lock"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-harmony_use_pushy-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy/Pods-harmony_use_pushy-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-harmony_use_pushy-harmony_use_pushyTests/Pods-harmony_use_pushy-harmony_use_pushyTests-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		FD10A7F022414F080027D42C /* Start Packager */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Start Packager"; | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n    if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n      echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n      exit 2\n    fi\n  else\n    open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n  fi\nfi\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| /* End PBXShellScriptBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXSourcesBuildPhase section */ | ||||
| 		00E356EA1AD99517003FC87E /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				00E356F31AD99517003FC87E /* harmony_use_pushyTests.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| 		13B07F871A680F5B00A75B9A /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, | ||||
| 				13B07FC11A68108700A75B9A /* main.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXSourcesBuildPhase section */ | ||||
|  | ||||
| /* Begin PBXTargetDependency section */ | ||||
| 		00E356F51AD99517003FC87E /* PBXTargetDependency */ = { | ||||
| 			isa = PBXTargetDependency; | ||||
| 			target = 13B07F861A680F5B00A75B9A /* harmony_use_pushy */; | ||||
| 			targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; | ||||
| 		}; | ||||
| /* End PBXTargetDependency section */ | ||||
|  | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		00E356F61AD99517003FC87E /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-harmony_use_pushy-harmony_use_pushyTests.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				INFOPLIST_FILE = harmony_use_pushyTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 					"@loader_path/Frameworks", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/harmony_use_pushy.app/harmony_use_pushy"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		00E356F71AD99517003FC87E /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-harmony_use_pushy-harmony_use_pushyTests.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				INFOPLIST_FILE = harmony_use_pushyTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 					"@loader_path/Frameworks", | ||||
| 				); | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/harmony_use_pushy.app/harmony_use_pushy"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		13B07F941A680F5B00A75B9A /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-harmony_use_pushy.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				INFOPLIST_FILE = harmony_use_pushy/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = harmony_use_pushy; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		13B07F951A680F5B00A75B9A /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-harmony_use_pushy.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				INFOPLIST_FILE = harmony_use_pushy/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = harmony_use_pushy; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		83CBBA201A601CBA00E9B192 /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = YES; | ||||
| 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||||
| 				CLANG_WARN_BOOL_CONVERSION = YES; | ||||
| 				CLANG_WARN_COMMA = YES; | ||||
| 				CLANG_WARN_CONSTANT_CONVERSION = YES; | ||||
| 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||||
| 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||||
| 				CLANG_WARN_EMPTY_BODY = YES; | ||||
| 				CLANG_WARN_ENUM_CONVERSION = YES; | ||||
| 				CLANG_WARN_INFINITE_RECURSION = YES; | ||||
| 				CLANG_WARN_INT_CONVERSION = YES; | ||||
| 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||||
| 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||||
| 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				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; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					/usr/lib/swift, | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				LIBRARY_SEARCH_PATHS = ( | ||||
| 					"\"$(SDKROOT)/usr/lib/swift\"", | ||||
| 					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", | ||||
| 					"\"$(inherited)\"", | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = YES; | ||||
| 				ONLY_ACTIVE_ARCH = YES; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				SDKROOT = iphoneos; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		83CBBA211A601CBA00E9B192 /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "c++17"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = YES; | ||||
| 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||||
| 				CLANG_WARN_BOOL_CONVERSION = YES; | ||||
| 				CLANG_WARN_COMMA = YES; | ||||
| 				CLANG_WARN_CONSTANT_CONVERSION = YES; | ||||
| 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||||
| 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||||
| 				CLANG_WARN_EMPTY_BODY = YES; | ||||
| 				CLANG_WARN_ENUM_CONVERSION = YES; | ||||
| 				CLANG_WARN_INFINITE_RECURSION = YES; | ||||
| 				CLANG_WARN_INT_CONVERSION = YES; | ||||
| 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||||
| 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||||
| 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = YES; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				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 = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					/usr/lib/swift, | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				LIBRARY_SEARCH_PATHS = ( | ||||
| 					"\"$(SDKROOT)/usr/lib/swift\"", | ||||
| 					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", | ||||
| 					"\"$(inherited)\"", | ||||
| 				); | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				OTHER_CPLUSPLUSFLAGS = ( | ||||
| 					"$(OTHER_CFLAGS)", | ||||
| 					"-DFOLLY_NO_CONFIG", | ||||
| 					"-DFOLLY_MOBILE=1", | ||||
| 					"-DFOLLY_USE_LIBCPP=1", | ||||
| 				); | ||||
| 				SDKROOT = iphoneos; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| /* End XCBuildConfiguration section */ | ||||
|  | ||||
| /* Begin XCConfigurationList section */ | ||||
| 		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "harmony_use_pushyTests" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				00E356F61AD99517003FC87E /* Debug */, | ||||
| 				00E356F71AD99517003FC87E /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "harmony_use_pushy" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				13B07F941A680F5B00A75B9A /* Debug */, | ||||
| 				13B07F951A680F5B00A75B9A /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "harmony_use_pushy" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				83CBBA201A601CBA00E9B192 /* Debug */, | ||||
| 				83CBBA211A601CBA00E9B192 /* Release */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| /* End XCConfigurationList section */ | ||||
| 	}; | ||||
| 	rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| } | ||||
| @@ -0,0 +1,88 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Scheme | ||||
|    LastUpgradeVersion = "1210" | ||||
|    version = "1.3"> | ||||
|    <BuildAction | ||||
|       parallelizeBuildables = "YES" | ||||
|       buildImplicitDependencies = "YES"> | ||||
|       <BuildActionEntries> | ||||
|          <BuildActionEntry | ||||
|             buildForTesting = "YES" | ||||
|             buildForRunning = "YES" | ||||
|             buildForProfiling = "YES" | ||||
|             buildForArchiving = "YES" | ||||
|             buildForAnalyzing = "YES"> | ||||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|                BuildableName = "harmony_use_pushy.app" | ||||
|                BlueprintName = "harmony_use_pushy" | ||||
|                ReferencedContainer = "container:harmony_use_pushy.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </BuildActionEntry> | ||||
|       </BuildActionEntries> | ||||
|    </BuildAction> | ||||
|    <TestAction | ||||
|       buildConfiguration = "Debug" | ||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||||
|       shouldUseLaunchSchemeArgsEnv = "YES"> | ||||
|       <Testables> | ||||
|          <TestableReference | ||||
|             skipped = "NO"> | ||||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "00E356ED1AD99517003FC87E" | ||||
|                BuildableName = "harmony_use_pushyTests.xctest" | ||||
|                BlueprintName = "harmony_use_pushyTests" | ||||
|                ReferencedContainer = "container:harmony_use_pushy.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </TestableReference> | ||||
|       </Testables> | ||||
|    </TestAction> | ||||
|    <LaunchAction | ||||
|       buildConfiguration = "Debug" | ||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||||
|       launchStyle = "0" | ||||
|       useCustomWorkingDirectory = "NO" | ||||
|       ignoresPersistentStateOnLaunch = "NO" | ||||
|       debugDocumentVersioning = "YES" | ||||
|       debugServiceExtension = "internal" | ||||
|       allowLocationSimulation = "YES"> | ||||
|       <BuildableProductRunnable | ||||
|          runnableDebuggingMode = "0"> | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "harmony_use_pushy.app" | ||||
|             BlueprintName = "harmony_use_pushy" | ||||
|             ReferencedContainer = "container:harmony_use_pushy.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </LaunchAction> | ||||
|    <ProfileAction | ||||
|       buildConfiguration = "Release" | ||||
|       shouldUseLaunchSchemeArgsEnv = "YES" | ||||
|       savedToolIdentifier = "" | ||||
|       useCustomWorkingDirectory = "NO" | ||||
|       debugDocumentVersioning = "YES"> | ||||
|       <BuildableProductRunnable | ||||
|          runnableDebuggingMode = "0"> | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "harmony_use_pushy.app" | ||||
|             BlueprintName = "harmony_use_pushy" | ||||
|             ReferencedContainer = "container:harmony_use_pushy.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </ProfileAction> | ||||
|    <AnalyzeAction | ||||
|       buildConfiguration = "Debug"> | ||||
|    </AnalyzeAction> | ||||
|    <ArchiveAction | ||||
|       buildConfiguration = "Release" | ||||
|       revealArchiveInOrganizer = "YES"> | ||||
|    </ArchiveAction> | ||||
| </Scheme> | ||||
| @@ -0,0 +1,6 @@ | ||||
| #import <RCTAppDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| @interface AppDelegate : RCTAppDelegate | ||||
|  | ||||
| @end | ||||
| @@ -0,0 +1,26 @@ | ||||
| #import "AppDelegate.h" | ||||
|  | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
|  | ||||
| @implementation AppDelegate | ||||
|  | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   self.moduleName = @"harmony_use_pushy"; | ||||
|   // You can add your custom initial props in the dictionary below. | ||||
|   // They will be passed down to the ViewController used by React Native. | ||||
|   self.initialProps = @{}; | ||||
|  | ||||
|   return [super application:application didFinishLaunchingWithOptions:launchOptions]; | ||||
| } | ||||
|  | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| { | ||||
| #if DEBUG | ||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||||
| #else | ||||
|   return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| @end | ||||
| @@ -0,0 +1,53 @@ | ||||
| { | ||||
|   "images" : [ | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "ios-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     } | ||||
|   ], | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,6 @@ | ||||
| { | ||||
|   "info" : { | ||||
|     "version" : 1, | ||||
|     "author" : "xcode" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										55
									
								
								Example/harmony_use_pushy/ios/harmony_use_pushy/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								Example/harmony_use_pushy/ios/harmony_use_pushy/Info.plist
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>en</string> | ||||
| 	<key>CFBundleDisplayName</key> | ||||
| 	<string>harmony_use_pushy</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>$(EXECUTABLE_NAME)</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| 	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||||
| 	<key>CFBundleInfoDictionaryVersion</key> | ||||
| 	<string>6.0</string> | ||||
| 	<key>CFBundleName</key> | ||||
| 	<string>$(PRODUCT_NAME)</string> | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>$(MARKETING_VERSION)</string> | ||||
| 	<key>CFBundleSignature</key> | ||||
| 	<string>????</string> | ||||
| 	<key>CFBundleVersion</key> | ||||
| 	<string>$(CURRENT_PROJECT_VERSION)</string> | ||||
| 	<key>LSRequiresIPhoneOS</key> | ||||
| 	<true/> | ||||
| 	<key>NSAppTransportSecurity</key> | ||||
| 	<dict> | ||||
| 		<key>NSExceptionDomains</key> | ||||
| 		<dict> | ||||
| 			<key>localhost</key> | ||||
| 			<dict> | ||||
| 				<key>NSExceptionAllowsInsecureHTTPLoads</key> | ||||
| 				<true/> | ||||
| 			</dict> | ||||
| 		</dict> | ||||
| 	</dict> | ||||
| 	<key>NSLocationWhenInUseUsageDescription</key> | ||||
| 	<string></string> | ||||
| 	<key>UILaunchStoryboardName</key> | ||||
| 	<string>LaunchScreen</string> | ||||
| 	<key>UIRequiredDeviceCapabilities</key> | ||||
| 	<array> | ||||
| 		<string>armv7</string> | ||||
| 	</array> | ||||
| 	<key>UISupportedInterfaceOrientations</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeLeft</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeRight</string> | ||||
| 	</array> | ||||
| 	<key>UIViewControllerBasedStatusBarAppearance</key> | ||||
| 	<false/> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -0,0 +1,47 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||||
|     <device id="retina4_7" orientation="portrait" appearance="light"/> | ||||
|     <dependencies> | ||||
|         <deployment identifier="iOS"/> | ||||
|         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/> | ||||
|         <capability name="Safe area layout guides" minToolsVersion="9.0"/> | ||||
|         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | ||||
|     </dependencies> | ||||
|     <scenes> | ||||
|         <!--View Controller--> | ||||
|         <scene sceneID="EHf-IW-A2E"> | ||||
|             <objects> | ||||
|                 <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | ||||
|                     <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | ||||
|                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||||
|                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||||
|                         <subviews> | ||||
|                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="harmony_use_pushy" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> | ||||
|                                 <rect key="frame" x="0.0" y="202" width="375" height="43"/> | ||||
|                                 <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> | ||||
|                                 <nil key="highlightedColor"/> | ||||
|                             </label> | ||||
|                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu"> | ||||
|                                 <rect key="frame" x="0.0" y="626" width="375" height="21"/> | ||||
|                                 <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||||
|                                 <nil key="highlightedColor"/> | ||||
|                             </label> | ||||
|                         </subviews> | ||||
|                         <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> | ||||
|                         <constraints> | ||||
|                             <constraint firstItem="Bcu-3y-fUS" firstAttribute="bottom" secondItem="MN2-I3-ftu" secondAttribute="bottom" constant="20" id="OZV-Vh-mqD"/> | ||||
|                             <constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/> | ||||
|                             <constraint firstItem="MN2-I3-ftu" firstAttribute="centerX" secondItem="Bcu-3y-fUS" secondAttribute="centerX" id="akx-eg-2ui"/> | ||||
|                             <constraint firstItem="MN2-I3-ftu" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" id="i1E-0Y-4RG"/> | ||||
|                             <constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/> | ||||
|                             <constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="x7j-FC-K8j"/> | ||||
|                         </constraints> | ||||
|                         <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/> | ||||
|                     </view> | ||||
|                 </viewController> | ||||
|                 <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||||
|             </objects> | ||||
|             <point key="canvasLocation" x="52.173913043478265" y="375"/> | ||||
|         </scene> | ||||
|     </scenes> | ||||
| </document> | ||||
							
								
								
									
										10
									
								
								Example/harmony_use_pushy/ios/harmony_use_pushy/main.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Example/harmony_use_pushy/ios/harmony_use_pushy/main.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| #import "AppDelegate.h" | ||||
|  | ||||
| int main(int argc, char *argv[]) | ||||
| { | ||||
|   @autoreleasepool { | ||||
|     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,24 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>en</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>$(EXECUTABLE_NAME)</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| 	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||||
| 	<key>CFBundleInfoDictionaryVersion</key> | ||||
| 	<string>6.0</string> | ||||
| 	<key>CFBundleName</key> | ||||
| 	<string>$(PRODUCT_NAME)</string> | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>BNDL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>1.0</string> | ||||
| 	<key>CFBundleSignature</key> | ||||
| 	<string>????</string> | ||||
| 	<key>CFBundleVersion</key> | ||||
| 	<string>1</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -0,0 +1,66 @@ | ||||
| #import <UIKit/UIKit.h> | ||||
| #import <XCTest/XCTest.h> | ||||
|  | ||||
| #import <React/RCTLog.h> | ||||
| #import <React/RCTRootView.h> | ||||
|  | ||||
| #define TIMEOUT_SECONDS 600 | ||||
| #define TEXT_TO_LOOK_FOR @"Welcome to React" | ||||
|  | ||||
| @interface harmony_use_pushyTests : XCTestCase | ||||
|  | ||||
| @end | ||||
|  | ||||
| @implementation harmony_use_pushyTests | ||||
|  | ||||
| - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test | ||||
| { | ||||
|   if (test(view)) { | ||||
|     return YES; | ||||
|   } | ||||
|   for (UIView *subview in [view subviews]) { | ||||
|     if ([self findSubviewInView:subview matching:test]) { | ||||
|       return YES; | ||||
|     } | ||||
|   } | ||||
|   return NO; | ||||
| } | ||||
|  | ||||
| - (void)testRendersWelcomeScreen | ||||
| { | ||||
|   UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; | ||||
|   NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; | ||||
|   BOOL foundElement = NO; | ||||
|  | ||||
|   __block NSString *redboxError = nil; | ||||
| #ifdef DEBUG | ||||
|   RCTSetLogFunction( | ||||
|       ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { | ||||
|         if (level >= RCTLogLevelError) { | ||||
|           redboxError = message; | ||||
|         } | ||||
|       }); | ||||
| #endif | ||||
|  | ||||
|   while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { | ||||
|     [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; | ||||
|     [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; | ||||
|  | ||||
|     foundElement = [self findSubviewInView:vc.view | ||||
|                                   matching:^BOOL(UIView *view) { | ||||
|                                     if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { | ||||
|                                       return YES; | ||||
|                                     } | ||||
|                                     return NO; | ||||
|                                   }]; | ||||
|   } | ||||
|  | ||||
| #ifdef DEBUG | ||||
|   RCTSetLogFunction(RCTDefaultLogFunction); | ||||
| #endif | ||||
|  | ||||
|   XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); | ||||
|   XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); | ||||
| } | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 波仔糕
					波仔糕