@@ -53,7 +53,7 @@ export class XcodebuildArgsService implements IXcodebuildArgsService {
53
53
)
54
54
)
55
55
. concat ( this . getBuildLoggingArgs ( ) )
56
- . concat ( this . getXcodeProjectArgs ( platformData . projectRoot , projectData ) ) ;
56
+ . concat ( this . getXcodeProjectArgs ( platformData , projectData ) ) ;
57
57
58
58
return args ;
59
59
}
@@ -78,7 +78,7 @@ export class XcodebuildArgsService implements IXcodebuildArgsService {
78
78
buildConfig . release ? Configurations . Release : Configurations . Debug ,
79
79
"-allowProvisioningUpdates" ,
80
80
]
81
- . concat ( this . getXcodeProjectArgs ( platformData . projectRoot , projectData ) )
81
+ . concat ( this . getXcodeProjectArgs ( platformData , projectData ) )
82
82
. concat ( architectures )
83
83
. concat (
84
84
this . getBuildCommonArgs (
@@ -108,38 +108,43 @@ export class XcodebuildArgsService implements IXcodebuildArgsService {
108
108
}
109
109
110
110
public getXcodeProjectArgs (
111
- projectRoot : string ,
111
+ platformData : IPlatformData ,
112
112
projectData : IProjectData
113
113
) : string [ ] {
114
114
const xcworkspacePath = path . join (
115
- projectRoot ,
115
+ platformData . projectRoot ,
116
116
`${ projectData . projectName } .xcworkspace`
117
117
) ;
118
118
// Introduced in Xcode 14+
119
119
// ref: https://forums.swift.org/t/telling-xcode-14-beta-4-to-trust-build-tool-plugins-programatically/59305/5
120
120
const skipPackageValidation = "-skipPackagePluginValidation" ;
121
121
122
+ const extraArgs : string [ ] = [
123
+ "-scheme" ,
124
+ projectData . projectName ,
125
+ skipPackageValidation ,
126
+ ] ;
127
+
128
+ const BUILD_SETTINGS_FILE_PATH = path . join (
129
+ projectData . appResourcesDirectoryPath ,
130
+ platformData . normalizedPlatformName ,
131
+ constants . BUILD_XCCONFIG_FILE_NAME
132
+ ) ;
133
+
134
+ if ( this . $fs . exists ( BUILD_SETTINGS_FILE_PATH ) ) {
135
+ extraArgs . push ( "-xcconfig" ) ;
136
+ extraArgs . push ( BUILD_SETTINGS_FILE_PATH ) ;
137
+ }
138
+
122
139
if ( this . $fs . exists ( xcworkspacePath ) ) {
123
- return [
124
- "-workspace" ,
125
- xcworkspacePath ,
126
- "-scheme" ,
127
- projectData . projectName ,
128
- skipPackageValidation ,
129
- ] ;
140
+ return [ "-workspace" , xcworkspacePath , ...extraArgs ] ;
130
141
}
131
142
132
143
const xcodeprojPath = path . join (
133
- projectRoot ,
144
+ platformData . projectRoot ,
134
145
`${ projectData . projectName } .xcodeproj`
135
146
) ;
136
- return [
137
- "-project" ,
138
- xcodeprojPath ,
139
- "-scheme" ,
140
- projectData . projectName ,
141
- skipPackageValidation ,
142
- ] ;
147
+ return [ "-project" , xcodeprojPath , ...extraArgs ] ;
143
148
}
144
149
145
150
private getBuildLoggingArgs ( ) : string [ ] {
0 commit comments