@@ -112,19 +112,27 @@ function getBuildSettingsPropertyMatchingTargetProductName(parsedXCodeProj, prop
112112 var target ;
113113 var COMMENT_KEY = / _ c o m m e n t $ / ;
114114 var PRODUCT_NAME_PROJECT_KEY = 'PRODUCT_NAME' ;
115-
116- if ( ! targetProductName ) {
117- return target ;
118- }
115+ var TV_OS_DEPLOYMENT_TARGET_PROPERTY_NAME = 'TVOS_DEPLOYMENT_TARGET' ;
116+ var TEST_HOST_PROPERTY_NAME = 'TEST_HOST' ;
119117
120118 var configs = parsedXCodeProj . pbxXCBuildConfigurationSection ( ) ;
121119 for ( var configName in configs ) {
122120 if ( ! COMMENT_KEY . test ( configName ) ) {
123121 var config = configs [ configName ] ;
124122 if ( ( build && config . name === build ) || ( build === undefined ) ) {
125- if ( config . buildSettings [ prop ] !== undefined && config . buildSettings [ PRODUCT_NAME_PROJECT_KEY ] == targetProductName ) {
126- target = config . buildSettings [ prop ] ;
127- }
123+ if ( targetProductName ) {
124+ if ( config . buildSettings [ prop ] !== undefined && config . buildSettings [ PRODUCT_NAME_PROJECT_KEY ] == targetProductName ) {
125+ target = config . buildSettings [ prop ] ;
126+ }
127+ } else {
128+ if ( config . buildSettings [ prop ] !== undefined &&
129+ //exclude tvOS projects
130+ config . buildSettings [ TV_OS_DEPLOYMENT_TARGET_PROPERTY_NAME ] == undefined &&
131+ //exclude test app
132+ config . buildSettings [ TEST_HOST_PROPERTY_NAME ] == undefined ) {
133+ target = config . buildSettings [ prop ] ;
134+ }
135+ }
128136 }
129137 }
130138 }
@@ -162,6 +170,8 @@ function getPlistPath(){
162170 //Try to get 'Release' build of ProductName matching the package name first and if it doesn't exist then try to get any other if existing
163171 var plistPathValue = getBuildSettingsPropertyMatchingTargetProductName ( parsedXCodeProj , INFO_PLIST_PROJECT_KEY , targetProductName , RELEASE_BUILD_PROPERTY_NAME ) ||
164172 getBuildSettingsPropertyMatchingTargetProductName ( parsedXCodeProj , INFO_PLIST_PROJECT_KEY , targetProductName ) ||
173+ getBuildSettingsPropertyMatchingTargetProductName ( parsedXCodeProj , INFO_PLIST_PROJECT_KEY , null , RELEASE_BUILD_PROPERTY_NAME ) ||
174+ getBuildSettingsPropertyMatchingTargetProductName ( parsedXCodeProj , INFO_PLIST_PROJECT_KEY ) ||
165175 parsedXCodeProj . getBuildProperty ( INFO_PLIST_PROJECT_KEY , RELEASE_BUILD_PROPERTY_NAME ) ||
166176 parsedXCodeProj . getBuildProperty ( INFO_PLIST_PROJECT_KEY ) ;
167177
0 commit comments