Skip to content
This repository was archived by the owner on May 20, 2025. It is now read-only.

Commit 04cb006

Browse files
author
max-mironov
committed
Improved logic for searching plist path (case when package name is not equal to iOS ProductName)
1 parent e8a1605 commit 04cb006

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

scripts/postlink/ios/postlink.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,27 @@ function getBuildSettingsPropertyMatchingTargetProductName(parsedXCodeProj, prop
112112
var target;
113113
var COMMENT_KEY = /_comment$/;
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

Comments
 (0)