diff --git a/lib/commands/appstore-upload.ts b/lib/commands/appstore-upload.ts index 949c15c372..31463c3b19 100644 --- a/lib/commands/appstore-upload.ts +++ b/lib/commands/appstore-upload.ts @@ -62,7 +62,7 @@ export class PublishIOS implements ICommand { ipaFilePath = await this.$buildController.prepareAndBuild(buildData); } else { this.$logger.info("No .ipa, mobile provision or certificate set. Perfect! Now we'll build .xcarchive and let Xcode pick the distribution certificate and provisioning profile for you when exporting .ipa for AppStore submission."); - const buildData = new IOSBuildData(this.$projectData.projectDir, platform, { ...this.$options, buildForAppStore: true }); + const buildData = new IOSBuildData(this.$projectData.projectDir, platform, { ...this.$options.argv, buildForAppStore: true }); ipaFilePath = await this.$buildController.prepareAndBuild(buildData); this.$logger.info(`Export at: ${ipaFilePath}`); } diff --git a/lib/definitions/build.d.ts b/lib/definitions/build.d.ts index 0733fbed91..a0840329cf 100644 --- a/lib/definitions/build.d.ts +++ b/lib/definitions/build.d.ts @@ -3,6 +3,7 @@ interface IBuildData extends IPrepareData { emulator?: boolean; clean: boolean; buildForDevice?: boolean; + buildForAppStore?: boolean; buildOutputStdio?: string; outputPath?: string; copyTo?: string; diff --git a/lib/services/ios-project-service.ts b/lib/services/ios-project-service.ts index 149fec0188..7811974f2d 100644 --- a/lib/services/ios-project-service.ts +++ b/lib/services/ios-project-service.ts @@ -72,12 +72,12 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ appDestinationDirectoryPath: path.join(projectRoot, projectData.projectName), platformProjectService: this, projectRoot: projectRoot, - getBuildOutputPath: (options: IBuildOutputOptions): string => { + getBuildOutputPath: (options: IBuildData): string => { const config = getConfigurationName(!options || options.release); - return path.join(projectRoot, constants.BUILD_DIR, `${config}-${getPlatformSdkName(!options || options.buildForDevice)}`); + return path.join(projectRoot, constants.BUILD_DIR, `${config}-${getPlatformSdkName(!options || options.buildForDevice || options.buildForAppStore)}`); }, - getValidBuildOutputData: (buildOptions: IBuildOutputOptions): IValidBuildOutputData => { - const forDevice = !buildOptions || !!buildOptions.buildForDevice; + getValidBuildOutputData: (buildOptions: IBuildData): IValidBuildOutputData => { + const forDevice = !buildOptions || !!buildOptions.buildForDevice || !!buildOptions.buildForAppStore; if (forDevice) { return { packageNames: [`${projectData.projectName}.ipa`]