@@ -112,19 +112,27 @@ function getBuildSettingsPropertyMatchingTargetProductName(parsedXCodeProj, prop
112
112
var target ;
113
113
var COMMENT_KEY = / _ c o m m e n t $ / ;
114
114
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' ;
119
117
120
118
var configs = parsedXCodeProj . pbxXCBuildConfigurationSection ( ) ;
121
119
for ( var configName in configs ) {
122
120
if ( ! COMMENT_KEY . test ( configName ) ) {
123
121
var config = configs [ configName ] ;
124
122
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
+ }
128
136
}
129
137
}
130
138
}
@@ -162,6 +170,8 @@ function getPlistPath(){
162
170
//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
163
171
var plistPathValue = getBuildSettingsPropertyMatchingTargetProductName ( parsedXCodeProj , INFO_PLIST_PROJECT_KEY , targetProductName , RELEASE_BUILD_PROPERTY_NAME ) ||
164
172
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 ) ||
165
175
parsedXCodeProj . getBuildProperty ( INFO_PLIST_PROJECT_KEY , RELEASE_BUILD_PROPERTY_NAME ) ||
166
176
parsedXCodeProj . getBuildProperty ( INFO_PLIST_PROJECT_KEY ) ;
167
177
0 commit comments