From 357d3bf18be537df5f0306ee696bc306c1aba21e Mon Sep 17 00:00:00 2001 From: ZauberNerd Date: Tue, 21 Feb 2017 00:49:31 +0100 Subject: [PATCH] getBuildProperty: get from default or specific build of first target Before this change the `getBuildProperty` method would iterate over all targets and their build configurations without an early exit when the property was found - that sometimes lead to having the value of a build property from a later project. After this change the `getBuildProperty` method will search through all buildConfigurations (or a single one, if specified) of the first project target and return as soon as the requested property has been found. This PR can also be used as basis for follow-up PRs, for example: The `productName` getter can use this internally to get the `PRODUCT_NAME` of the correct target. (which in turn would fix: #91 / #99) This PR would probably make [this workaround in react-native](https://github.com/facebook/react-native/blob/0af640b/local-cli/link/ios/getBuildProperty.js#L4) obsolete. --- lib/pbxProject.js | 25 ++++++++++++------------ test/fixtures/ReactNativeHelloWorld.json | 1 + test/group.js | 22 ++++++++++++++++++--- 3 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 test/fixtures/ReactNativeHelloWorld.json diff --git a/lib/pbxProject.js b/lib/pbxProject.js index 18033bb..fc1bc98 100644 --- a/lib/pbxProject.js +++ b/lib/pbxProject.js @@ -1948,22 +1948,21 @@ pbxProject.prototype.removeFile = function (path, group, opt) { } - pbxProject.prototype.getBuildProperty = function(prop, build) { - var target; - var configs = this.pbxXCBuildConfigurationSection(); - for (var configName in configs) { - if (!COMMENT_KEY.test(configName)) { - var config = configs[configName]; - if ( (build && config.name === build) || (build === undefined) ) { - if (config.buildSettings[prop] !== undefined) { - target = config.buildSettings[prop]; - } - } + var target = this.getFirstTarget().firstTarget; + var configs = this.pbxXCConfigurationList()[target.buildConfigurationList]; + var buildConfigName = build || configs.defaultConfigurationName; + + for (var i = 0; i < configs.buildConfigurations.length; i += 1) { + var config = configs.buildConfigurations[i]; + var section = this.pbxXCBuildConfigurationSection()[config.value]; + if (section.name === buildConfigName) { + return section.buildSettings[prop]; } } - return target; -} + + return undefined; +}; pbxProject.prototype.getBuildConfigByName = function(name) { var target = {}; diff --git a/test/fixtures/ReactNativeHelloWorld.json b/test/fixtures/ReactNativeHelloWorld.json new file mode 100644 index 0000000..9c6bba0 --- /dev/null +++ b/test/fixtures/ReactNativeHelloWorld.json @@ -0,0 +1 @@ +{"project":{"archiveVersion":1,"classes":{},"objectVersion":46,"objects":{"PBXBuildFile":{"00C302E51ABCBA2D00DB3ED1":{"isa":"PBXBuildFile","fileRef":"00C302AC1ABCB8CE00DB3ED1","fileRef_comment":"libRCTActionSheet.a"},"00C302E51ABCBA2D00DB3ED1_comment":"libRCTActionSheet.a in Frameworks","00C302E71ABCBA2D00DB3ED1":{"isa":"PBXBuildFile","fileRef":"00C302BA1ABCB90400DB3ED1","fileRef_comment":"libRCTGeolocation.a"},"00C302E71ABCBA2D00DB3ED1_comment":"libRCTGeolocation.a in Frameworks","00C302E81ABCBA2D00DB3ED1":{"isa":"PBXBuildFile","fileRef":"00C302C01ABCB91800DB3ED1","fileRef_comment":"libRCTImage.a"},"00C302E81ABCBA2D00DB3ED1_comment":"libRCTImage.a in Frameworks","00C302E91ABCBA2D00DB3ED1":{"isa":"PBXBuildFile","fileRef":"00C302DC1ABCB9D200DB3ED1","fileRef_comment":"libRCTNetwork.a"},"00C302E91ABCBA2D00DB3ED1_comment":"libRCTNetwork.a in Frameworks","00C302EA1ABCBA2D00DB3ED1":{"isa":"PBXBuildFile","fileRef":"00C302E41ABCB9EE00DB3ED1","fileRef_comment":"libRCTVibration.a"},"00C302EA1ABCBA2D00DB3ED1_comment":"libRCTVibration.a in Frameworks","00E356F31AD99517003FC87E":{"isa":"PBXBuildFile","fileRef":"00E356F21AD99517003FC87E","fileRef_comment":"HelloWorldTests.m"},"00E356F31AD99517003FC87E_comment":"HelloWorldTests.m in Sources","133E29F31AD74F7200F7D852":{"isa":"PBXBuildFile","fileRef":"78C398B91ACF4ADC00677621","fileRef_comment":"libRCTLinking.a"},"133E29F31AD74F7200F7D852_comment":"libRCTLinking.a in Frameworks","139105C61AF99C1200B5F7CC":{"isa":"PBXBuildFile","fileRef":"139105C11AF99BAD00B5F7CC","fileRef_comment":"libRCTSettings.a"},"139105C61AF99C1200B5F7CC_comment":"libRCTSettings.a in Frameworks","139FDEF61B0652A700C62182":{"isa":"PBXBuildFile","fileRef":"139FDEF41B06529B00C62182","fileRef_comment":"libRCTWebSocket.a"},"139FDEF61B0652A700C62182_comment":"libRCTWebSocket.a in Frameworks","13B07FBC1A68108700A75B9A":{"isa":"PBXBuildFile","fileRef":"13B07FB01A68108700A75B9A","fileRef_comment":"AppDelegate.m"},"13B07FBC1A68108700A75B9A_comment":"AppDelegate.m in Sources","13B07FBD1A68108700A75B9A":{"isa":"PBXBuildFile","fileRef":"13B07FB11A68108700A75B9A","fileRef_comment":"LaunchScreen.xib"},"13B07FBD1A68108700A75B9A_comment":"LaunchScreen.xib in Resources","13B07FBF1A68108700A75B9A":{"isa":"PBXBuildFile","fileRef":"13B07FB51A68108700A75B9A","fileRef_comment":"Images.xcassets"},"13B07FBF1A68108700A75B9A_comment":"Images.xcassets in Resources","13B07FC11A68108700A75B9A":{"isa":"PBXBuildFile","fileRef":"13B07FB71A68108700A75B9A","fileRef_comment":"main.m"},"13B07FC11A68108700A75B9A_comment":"main.m in Sources","140ED2AC1D01E1AD002B40FF":{"isa":"PBXBuildFile","fileRef":"146834041AC3E56700842450","fileRef_comment":"libReact.a"},"140ED2AC1D01E1AD002B40FF_comment":"libReact.a in Frameworks","146834051AC3E58100842450":{"isa":"PBXBuildFile","fileRef":"146834041AC3E56700842450","fileRef_comment":"libReact.a"},"146834051AC3E58100842450_comment":"libReact.a in Frameworks","2D02E4BC1E0B4A80006451C7":{"isa":"PBXBuildFile","fileRef":"13B07FB01A68108700A75B9A","fileRef_comment":"AppDelegate.m"},"2D02E4BC1E0B4A80006451C7_comment":"AppDelegate.m in Sources","2D02E4BD1E0B4A84006451C7":{"isa":"PBXBuildFile","fileRef":"13B07FB51A68108700A75B9A","fileRef_comment":"Images.xcassets"},"2D02E4BD1E0B4A84006451C7_comment":"Images.xcassets in Resources","2D02E4BF1E0B4AB3006451C7":{"isa":"PBXBuildFile","fileRef":"13B07FB71A68108700A75B9A","fileRef_comment":"main.m"},"2D02E4BF1E0B4AB3006451C7_comment":"main.m in Sources","2D02E4C21E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"5E9157351DD0AC6500FF2AA8","fileRef_comment":"libRCTAnimation-tvOS.a"},"2D02E4C21E0B4AEC006451C7_comment":"libRCTAnimation-tvOS.a in Frameworks","2D02E4C31E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E841DF850E9000B6D8A","fileRef_comment":"libRCTImage-tvOS.a"},"2D02E4C31E0B4AEC006451C7_comment":"libRCTImage-tvOS.a in Frameworks","2D02E4C41E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E881DF850E9000B6D8A","fileRef_comment":"libRCTLinking-tvOS.a"},"2D02E4C41E0B4AEC006451C7_comment":"libRCTLinking-tvOS.a in Frameworks","2D02E4C51E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E8C1DF850E9000B6D8A","fileRef_comment":"libRCTNetwork-tvOS.a"},"2D02E4C51E0B4AEC006451C7_comment":"libRCTNetwork-tvOS.a in Frameworks","2D02E4C61E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E901DF850E9000B6D8A","fileRef_comment":"libRCTSettings-tvOS.a"},"2D02E4C61E0B4AEC006451C7_comment":"libRCTSettings-tvOS.a in Frameworks","2D02E4C71E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E941DF850E9000B6D8A","fileRef_comment":"libRCTText-tvOS.a"},"2D02E4C71E0B4AEC006451C7_comment":"libRCTText-tvOS.a in Frameworks","2D02E4C81E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3E991DF850E9000B6D8A","fileRef_comment":"libRCTWebSocket-tvOS.a"},"2D02E4C81E0B4AEC006451C7_comment":"libRCTWebSocket-tvOS.a in Frameworks","2D02E4C91E0B4AEC006451C7":{"isa":"PBXBuildFile","fileRef":"3DAD3EA31DF850E9000B6D8A","fileRef_comment":"libReact.a"},"2D02E4C91E0B4AEC006451C7_comment":"libReact.a in Frameworks","2DCD954D1E0B4F2C00145EB5":{"isa":"PBXBuildFile","fileRef":"00E356F21AD99517003FC87E","fileRef_comment":"HelloWorldTests.m"},"2DCD954D1E0B4F2C00145EB5_comment":"HelloWorldTests.m in Sources","5E9157361DD0AC6A00FF2AA8":{"isa":"PBXBuildFile","fileRef":"5E9157331DD0AC6500FF2AA8","fileRef_comment":"libRCTAnimation.a"},"5E9157361DD0AC6A00FF2AA8_comment":"libRCTAnimation.a in Frameworks","832341BD1AAA6AB300B99B32":{"isa":"PBXBuildFile","fileRef":"832341B51AAA6A8300B99B32","fileRef_comment":"libRCTText.a"},"832341BD1AAA6AB300B99B32_comment":"libRCTText.a in Frameworks"},"PBXContainerItemProxy":{"00C302AB1ABCB8CE00DB3ED1":{"isa":"PBXContainerItemProxy","containerPortal":"00C302A71ABCB8CE00DB3ED1","containerPortal_comment":"RCTActionSheet.xcodeproj","proxyType":2,"remoteGlobalIDString":"134814201AA4EA6300B7C361","remoteInfo":"RCTActionSheet"},"00C302AB1ABCB8CE00DB3ED1_comment":"PBXContainerItemProxy","00C302B91ABCB90400DB3ED1":{"isa":"PBXContainerItemProxy","containerPortal":"00C302B51ABCB90400DB3ED1","containerPortal_comment":"RCTGeolocation.xcodeproj","proxyType":2,"remoteGlobalIDString":"134814201AA4EA6300B7C361","remoteInfo":"RCTGeolocation"},"00C302B91ABCB90400DB3ED1_comment":"PBXContainerItemProxy","00C302BF1ABCB91800DB3ED1":{"isa":"PBXContainerItemProxy","containerPortal":"00C302BB1ABCB91800DB3ED1","containerPortal_comment":"RCTImage.xcodeproj","proxyType":2,"remoteGlobalIDString":"58B5115D1A9E6B3D00147676","remoteInfo":"RCTImage"},"00C302BF1ABCB91800DB3ED1_comment":"PBXContainerItemProxy","00C302DB1ABCB9D200DB3ED1":{"isa":"PBXContainerItemProxy","containerPortal":"00C302D31ABCB9D200DB3ED1","containerPortal_comment":"RCTNetwork.xcodeproj","proxyType":2,"remoteGlobalIDString":"58B511DB1A9E6C8500147676","remoteInfo":"RCTNetwork"},"00C302DB1ABCB9D200DB3ED1_comment":"PBXContainerItemProxy","00C302E31ABCB9EE00DB3ED1":{"isa":"PBXContainerItemProxy","containerPortal":"00C302DF1ABCB9EE00DB3ED1","containerPortal_comment":"RCTVibration.xcodeproj","proxyType":2,"remoteGlobalIDString":"832C81801AAF6DEF007FA2F7","remoteInfo":"RCTVibration"},"00C302E31ABCB9EE00DB3ED1_comment":"PBXContainerItemProxy","00E356F41AD99517003FC87E":{"isa":"PBXContainerItemProxy","containerPortal":"83CBB9F71A601CBA00E9B192","containerPortal_comment":"Project object","proxyType":1,"remoteGlobalIDString":"13B07F861A680F5B00A75B9A","remoteInfo":"HelloWorld"},"00E356F41AD99517003FC87E_comment":"PBXContainerItemProxy","139105C01AF99BAD00B5F7CC":{"isa":"PBXContainerItemProxy","containerPortal":"139105B61AF99BAD00B5F7CC","containerPortal_comment":"RCTSettings.xcodeproj","proxyType":2,"remoteGlobalIDString":"134814201AA4EA6300B7C361","remoteInfo":"RCTSettings"},"139105C01AF99BAD00B5F7CC_comment":"PBXContainerItemProxy","139FDEF31B06529B00C62182":{"isa":"PBXContainerItemProxy","containerPortal":"139FDEE61B06529A00C62182","containerPortal_comment":"RCTWebSocket.xcodeproj","proxyType":2,"remoteGlobalIDString":"3C86DF461ADF2C930047B81A","remoteInfo":"RCTWebSocket"},"139FDEF31B06529B00C62182_comment":"PBXContainerItemProxy","146834031AC3E56700842450":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"83CBBA2E1A601D0E00E9B192","remoteInfo":"React"},"146834031AC3E56700842450_comment":"PBXContainerItemProxy","2D02E4911E0B4A5D006451C7":{"isa":"PBXContainerItemProxy","containerPortal":"83CBB9F71A601CBA00E9B192","containerPortal_comment":"Project object","proxyType":1,"remoteGlobalIDString":"2D02E47A1E0B4A5D006451C7","remoteInfo":"\"HelloWorld-tvOS\""},"2D02E4911E0B4A5D006451C7_comment":"PBXContainerItemProxy","3DAD3E831DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"00C302BB1ABCB91800DB3ED1","containerPortal_comment":"RCTImage.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A283A1D9B042B00D4039D","remoteInfo":"\"RCTImage-tvOS\""},"3DAD3E831DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3E871DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"78C398B01ACF4ADC00677621","containerPortal_comment":"RCTLinking.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28471D9B043800D4039D","remoteInfo":"\"RCTLinking-tvOS\""},"3DAD3E871DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3E8B1DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"00C302D31ABCB9D200DB3ED1","containerPortal_comment":"RCTNetwork.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28541D9B044C00D4039D","remoteInfo":"\"RCTNetwork-tvOS\""},"3DAD3E8B1DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3E8F1DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"139105B61AF99BAD00B5F7CC","containerPortal_comment":"RCTSettings.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28611D9B046600D4039D","remoteInfo":"\"RCTSettings-tvOS\""},"3DAD3E8F1DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3E931DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"832341B01AAA6A8300B99B32","containerPortal_comment":"RCTText.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A287B1D9B048500D4039D","remoteInfo":"\"RCTText-tvOS\""},"3DAD3E931DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3E981DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"139FDEE61B06529A00C62182","containerPortal_comment":"RCTWebSocket.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28881D9B049200D4039D","remoteInfo":"\"RCTWebSocket-tvOS\""},"3DAD3E981DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EA21DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28131D9B038B00D4039D","remoteInfo":"\"React-tvOS\""},"3DAD3EA21DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EA41DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3C059A1DE3340900C268FA","remoteInfo":"yoga"},"3DAD3EA41DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EA61DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3C06751DE3340C00C268FA","remoteInfo":"\"yoga-tvOS\""},"3DAD3EA61DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EA81DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3CD9251DE5FBEC00167DC4","remoteInfo":"cxxreact"},"3DAD3EA81DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EAA1DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3CD9321DE5FBEE00167DC4","remoteInfo":"\"cxxreact-tvOS\""},"3DAD3EAA1DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EAC1DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3CD90B1DE5FBD600167DC4","remoteInfo":"jschelpers"},"3DAD3EAC1DF850E9000B6D8A_comment":"PBXContainerItemProxy","3DAD3EAE1DF850E9000B6D8A":{"isa":"PBXContainerItemProxy","containerPortal":"146833FF1AC3E56700842450","containerPortal_comment":"React.xcodeproj","proxyType":2,"remoteGlobalIDString":"3D3CD9181DE5FBD800167DC4","remoteInfo":"\"jschelpers-tvOS\""},"3DAD3EAE1DF850E9000B6D8A_comment":"PBXContainerItemProxy","5E9157321DD0AC6500FF2AA8":{"isa":"PBXContainerItemProxy","containerPortal":"5E91572D1DD0AC6500FF2AA8","containerPortal_comment":"RCTAnimation.xcodeproj","proxyType":2,"remoteGlobalIDString":"134814201AA4EA6300B7C361","remoteInfo":"RCTAnimation"},"5E9157321DD0AC6500FF2AA8_comment":"PBXContainerItemProxy","5E9157341DD0AC6500FF2AA8":{"isa":"PBXContainerItemProxy","containerPortal":"5E91572D1DD0AC6500FF2AA8","containerPortal_comment":"RCTAnimation.xcodeproj","proxyType":2,"remoteGlobalIDString":"2D2A28201D9B03D100D4039D","remoteInfo":"\"RCTAnimation-tvOS\""},"5E9157341DD0AC6500FF2AA8_comment":"PBXContainerItemProxy","78C398B81ACF4ADC00677621":{"isa":"PBXContainerItemProxy","containerPortal":"78C398B01ACF4ADC00677621","containerPortal_comment":"RCTLinking.xcodeproj","proxyType":2,"remoteGlobalIDString":"134814201AA4EA6300B7C361","remoteInfo":"RCTLinking"},"78C398B81ACF4ADC00677621_comment":"PBXContainerItemProxy","832341B41AAA6A8300B99B32":{"isa":"PBXContainerItemProxy","containerPortal":"832341B01AAA6A8300B99B32","containerPortal_comment":"RCTText.xcodeproj","proxyType":2,"remoteGlobalIDString":"58B5119B1A9E6C1200147676","remoteInfo":"RCTText"},"832341B41AAA6A8300B99B32_comment":"PBXContainerItemProxy"},"PBXFileReference":{"008F07F21AC5B25A0029DE68":{"isa":"PBXFileReference","fileEncoding":4,"lastKnownFileType":"text","path":"main.jsbundle","sourceTree":"\"\""},"008F07F21AC5B25A0029DE68_comment":"main.jsbundle","00C302A71ABCB8CE00DB3ED1":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTActionSheet.xcodeproj","path":"\"../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj\"","sourceTree":"\"\""},"00C302A71ABCB8CE00DB3ED1_comment":"RCTActionSheet.xcodeproj","00C302B51ABCB90400DB3ED1":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTGeolocation.xcodeproj","path":"\"../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj\"","sourceTree":"\"\""},"00C302B51ABCB90400DB3ED1_comment":"RCTGeolocation.xcodeproj","00C302BB1ABCB91800DB3ED1":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTImage.xcodeproj","path":"\"../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj\"","sourceTree":"\"\""},"00C302BB1ABCB91800DB3ED1_comment":"RCTImage.xcodeproj","00C302D31ABCB9D200DB3ED1":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTNetwork.xcodeproj","path":"\"../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj\"","sourceTree":"\"\""},"00C302D31ABCB9D200DB3ED1_comment":"RCTNetwork.xcodeproj","00C302DF1ABCB9EE00DB3ED1":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTVibration.xcodeproj","path":"\"../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj\"","sourceTree":"\"\""},"00C302DF1ABCB9EE00DB3ED1_comment":"RCTVibration.xcodeproj","00E356EE1AD99517003FC87E":{"isa":"PBXFileReference","explicitFileType":"wrapper.cfbundle","includeInIndex":0,"path":"HelloWorldTests.xctest","sourceTree":"BUILT_PRODUCTS_DIR"},"00E356EE1AD99517003FC87E_comment":"HelloWorldTests.xctest","00E356F11AD99517003FC87E":{"isa":"PBXFileReference","lastKnownFileType":"text.plist.xml","path":"Info.plist","sourceTree":"\"\""},"00E356F11AD99517003FC87E_comment":"Info.plist","00E356F21AD99517003FC87E":{"isa":"PBXFileReference","lastKnownFileType":"sourcecode.c.objc","path":"HelloWorldTests.m","sourceTree":"\"\""},"00E356F21AD99517003FC87E_comment":"HelloWorldTests.m","139105B61AF99BAD00B5F7CC":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTSettings.xcodeproj","path":"\"../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj\"","sourceTree":"\"\""},"139105B61AF99BAD00B5F7CC_comment":"RCTSettings.xcodeproj","139FDEE61B06529A00C62182":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTWebSocket.xcodeproj","path":"\"../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj\"","sourceTree":"\"\""},"139FDEE61B06529A00C62182_comment":"RCTWebSocket.xcodeproj","13B07F961A680F5B00A75B9A":{"isa":"PBXFileReference","explicitFileType":"wrapper.application","includeInIndex":0,"path":"HelloWorld.app","sourceTree":"BUILT_PRODUCTS_DIR"},"13B07F961A680F5B00A75B9A_comment":"HelloWorld.app","13B07FAF1A68108700A75B9A":{"isa":"PBXFileReference","fileEncoding":4,"lastKnownFileType":"sourcecode.c.h","name":"AppDelegate.h","path":"HelloWorld/AppDelegate.h","sourceTree":"\"\""},"13B07FAF1A68108700A75B9A_comment":"AppDelegate.h","13B07FB01A68108700A75B9A":{"isa":"PBXFileReference","fileEncoding":4,"lastKnownFileType":"sourcecode.c.objc","name":"AppDelegate.m","path":"HelloWorld/AppDelegate.m","sourceTree":"\"\""},"13B07FB01A68108700A75B9A_comment":"AppDelegate.m","13B07FB21A68108700A75B9A":{"isa":"PBXFileReference","lastKnownFileType":"file.xib","name":"Base","path":"Base.lproj/LaunchScreen.xib","sourceTree":"\"\""},"13B07FB21A68108700A75B9A_comment":"Base","13B07FB51A68108700A75B9A":{"isa":"PBXFileReference","lastKnownFileType":"folder.assetcatalog","name":"Images.xcassets","path":"HelloWorld/Images.xcassets","sourceTree":"\"\""},"13B07FB51A68108700A75B9A_comment":"Images.xcassets","13B07FB61A68108700A75B9A":{"isa":"PBXFileReference","fileEncoding":4,"lastKnownFileType":"text.plist.xml","name":"Info.plist","path":"HelloWorld/Info.plist","sourceTree":"\"\""},"13B07FB61A68108700A75B9A_comment":"Info.plist","13B07FB71A68108700A75B9A":{"isa":"PBXFileReference","fileEncoding":4,"lastKnownFileType":"sourcecode.c.objc","name":"main.m","path":"HelloWorld/main.m","sourceTree":"\"\""},"13B07FB71A68108700A75B9A_comment":"main.m","146833FF1AC3E56700842450":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"React.xcodeproj","path":"\"../node_modules/react-native/React/React.xcodeproj\"","sourceTree":"\"\""},"146833FF1AC3E56700842450_comment":"React.xcodeproj","2D02E47B1E0B4A5D006451C7":{"isa":"PBXFileReference","explicitFileType":"wrapper.application","includeInIndex":0,"path":"\"HelloWorld-tvOS.app\"","sourceTree":"BUILT_PRODUCTS_DIR"},"2D02E47B1E0B4A5D006451C7_comment":"HelloWorld-tvOS.app","2D02E4901E0B4A5D006451C7":{"isa":"PBXFileReference","explicitFileType":"wrapper.cfbundle","includeInIndex":0,"path":"\"HelloWorld-tvOSTests.xctest\"","sourceTree":"BUILT_PRODUCTS_DIR"},"2D02E4901E0B4A5D006451C7_comment":"HelloWorld-tvOSTests.xctest","5E91572D1DD0AC6500FF2AA8":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTAnimation.xcodeproj","path":"\"../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj\"","sourceTree":"\"\""},"5E91572D1DD0AC6500FF2AA8_comment":"RCTAnimation.xcodeproj","78C398B01ACF4ADC00677621":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTLinking.xcodeproj","path":"\"../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj\"","sourceTree":"\"\""},"78C398B01ACF4ADC00677621_comment":"RCTLinking.xcodeproj","832341B01AAA6A8300B99B32":{"isa":"PBXFileReference","lastKnownFileType":"\"wrapper.pb-project\"","name":"RCTText.xcodeproj","path":"\"../node_modules/react-native/Libraries/Text/RCTText.xcodeproj\"","sourceTree":"\"\""},"832341B01AAA6A8300B99B32_comment":"RCTText.xcodeproj"},"PBXFrameworksBuildPhase":{"00E356EB1AD99517003FC87E":{"isa":"PBXFrameworksBuildPhase","buildActionMask":2147483647,"files":[{"value":"140ED2AC1D01E1AD002B40FF","comment":"libReact.a in Frameworks"}],"runOnlyForDeploymentPostprocessing":0},"00E356EB1AD99517003FC87E_comment":"Frameworks","13B07F8C1A680F5B00A75B9A":{"isa":"PBXFrameworksBuildPhase","buildActionMask":2147483647,"files":[{"value":"146834051AC3E58100842450","comment":"libReact.a in Frameworks"},{"value":"5E9157361DD0AC6A00FF2AA8","comment":"libRCTAnimation.a in Frameworks"},{"value":"00C302E51ABCBA2D00DB3ED1","comment":"libRCTActionSheet.a in Frameworks"},{"value":"00C302E71ABCBA2D00DB3ED1","comment":"libRCTGeolocation.a in Frameworks"},{"value":"00C302E81ABCBA2D00DB3ED1","comment":"libRCTImage.a in Frameworks"},{"value":"133E29F31AD74F7200F7D852","comment":"libRCTLinking.a in Frameworks"},{"value":"00C302E91ABCBA2D00DB3ED1","comment":"libRCTNetwork.a in Frameworks"},{"value":"139105C61AF99C1200B5F7CC","comment":"libRCTSettings.a in Frameworks"},{"value":"832341BD1AAA6AB300B99B32","comment":"libRCTText.a in Frameworks"},{"value":"00C302EA1ABCBA2D00DB3ED1","comment":"libRCTVibration.a in Frameworks"},{"value":"139FDEF61B0652A700C62182","comment":"libRCTWebSocket.a in Frameworks"}],"runOnlyForDeploymentPostprocessing":0},"13B07F8C1A680F5B00A75B9A_comment":"Frameworks","2D02E4781E0B4A5D006451C7":{"isa":"PBXFrameworksBuildPhase","buildActionMask":2147483647,"files":[{"value":"2D02E4C91E0B4AEC006451C7","comment":"libReact.a in Frameworks"},{"value":"2D02E4C21E0B4AEC006451C7","comment":"libRCTAnimation-tvOS.a in Frameworks"},{"value":"2D02E4C31E0B4AEC006451C7","comment":"libRCTImage-tvOS.a in Frameworks"},{"value":"2D02E4C41E0B4AEC006451C7","comment":"libRCTLinking-tvOS.a in Frameworks"},{"value":"2D02E4C51E0B4AEC006451C7","comment":"libRCTNetwork-tvOS.a in Frameworks"},{"value":"2D02E4C61E0B4AEC006451C7","comment":"libRCTSettings-tvOS.a in Frameworks"},{"value":"2D02E4C71E0B4AEC006451C7","comment":"libRCTText-tvOS.a in Frameworks"},{"value":"2D02E4C81E0B4AEC006451C7","comment":"libRCTWebSocket-tvOS.a in Frameworks"}],"runOnlyForDeploymentPostprocessing":0},"2D02E4781E0B4A5D006451C7_comment":"Frameworks","2D02E48D1E0B4A5D006451C7":{"isa":"PBXFrameworksBuildPhase","buildActionMask":2147483647,"files":[],"runOnlyForDeploymentPostprocessing":0},"2D02E48D1E0B4A5D006451C7_comment":"Frameworks"},"PBXGroup":{"00C302A81ABCB8CE00DB3ED1":{"isa":"PBXGroup","children":[{"value":"00C302AC1ABCB8CE00DB3ED1","comment":"libRCTActionSheet.a"}],"name":"Products","sourceTree":"\"\""},"00C302A81ABCB8CE00DB3ED1_comment":"Products","00C302B61ABCB90400DB3ED1":{"isa":"PBXGroup","children":[{"value":"00C302BA1ABCB90400DB3ED1","comment":"libRCTGeolocation.a"}],"name":"Products","sourceTree":"\"\""},"00C302B61ABCB90400DB3ED1_comment":"Products","00C302BC1ABCB91800DB3ED1":{"isa":"PBXGroup","children":[{"value":"00C302C01ABCB91800DB3ED1","comment":"libRCTImage.a"},{"value":"3DAD3E841DF850E9000B6D8A","comment":"libRCTImage-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"00C302BC1ABCB91800DB3ED1_comment":"Products","00C302D41ABCB9D200DB3ED1":{"isa":"PBXGroup","children":[{"value":"00C302DC1ABCB9D200DB3ED1","comment":"libRCTNetwork.a"},{"value":"3DAD3E8C1DF850E9000B6D8A","comment":"libRCTNetwork-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"00C302D41ABCB9D200DB3ED1_comment":"Products","00C302E01ABCB9EE00DB3ED1":{"isa":"PBXGroup","children":[{"value":"00C302E41ABCB9EE00DB3ED1","comment":"libRCTVibration.a"}],"name":"Products","sourceTree":"\"\""},"00C302E01ABCB9EE00DB3ED1_comment":"Products","00E356EF1AD99517003FC87E":{"isa":"PBXGroup","children":[{"value":"00E356F21AD99517003FC87E","comment":"HelloWorldTests.m"},{"value":"00E356F01AD99517003FC87E","comment":"Supporting Files"}],"path":"HelloWorldTests","sourceTree":"\"\""},"00E356EF1AD99517003FC87E_comment":"HelloWorldTests","00E356F01AD99517003FC87E":{"isa":"PBXGroup","children":[{"value":"00E356F11AD99517003FC87E","comment":"Info.plist"}],"name":"\"Supporting Files\"","sourceTree":"\"\""},"00E356F01AD99517003FC87E_comment":"Supporting Files","139105B71AF99BAD00B5F7CC":{"isa":"PBXGroup","children":[{"value":"139105C11AF99BAD00B5F7CC","comment":"libRCTSettings.a"},{"value":"3DAD3E901DF850E9000B6D8A","comment":"libRCTSettings-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"139105B71AF99BAD00B5F7CC_comment":"Products","139FDEE71B06529A00C62182":{"isa":"PBXGroup","children":[{"value":"139FDEF41B06529B00C62182","comment":"libRCTWebSocket.a"},{"value":"3DAD3E991DF850E9000B6D8A","comment":"libRCTWebSocket-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"139FDEE71B06529A00C62182_comment":"Products","13B07FAE1A68108700A75B9A":{"isa":"PBXGroup","children":[{"value":"008F07F21AC5B25A0029DE68","comment":"main.jsbundle"},{"value":"13B07FAF1A68108700A75B9A","comment":"AppDelegate.h"},{"value":"13B07FB01A68108700A75B9A","comment":"AppDelegate.m"},{"value":"13B07FB51A68108700A75B9A","comment":"Images.xcassets"},{"value":"13B07FB61A68108700A75B9A","comment":"Info.plist"},{"value":"13B07FB11A68108700A75B9A","comment":"LaunchScreen.xib"},{"value":"13B07FB71A68108700A75B9A","comment":"main.m"}],"name":"HelloWorld","sourceTree":"\"\""},"13B07FAE1A68108700A75B9A_comment":"HelloWorld","146834001AC3E56700842450":{"isa":"PBXGroup","children":[{"value":"146834041AC3E56700842450","comment":"libReact.a"},{"value":"3DAD3EA31DF850E9000B6D8A","comment":"libReact.a"},{"value":"3DAD3EA51DF850E9000B6D8A","comment":"libyoga.a"},{"value":"3DAD3EA71DF850E9000B6D8A","comment":"libyoga.a"},{"value":"3DAD3EA91DF850E9000B6D8A","comment":"libcxxreact.a"},{"value":"3DAD3EAB1DF850E9000B6D8A","comment":"libcxxreact.a"},{"value":"3DAD3EAD1DF850E9000B6D8A","comment":"libjschelpers.a"},{"value":"3DAD3EAF1DF850E9000B6D8A","comment":"libjschelpers.a"}],"name":"Products","sourceTree":"\"\""},"146834001AC3E56700842450_comment":"Products","5E91572E1DD0AC6500FF2AA8":{"isa":"PBXGroup","children":[{"value":"5E9157331DD0AC6500FF2AA8","comment":"libRCTAnimation.a"},{"value":"5E9157351DD0AC6500FF2AA8","comment":"libRCTAnimation-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"5E91572E1DD0AC6500FF2AA8_comment":"Products","78C398B11ACF4ADC00677621":{"isa":"PBXGroup","children":[{"value":"78C398B91ACF4ADC00677621","comment":"libRCTLinking.a"},{"value":"3DAD3E881DF850E9000B6D8A","comment":"libRCTLinking-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"78C398B11ACF4ADC00677621_comment":"Products","832341AE1AAA6A7D00B99B32":{"isa":"PBXGroup","children":[{"value":"5E91572D1DD0AC6500FF2AA8","comment":"RCTAnimation.xcodeproj"},{"value":"146833FF1AC3E56700842450","comment":"React.xcodeproj"},{"value":"00C302A71ABCB8CE00DB3ED1","comment":"RCTActionSheet.xcodeproj"},{"value":"00C302B51ABCB90400DB3ED1","comment":"RCTGeolocation.xcodeproj"},{"value":"00C302BB1ABCB91800DB3ED1","comment":"RCTImage.xcodeproj"},{"value":"78C398B01ACF4ADC00677621","comment":"RCTLinking.xcodeproj"},{"value":"00C302D31ABCB9D200DB3ED1","comment":"RCTNetwork.xcodeproj"},{"value":"139105B61AF99BAD00B5F7CC","comment":"RCTSettings.xcodeproj"},{"value":"832341B01AAA6A8300B99B32","comment":"RCTText.xcodeproj"},{"value":"00C302DF1ABCB9EE00DB3ED1","comment":"RCTVibration.xcodeproj"},{"value":"139FDEE61B06529A00C62182","comment":"RCTWebSocket.xcodeproj"}],"name":"Libraries","sourceTree":"\"\""},"832341AE1AAA6A7D00B99B32_comment":"Libraries","832341B11AAA6A8300B99B32":{"isa":"PBXGroup","children":[{"value":"832341B51AAA6A8300B99B32","comment":"libRCTText.a"},{"value":"3DAD3E941DF850E9000B6D8A","comment":"libRCTText-tvOS.a"}],"name":"Products","sourceTree":"\"\""},"832341B11AAA6A8300B99B32_comment":"Products","83CBB9F61A601CBA00E9B192":{"isa":"PBXGroup","children":[{"value":"13B07FAE1A68108700A75B9A","comment":"HelloWorld"},{"value":"832341AE1AAA6A7D00B99B32","comment":"Libraries"},{"value":"00E356EF1AD99517003FC87E","comment":"HelloWorldTests"},{"value":"83CBBA001A601CBA00E9B192","comment":"Products"}],"indentWidth":2,"sourceTree":"\"\"","tabWidth":2},"83CBBA001A601CBA00E9B192":{"isa":"PBXGroup","children":[{"value":"13B07F961A680F5B00A75B9A","comment":"HelloWorld.app"},{"value":"00E356EE1AD99517003FC87E","comment":"HelloWorldTests.xctest"},{"value":"2D02E47B1E0B4A5D006451C7","comment":"HelloWorld-tvOS.app"},{"value":"2D02E4901E0B4A5D006451C7","comment":"HelloWorld-tvOSTests.xctest"}],"name":"Products","sourceTree":"\"\""},"83CBBA001A601CBA00E9B192_comment":"Products"},"PBXNativeTarget":{"00E356ED1AD99517003FC87E":{"isa":"PBXNativeTarget","buildConfigurationList":"00E357021AD99517003FC87E","buildConfigurationList_comment":"Build configuration list for PBXNativeTarget \"HelloWorldTests\"","buildPhases":[{"value":"00E356EA1AD99517003FC87E","comment":"Sources"},{"value":"00E356EB1AD99517003FC87E","comment":"Frameworks"},{"value":"00E356EC1AD99517003FC87E","comment":"Resources"}],"buildRules":[],"dependencies":[{"value":"00E356F51AD99517003FC87E","comment":"PBXTargetDependency"}],"name":"HelloWorldTests","productName":"HelloWorldTests","productReference":"00E356EE1AD99517003FC87E","productReference_comment":"HelloWorldTests.xctest","productType":"\"com.apple.product-type.bundle.unit-test\""},"00E356ED1AD99517003FC87E_comment":"HelloWorldTests","13B07F861A680F5B00A75B9A":{"isa":"PBXNativeTarget","buildConfigurationList":"13B07F931A680F5B00A75B9A","buildConfigurationList_comment":"Build configuration list for PBXNativeTarget \"HelloWorld\"","buildPhases":[{"value":"13B07F871A680F5B00A75B9A","comment":"Sources"},{"value":"13B07F8C1A680F5B00A75B9A","comment":"Frameworks"},{"value":"13B07F8E1A680F5B00A75B9A","comment":"Resources"},{"value":"00DD1BFF1BD5951E006B06BC","comment":"Bundle React Native code and images"}],"buildRules":[],"dependencies":[],"name":"HelloWorld","productName":"\"Hello World\"","productReference":"13B07F961A680F5B00A75B9A","productReference_comment":"HelloWorld.app","productType":"\"com.apple.product-type.application\""},"13B07F861A680F5B00A75B9A_comment":"HelloWorld","2D02E47A1E0B4A5D006451C7":{"isa":"PBXNativeTarget","buildConfigurationList":"2D02E4BA1E0B4A5E006451C7","buildConfigurationList_comment":"Build configuration list for PBXNativeTarget \"HelloWorld-tvOS\"","buildPhases":[{"value":"2D02E4771E0B4A5D006451C7","comment":"Sources"},{"value":"2D02E4781E0B4A5D006451C7","comment":"Frameworks"},{"value":"2D02E4791E0B4A5D006451C7","comment":"Resources"},{"value":"2D02E4CB1E0B4B27006451C7","comment":"Bundle React Native Code And Images"}],"buildRules":[],"dependencies":[],"name":"\"HelloWorld-tvOS\"","productName":"\"HelloWorld-tvOS\"","productReference":"2D02E47B1E0B4A5D006451C7","productReference_comment":"HelloWorld-tvOS.app","productType":"\"com.apple.product-type.application\""},"2D02E47A1E0B4A5D006451C7_comment":"HelloWorld-tvOS","2D02E48F1E0B4A5D006451C7":{"isa":"PBXNativeTarget","buildConfigurationList":"2D02E4BB1E0B4A5E006451C7","buildConfigurationList_comment":"Build configuration list for PBXNativeTarget \"HelloWorld-tvOSTests\"","buildPhases":[{"value":"2D02E48C1E0B4A5D006451C7","comment":"Sources"},{"value":"2D02E48D1E0B4A5D006451C7","comment":"Frameworks"},{"value":"2D02E48E1E0B4A5D006451C7","comment":"Resources"}],"buildRules":[],"dependencies":[{"value":"2D02E4921E0B4A5D006451C7","comment":"PBXTargetDependency"}],"name":"\"HelloWorld-tvOSTests\"","productName":"\"HelloWorld-tvOSTests\"","productReference":"2D02E4901E0B4A5D006451C7","productReference_comment":"HelloWorld-tvOSTests.xctest","productType":"\"com.apple.product-type.bundle.unit-test\""},"2D02E48F1E0B4A5D006451C7_comment":"HelloWorld-tvOSTests"},"PBXProject":{"83CBB9F71A601CBA00E9B192":{"isa":"PBXProject","attributes":{"LastUpgradeCheck":610,"ORGANIZATIONNAME":"Facebook","TargetAttributes":{"00E356ED1AD99517003FC87E":{"CreatedOnToolsVersion":"6.2","TestTargetID":"13B07F861A680F5B00A75B9A"},"2D02E47A1E0B4A5D006451C7":{"CreatedOnToolsVersion":"8.2.1","ProvisioningStyle":"Automatic"},"2D02E48F1E0B4A5D006451C7":{"CreatedOnToolsVersion":"8.2.1","ProvisioningStyle":"Automatic","TestTargetID":"2D02E47A1E0B4A5D006451C7"}}},"buildConfigurationList":"83CBB9FA1A601CBA00E9B192","buildConfigurationList_comment":"Build configuration list for PBXProject \"HelloWorld\"","compatibilityVersion":"\"Xcode 3.2\"","developmentRegion":"English","hasScannedForEncodings":0,"knownRegions":["en","Base"],"mainGroup":"83CBB9F61A601CBA00E9B192","productRefGroup":"83CBBA001A601CBA00E9B192","productRefGroup_comment":"Products","projectDirPath":"\"\"","projectReferences":[{"ProductGroup":"00C302A81ABCB8CE00DB3ED1","ProductGroup_comment":"Products","ProjectRef":"00C302A71ABCB8CE00DB3ED1","ProjectRef_comment":"RCTActionSheet.xcodeproj"},{"ProductGroup":"5E91572E1DD0AC6500FF2AA8","ProductGroup_comment":"Products","ProjectRef":"5E91572D1DD0AC6500FF2AA8","ProjectRef_comment":"RCTAnimation.xcodeproj"},{"ProductGroup":"00C302B61ABCB90400DB3ED1","ProductGroup_comment":"Products","ProjectRef":"00C302B51ABCB90400DB3ED1","ProjectRef_comment":"RCTGeolocation.xcodeproj"},{"ProductGroup":"00C302BC1ABCB91800DB3ED1","ProductGroup_comment":"Products","ProjectRef":"00C302BB1ABCB91800DB3ED1","ProjectRef_comment":"RCTImage.xcodeproj"},{"ProductGroup":"78C398B11ACF4ADC00677621","ProductGroup_comment":"Products","ProjectRef":"78C398B01ACF4ADC00677621","ProjectRef_comment":"RCTLinking.xcodeproj"},{"ProductGroup":"00C302D41ABCB9D200DB3ED1","ProductGroup_comment":"Products","ProjectRef":"00C302D31ABCB9D200DB3ED1","ProjectRef_comment":"RCTNetwork.xcodeproj"},{"ProductGroup":"139105B71AF99BAD00B5F7CC","ProductGroup_comment":"Products","ProjectRef":"139105B61AF99BAD00B5F7CC","ProjectRef_comment":"RCTSettings.xcodeproj"},{"ProductGroup":"832341B11AAA6A8300B99B32","ProductGroup_comment":"Products","ProjectRef":"832341B01AAA6A8300B99B32","ProjectRef_comment":"RCTText.xcodeproj"},{"ProductGroup":"00C302E01ABCB9EE00DB3ED1","ProductGroup_comment":"Products","ProjectRef":"00C302DF1ABCB9EE00DB3ED1","ProjectRef_comment":"RCTVibration.xcodeproj"},{"ProductGroup":"139FDEE71B06529A00C62182","ProductGroup_comment":"Products","ProjectRef":"139FDEE61B06529A00C62182","ProjectRef_comment":"RCTWebSocket.xcodeproj"},{"ProductGroup":"146834001AC3E56700842450","ProductGroup_comment":"Products","ProjectRef":"146833FF1AC3E56700842450","ProjectRef_comment":"React.xcodeproj"}],"projectRoot":"\"\"","targets":[{"value":"13B07F861A680F5B00A75B9A","comment":"HelloWorld"},{"value":"00E356ED1AD99517003FC87E","comment":"HelloWorldTests"},{"value":"2D02E47A1E0B4A5D006451C7","comment":"HelloWorld-tvOS"},{"value":"2D02E48F1E0B4A5D006451C7","comment":"HelloWorld-tvOSTests"}]},"83CBB9F71A601CBA00E9B192_comment":"Project object"},"PBXReferenceProxy":{"00C302AC1ABCB8CE00DB3ED1":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTActionSheet.a","remoteRef":"00C302AB1ABCB8CE00DB3ED1","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"00C302AC1ABCB8CE00DB3ED1_comment":"libRCTActionSheet.a","00C302BA1ABCB90400DB3ED1":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTGeolocation.a","remoteRef":"00C302B91ABCB90400DB3ED1","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"00C302BA1ABCB90400DB3ED1_comment":"libRCTGeolocation.a","00C302C01ABCB91800DB3ED1":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTImage.a","remoteRef":"00C302BF1ABCB91800DB3ED1","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"00C302C01ABCB91800DB3ED1_comment":"libRCTImage.a","00C302DC1ABCB9D200DB3ED1":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTNetwork.a","remoteRef":"00C302DB1ABCB9D200DB3ED1","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"00C302DC1ABCB9D200DB3ED1_comment":"libRCTNetwork.a","00C302E41ABCB9EE00DB3ED1":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTVibration.a","remoteRef":"00C302E31ABCB9EE00DB3ED1","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"00C302E41ABCB9EE00DB3ED1_comment":"libRCTVibration.a","139105C11AF99BAD00B5F7CC":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTSettings.a","remoteRef":"139105C01AF99BAD00B5F7CC","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"139105C11AF99BAD00B5F7CC_comment":"libRCTSettings.a","139FDEF41B06529B00C62182":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTWebSocket.a","remoteRef":"139FDEF31B06529B00C62182","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"139FDEF41B06529B00C62182_comment":"libRCTWebSocket.a","146834041AC3E56700842450":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libReact.a","remoteRef":"146834031AC3E56700842450","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"146834041AC3E56700842450_comment":"libReact.a","3DAD3E841DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTImage-tvOS.a\"","remoteRef":"3DAD3E831DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E841DF850E9000B6D8A_comment":"libRCTImage-tvOS.a","3DAD3E881DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTLinking-tvOS.a\"","remoteRef":"3DAD3E871DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E881DF850E9000B6D8A_comment":"libRCTLinking-tvOS.a","3DAD3E8C1DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTNetwork-tvOS.a\"","remoteRef":"3DAD3E8B1DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E8C1DF850E9000B6D8A_comment":"libRCTNetwork-tvOS.a","3DAD3E901DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTSettings-tvOS.a\"","remoteRef":"3DAD3E8F1DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E901DF850E9000B6D8A_comment":"libRCTSettings-tvOS.a","3DAD3E941DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTText-tvOS.a\"","remoteRef":"3DAD3E931DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E941DF850E9000B6D8A_comment":"libRCTText-tvOS.a","3DAD3E991DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTWebSocket-tvOS.a\"","remoteRef":"3DAD3E981DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3E991DF850E9000B6D8A_comment":"libRCTWebSocket-tvOS.a","3DAD3EA31DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libReact.a","remoteRef":"3DAD3EA21DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EA31DF850E9000B6D8A_comment":"libReact.a","3DAD3EA51DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libyoga.a","remoteRef":"3DAD3EA41DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EA51DF850E9000B6D8A_comment":"libyoga.a","3DAD3EA71DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libyoga.a","remoteRef":"3DAD3EA61DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EA71DF850E9000B6D8A_comment":"libyoga.a","3DAD3EA91DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libcxxreact.a","remoteRef":"3DAD3EA81DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EA91DF850E9000B6D8A_comment":"libcxxreact.a","3DAD3EAB1DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libcxxreact.a","remoteRef":"3DAD3EAA1DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EAB1DF850E9000B6D8A_comment":"libcxxreact.a","3DAD3EAD1DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libjschelpers.a","remoteRef":"3DAD3EAC1DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EAD1DF850E9000B6D8A_comment":"libjschelpers.a","3DAD3EAF1DF850E9000B6D8A":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libjschelpers.a","remoteRef":"3DAD3EAE1DF850E9000B6D8A","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"3DAD3EAF1DF850E9000B6D8A_comment":"libjschelpers.a","5E9157331DD0AC6500FF2AA8":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTAnimation.a","remoteRef":"5E9157321DD0AC6500FF2AA8","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"5E9157331DD0AC6500FF2AA8_comment":"libRCTAnimation.a","5E9157351DD0AC6500FF2AA8":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"\"libRCTAnimation-tvOS.a\"","remoteRef":"5E9157341DD0AC6500FF2AA8","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"5E9157351DD0AC6500FF2AA8_comment":"libRCTAnimation-tvOS.a","78C398B91ACF4ADC00677621":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTLinking.a","remoteRef":"78C398B81ACF4ADC00677621","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"78C398B91ACF4ADC00677621_comment":"libRCTLinking.a","832341B51AAA6A8300B99B32":{"isa":"PBXReferenceProxy","fileType":"archive.ar","path":"libRCTText.a","remoteRef":"832341B41AAA6A8300B99B32","remoteRef_comment":"PBXContainerItemProxy","sourceTree":"BUILT_PRODUCTS_DIR"},"832341B51AAA6A8300B99B32_comment":"libRCTText.a"},"PBXResourcesBuildPhase":{"00E356EC1AD99517003FC87E":{"isa":"PBXResourcesBuildPhase","buildActionMask":2147483647,"files":[],"runOnlyForDeploymentPostprocessing":0},"00E356EC1AD99517003FC87E_comment":"Resources","13B07F8E1A680F5B00A75B9A":{"isa":"PBXResourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"13B07FBF1A68108700A75B9A","comment":"Images.xcassets in Resources"},{"value":"13B07FBD1A68108700A75B9A","comment":"LaunchScreen.xib in Resources"}],"runOnlyForDeploymentPostprocessing":0},"13B07F8E1A680F5B00A75B9A_comment":"Resources","2D02E4791E0B4A5D006451C7":{"isa":"PBXResourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"2D02E4BD1E0B4A84006451C7","comment":"Images.xcassets in Resources"}],"runOnlyForDeploymentPostprocessing":0},"2D02E4791E0B4A5D006451C7_comment":"Resources","2D02E48E1E0B4A5D006451C7":{"isa":"PBXResourcesBuildPhase","buildActionMask":2147483647,"files":[],"runOnlyForDeploymentPostprocessing":0},"2D02E48E1E0B4A5D006451C7_comment":"Resources"},"PBXShellScriptBuildPhase":{"00DD1BFF1BD5951E006B06BC":{"isa":"PBXShellScriptBuildPhase","buildActionMask":2147483647,"files":[],"inputPaths":[],"name":"\"Bundle React Native code and images\"","outputPaths":[],"runOnlyForDeploymentPostprocessing":0,"shellPath":"/bin/sh","shellScript":"\"export NODE_BINARY=node\\n../node_modules/react-native/packager/react-native-xcode.sh\""},"00DD1BFF1BD5951E006B06BC_comment":"Bundle React Native code and images","2D02E4CB1E0B4B27006451C7":{"isa":"PBXShellScriptBuildPhase","buildActionMask":2147483647,"files":[],"inputPaths":[],"name":"\"Bundle React Native Code And Images\"","outputPaths":[],"runOnlyForDeploymentPostprocessing":0,"shellPath":"/bin/sh","shellScript":"\"export NODE_BINARY=node\\n../node_modules/react-native/packager/react-native-xcode.sh\""},"2D02E4CB1E0B4B27006451C7_comment":"Bundle React Native Code And Images"},"PBXSourcesBuildPhase":{"00E356EA1AD99517003FC87E":{"isa":"PBXSourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"00E356F31AD99517003FC87E","comment":"HelloWorldTests.m in Sources"}],"runOnlyForDeploymentPostprocessing":0},"00E356EA1AD99517003FC87E_comment":"Sources","13B07F871A680F5B00A75B9A":{"isa":"PBXSourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"13B07FBC1A68108700A75B9A","comment":"AppDelegate.m in Sources"},{"value":"13B07FC11A68108700A75B9A","comment":"main.m in Sources"}],"runOnlyForDeploymentPostprocessing":0},"13B07F871A680F5B00A75B9A_comment":"Sources","2D02E4771E0B4A5D006451C7":{"isa":"PBXSourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"2D02E4BF1E0B4AB3006451C7","comment":"main.m in Sources"},{"value":"2D02E4BC1E0B4A80006451C7","comment":"AppDelegate.m in Sources"}],"runOnlyForDeploymentPostprocessing":0},"2D02E4771E0B4A5D006451C7_comment":"Sources","2D02E48C1E0B4A5D006451C7":{"isa":"PBXSourcesBuildPhase","buildActionMask":2147483647,"files":[{"value":"2DCD954D1E0B4F2C00145EB5","comment":"HelloWorldTests.m in Sources"}],"runOnlyForDeploymentPostprocessing":0},"2D02E48C1E0B4A5D006451C7_comment":"Sources"},"PBXTargetDependency":{"00E356F51AD99517003FC87E":{"isa":"PBXTargetDependency","target":"13B07F861A680F5B00A75B9A","target_comment":"HelloWorld","targetProxy":"00E356F41AD99517003FC87E","targetProxy_comment":"PBXContainerItemProxy"},"00E356F51AD99517003FC87E_comment":"PBXTargetDependency","2D02E4921E0B4A5D006451C7":{"isa":"PBXTargetDependency","target":"2D02E47A1E0B4A5D006451C7","target_comment":"HelloWorld-tvOS","targetProxy":"2D02E4911E0B4A5D006451C7","targetProxy_comment":"PBXContainerItemProxy"},"2D02E4921E0B4A5D006451C7_comment":"PBXTargetDependency"},"PBXVariantGroup":{"13B07FB11A68108700A75B9A":{"isa":"PBXVariantGroup","children":[{"value":"13B07FB21A68108700A75B9A","comment":"Base"}],"name":"LaunchScreen.xib","path":"HelloWorld","sourceTree":"\"\""},"13B07FB11A68108700A75B9A_comment":"LaunchScreen.xib"},"XCBuildConfiguration":{"00E356F61AD99517003FC87E":{"isa":"XCBuildConfiguration","buildSettings":{"BUNDLE_LOADER":"\"$(TEST_HOST)\"","GCC_PREPROCESSOR_DEFINITIONS":["\"DEBUG=1\"","\"$(inherited)\""],"INFOPLIST_FILE":"HelloWorldTests/Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"8.0","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\"","OTHER_LDFLAGS":["\"-ObjC\"","\"-lc++\""],"PRODUCT_NAME":"\"$(TARGET_NAME)\"","TEST_HOST":"\"$(BUILT_PRODUCTS_DIR)/HelloWorld.app/HelloWorld\""},"name":"Debug"},"00E356F61AD99517003FC87E_comment":"Debug","00E356F71AD99517003FC87E":{"isa":"XCBuildConfiguration","buildSettings":{"BUNDLE_LOADER":"\"$(TEST_HOST)\"","COPY_PHASE_STRIP":"NO","INFOPLIST_FILE":"HelloWorldTests/Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"8.0","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\"","OTHER_LDFLAGS":["\"-ObjC\"","\"-lc++\""],"PRODUCT_NAME":"\"$(TARGET_NAME)\"","TEST_HOST":"\"$(BUILT_PRODUCTS_DIR)/HelloWorld.app/HelloWorld\""},"name":"Release"},"00E356F71AD99517003FC87E_comment":"Release","13B07F941A680F5B00A75B9A":{"isa":"XCBuildConfiguration","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","CURRENT_PROJECT_VERSION":1,"DEAD_CODE_STRIPPING":"NO","INFOPLIST_FILE":"HelloWorld/Info.plist","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks\"","OTHER_LDFLAGS":["\"$(inherited)\"","\"-ObjC\"","\"-lc++\""],"PRODUCT_NAME":"HelloWorld","VERSIONING_SYSTEM":"\"apple-generic\""},"name":"Debug"},"13B07F941A680F5B00A75B9A_comment":"Debug","13B07F951A680F5B00A75B9A":{"isa":"XCBuildConfiguration","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","CURRENT_PROJECT_VERSION":1,"INFOPLIST_FILE":"HelloWorld/Info.plist","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks\"","OTHER_LDFLAGS":["\"$(inherited)\"","\"-ObjC\"","\"-lc++\""],"PRODUCT_NAME":"HelloWorld","VERSIONING_SYSTEM":"\"apple-generic\""},"name":"Release"},"13B07F951A680F5B00A75B9A_comment":"Release","2D02E4971E0B4A5E006451C7":{"isa":"XCBuildConfiguration","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"\"App Icon & Top Shelf Image\"","ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME":"LaunchImage","CLANG_ANALYZER_NONNULL":"YES","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_TESTABILITY":"YES","GCC_NO_COMMON_BLOCKS":"YES","INFOPLIST_FILE":"\"HelloWorld-tvOS/Info.plist\"","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks\"","OTHER_LDFLAGS":["\"-ObjC\"","\"-lc++\""],"PRODUCT_BUNDLE_IDENTIFIER":"\"com.facebook.REACT.HelloWorld-tvOS\"","PRODUCT_NAME":"\"$(TARGET_NAME)\"","SDKROOT":"appletvos","TARGETED_DEVICE_FAMILY":3,"TVOS_DEPLOYMENT_TARGET":"9.2"},"name":"Debug"},"2D02E4971E0B4A5E006451C7_comment":"Debug","2D02E4981E0B4A5E006451C7":{"isa":"XCBuildConfiguration","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"\"App Icon & Top Shelf Image\"","ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME":"LaunchImage","CLANG_ANALYZER_NONNULL":"YES","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"\"dwarf-with-dsym\"","GCC_NO_COMMON_BLOCKS":"YES","INFOPLIST_FILE":"\"HelloWorld-tvOS/Info.plist\"","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks\"","OTHER_LDFLAGS":["\"-ObjC\"","\"-lc++\""],"PRODUCT_BUNDLE_IDENTIFIER":"\"com.facebook.REACT.HelloWorld-tvOS\"","PRODUCT_NAME":"\"$(TARGET_NAME)\"","SDKROOT":"appletvos","TARGETED_DEVICE_FAMILY":3,"TVOS_DEPLOYMENT_TARGET":"9.2"},"name":"Release"},"2D02E4981E0B4A5E006451C7_comment":"Release","2D02E4991E0B4A5E006451C7":{"isa":"XCBuildConfiguration","buildSettings":{"BUNDLE_LOADER":"\"$(TEST_HOST)\"","CLANG_ANALYZER_NONNULL":"YES","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","DEBUG_INFORMATION_FORMAT":"dwarf","ENABLE_TESTABILITY":"YES","GCC_NO_COMMON_BLOCKS":"YES","INFOPLIST_FILE":"\"HelloWorld-tvOSTests/Info.plist\"","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\"","PRODUCT_BUNDLE_IDENTIFIER":"\"com.facebook.REACT.HelloWorld-tvOSTests\"","PRODUCT_NAME":"\"$(TARGET_NAME)\"","SDKROOT":"appletvos","TEST_HOST":"\"$(BUILT_PRODUCTS_DIR)/HelloWorld-tvOS.app/HelloWorld-tvOS\"","TVOS_DEPLOYMENT_TARGET":"10.1"},"name":"Debug"},"2D02E4991E0B4A5E006451C7_comment":"Debug","2D02E49A1E0B4A5E006451C7":{"isa":"XCBuildConfiguration","buildSettings":{"BUNDLE_LOADER":"\"$(TEST_HOST)\"","CLANG_ANALYZER_NONNULL":"YES","CLANG_WARN_DOCUMENTATION_COMMENTS":"YES","CLANG_WARN_INFINITE_RECURSION":"YES","CLANG_WARN_SUSPICIOUS_MOVE":"YES","COPY_PHASE_STRIP":"NO","DEBUG_INFORMATION_FORMAT":"\"dwarf-with-dsym\"","GCC_NO_COMMON_BLOCKS":"YES","INFOPLIST_FILE":"\"HelloWorld-tvOSTests/Info.plist\"","LD_RUNPATH_SEARCH_PATHS":"\"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\"","PRODUCT_BUNDLE_IDENTIFIER":"\"com.facebook.REACT.HelloWorld-tvOSTests\"","PRODUCT_NAME":"\"$(TARGET_NAME)\"","SDKROOT":"appletvos","TEST_HOST":"\"$(BUILT_PRODUCTS_DIR)/HelloWorld-tvOS.app/HelloWorld-tvOS\"","TVOS_DEPLOYMENT_TARGET":"10.1"},"name":"Release"},"2D02E49A1E0B4A5E006451C7_comment":"Release","83CBBA201A601CBA00E9B192":{"isa":"XCBuildConfiguration","buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_CXX_LANGUAGE_STANDARD":"\"gnu++0x\"","CLANG_CXX_LIBRARY":"\"libc++\"","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\"":"\"iPhone Developer\"","COPY_PHASE_STRIP":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu99","GCC_DYNAMIC_NO_PIC":"NO","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":"8.0","MTL_ENABLE_DEBUG_INFO":"YES","ONLY_ACTIVE_ARCH":"YES","SDKROOT":"iphoneos"},"name":"Debug"},"83CBBA201A601CBA00E9B192_comment":"Debug","83CBBA211A601CBA00E9B192":{"isa":"XCBuildConfiguration","buildSettings":{"ALWAYS_SEARCH_USER_PATHS":"NO","CLANG_CXX_LANGUAGE_STANDARD":"\"gnu++0x\"","CLANG_CXX_LIBRARY":"\"libc++\"","CLANG_ENABLE_MODULES":"YES","CLANG_ENABLE_OBJC_ARC":"YES","CLANG_WARN_BOOL_CONVERSION":"YES","CLANG_WARN_CONSTANT_CONVERSION":"YES","CLANG_WARN_DIRECT_OBJC_ISA_USAGE":"YES_ERROR","CLANG_WARN_EMPTY_BODY":"YES","CLANG_WARN_ENUM_CONVERSION":"YES","CLANG_WARN_INT_CONVERSION":"YES","CLANG_WARN_OBJC_ROOT_CLASS":"YES_ERROR","CLANG_WARN_UNREACHABLE_CODE":"YES","CLANG_WARN__DUPLICATE_METHOD_MATCH":"YES","\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\"":"\"iPhone Developer\"","COPY_PHASE_STRIP":"YES","ENABLE_NS_ASSERTIONS":"NO","ENABLE_STRICT_OBJC_MSGSEND":"YES","GCC_C_LANGUAGE_STANDARD":"gnu99","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":"8.0","MTL_ENABLE_DEBUG_INFO":"NO","SDKROOT":"iphoneos","VALIDATE_PRODUCT":"YES"},"name":"Release"},"83CBBA211A601CBA00E9B192_comment":"Release"},"XCConfigurationList":{"00E357021AD99517003FC87E":{"isa":"XCConfigurationList","buildConfigurations":[{"value":"00E356F61AD99517003FC87E","comment":"Debug"},{"value":"00E356F71AD99517003FC87E","comment":"Release"}],"defaultConfigurationIsVisible":0,"defaultConfigurationName":"Release"},"00E357021AD99517003FC87E_comment":"Build configuration list for PBXNativeTarget \"HelloWorldTests\"","13B07F931A680F5B00A75B9A":{"isa":"XCConfigurationList","buildConfigurations":[{"value":"13B07F941A680F5B00A75B9A","comment":"Debug"},{"value":"13B07F951A680F5B00A75B9A","comment":"Release"}],"defaultConfigurationIsVisible":0,"defaultConfigurationName":"Release"},"13B07F931A680F5B00A75B9A_comment":"Build configuration list for PBXNativeTarget \"HelloWorld\"","2D02E4BA1E0B4A5E006451C7":{"isa":"XCConfigurationList","buildConfigurations":[{"value":"2D02E4971E0B4A5E006451C7","comment":"Debug"},{"value":"2D02E4981E0B4A5E006451C7","comment":"Release"}],"defaultConfigurationIsVisible":0,"defaultConfigurationName":"Release"},"2D02E4BA1E0B4A5E006451C7_comment":"Build configuration list for PBXNativeTarget \"HelloWorld-tvOS\"","2D02E4BB1E0B4A5E006451C7":{"isa":"XCConfigurationList","buildConfigurations":[{"value":"2D02E4991E0B4A5E006451C7","comment":"Debug"},{"value":"2D02E49A1E0B4A5E006451C7","comment":"Release"}],"defaultConfigurationIsVisible":0,"defaultConfigurationName":"Release"},"2D02E4BB1E0B4A5E006451C7_comment":"Build configuration list for PBXNativeTarget \"HelloWorld-tvOSTests\"","83CBB9FA1A601CBA00E9B192":{"isa":"XCConfigurationList","buildConfigurations":[{"value":"83CBBA201A601CBA00E9B192","comment":"Debug"},{"value":"83CBBA211A601CBA00E9B192","comment":"Release"}],"defaultConfigurationIsVisible":0,"defaultConfigurationName":"Release"},"83CBB9FA1A601CBA00E9B192_comment":"Build configuration list for PBXProject \"HelloWorld\""}},"rootObject":"83CBB9F71A601CBA00E9B192","rootObject_comment":"Project object"},"headComment":"!$*UTF8*$!"} \ No newline at end of file diff --git a/test/group.js b/test/group.js index b907c7e..6b1273a 100644 --- a/test/group.js +++ b/test/group.js @@ -243,8 +243,24 @@ exports.removeResourceFileFromGroup = { } } -exports.retrieveBuildPropertyForBuild = { - 'should retrieve valid build property ':function(test) { +exports.retrieveBuildProperty = { + 'should retrieve build property from default build':function(test) { + var productName = project.getBuildProperty('PRODUCT_NAME'); + + test.equal(productName, '"HelloCordova"'); + + test.done(); + }, + 'should retrieve build property from default build of first target':function(test) { + project.hash = require('./fixtures/ReactNativeHelloWorld'); + + var productName = project.getBuildProperty('PRODUCT_NAME'); + + test.equal(productName, 'HelloWorld'); + + test.done(); + }, + 'should retrieve build property from specific build': function(test) { var releaseTargetedDeviceFamily = project.getBuildProperty('TARGETED_DEVICE_FAMILY', 'Release'); var debugTargetedDeviceFamily = project.getBuildProperty('TARGETED_DEVICE_FAMILY', 'Debug'); var nonExistingProperty = project.getBuildProperty('FOO', 'Debug'); @@ -257,7 +273,7 @@ exports.retrieveBuildPropertyForBuild = { test.done(); } -} +}; exports.retrieveBuildConfigByName = { 'should retrieve valid build config':function(test) {