diff --git a/lib/services/ios-entitlements-service.ts b/lib/services/ios-entitlements-service.ts index c506971016..932fe88ab0 100644 --- a/lib/services/ios-entitlements-service.ts +++ b/lib/services/ios-entitlements-service.ts @@ -13,7 +13,7 @@ export class IOSEntitlementsService { private $logger: ILogger, private $devicePlatformsConstants: Mobile.IDevicePlatformsConstants, private $mobileHelper: Mobile.IMobileHelper, - private $pluginsService: IPluginsService + private $pluginsService: IPluginsService, ) {} public static readonly DefaultEntitlementsName: string = "app.entitlements"; @@ -23,9 +23,9 @@ export class IOSEntitlementsService { const entitlementsPath = path.join( projectData.appResourcesDirectoryPath, this.$mobileHelper.normalizePlatformName( - this.$options.platformOverride ?? this.$devicePlatformsConstants.iOS + this.$options.platformOverride ?? this.$devicePlatformsConstants.iOS, ), - entitlementsName + entitlementsName, ); return entitlementsPath; } @@ -33,18 +33,21 @@ export class IOSEntitlementsService { public getPlatformsEntitlementsPath(projectData: IProjectData): string { return path.join( projectData.platformsDir, - this.$options.platformOverride ?? - this.$devicePlatformsConstants.iOS.toLowerCase(), + this.$mobileHelper + .normalizePlatformName( + this.$options.platformOverride ?? this.$devicePlatformsConstants.iOS, + ) + .toLowerCase(), projectData.projectName, - projectData.projectName + ".entitlements" + projectData.projectName + ".entitlements", ); } public getPlatformsEntitlementsRelativePath( - projectData: IProjectData + projectData: IProjectData, ): string { return path.join( projectData.projectName, - projectData.projectName + ".entitlements" + projectData.projectName + ".entitlements", ); } @@ -71,7 +74,7 @@ export class IOSEntitlementsService { for (const plugin of allPlugins) { const pluginInfoPlistPath = path.join( plugin.pluginPlatformsFolderPath(this.$devicePlatformsConstants.iOS), - IOSEntitlementsService.DefaultEntitlementsName + IOSEntitlementsService.DefaultEntitlementsName, ); makePatch(pluginInfoPlistPath); } @@ -85,17 +88,17 @@ export class IOSEntitlementsService { const plistContent = session.build(); this.$logger.trace( "App.entitlements: Write to: " + - this.getPlatformsEntitlementsPath(projectData) + this.getPlatformsEntitlementsPath(projectData), ); this.$fs.writeFile( this.getPlatformsEntitlementsPath(projectData), - plistContent + plistContent, ); } } private getAllInstalledPlugins( - projectData: IProjectData + projectData: IProjectData, ): Promise { return this.$pluginsService.getAllInstalledPlugins(projectData); } diff --git a/lib/services/ios-project-service.ts b/lib/services/ios-project-service.ts index bfd37bf216..692a4567da 100644 --- a/lib/services/ios-project-service.ts +++ b/lib/services/ios-project-service.ts @@ -130,6 +130,7 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ } private _platformsDirCache: string = null; + private _platformOverrideCache: string = null; private _platformData: IPlatformData = null; public getPlatformData(projectData: IProjectData): IPlatformData { @@ -139,10 +140,12 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ ); } + const currentOverride = this.$options.platformOverride ?? null; if ( projectData && projectData.platformsDir && - this._platformsDirCache !== projectData.platformsDir + (this._platformsDirCache !== projectData.platformsDir || + this._platformOverrideCache !== currentOverride) ) { const platform = this.$mobileHelper.normalizePlatformName( this.$options.platformOverride ?? this.$devicePlatformsConstants.iOS, @@ -231,6 +234,8 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ ".xbm", ], // https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/ }; + this._platformsDirCache = projectData.platformsDir; + this._platformOverrideCache = currentOverride; } return this._platformData; @@ -659,13 +664,10 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ projectData: IProjectData, prepareData: IOSPrepareData, ): Promise { + const platformData = this.getPlatformData(projectData); const projectRoot = this.$options.hostProjectPath ? this.$options.hostProjectPath - : path.join( - projectData.platformsDir, - this.$devicePlatformsConstants.iOS.toLowerCase(), - ); - const platformData = this.getPlatformData(projectData); + : platformData.projectRoot; const pluginsData = this.getAllProductionPlugins(projectData); const pbxProjPath = this.getPbxProjPath(projectData); diff --git a/lib/services/ios/ios-signing-service.ts b/lib/services/ios/ios-signing-service.ts index dd44da952f..e05abb8dd0 100644 --- a/lib/services/ios/ios-signing-service.ts +++ b/lib/services/ios/ios-signing-service.ts @@ -9,6 +9,7 @@ import * as helpers from "../../common/helpers"; import { IOSProvisionService } from "../ios-provision-service"; import { IOSBuildData } from "../../data/build-data"; import { + IOptions, IProvisioningJSON, IXcconfigService, IXcprojService, @@ -25,19 +26,20 @@ export class IOSSigningService implements IiOSSigningService { private $fs: IFileSystem, private $iOSProvisionService: IOSProvisionService, private $logger: ILogger, + private $options: IOptions, private $pbxprojDomXcode: IPbxprojDomXcode, private $prompter: IPrompter, private $xcconfigService: IXcconfigService, - private $xcprojService: IXcprojService + private $xcprojService: IXcprojService, ) {} public async setupSigningForDevice( projectRoot: string, projectData: IProjectData, - iOSBuildData: IOSBuildData + iOSBuildData: IOSBuildData, ): Promise { const xcode = this.$pbxprojDomXcode.Xcode.open( - this.getPbxProjPath(projectData, projectRoot) + this.getPbxProjPath(projectData, projectRoot), ); const signing = xcode.getSigning(projectData.projectName); @@ -63,7 +65,7 @@ export class IOSSigningService implements IiOSSigningService { const teamId = await this.getDevelopmentTeam( projectData, projectRoot, - iOSBuildData.teamId + iOSBuildData.teamId, ); await this.setupSigningFromTeam(projectRoot, projectData, teamId); } @@ -72,10 +74,10 @@ export class IOSSigningService implements IiOSSigningService { public async setupSigningFromTeam( projectRoot: string, projectData: IProjectData, - teamId: string + teamId: string, ): Promise { const xcode = this.$pbxprojDomXcode.Xcode.open( - this.getPbxProjPath(projectData, projectRoot) + this.getPbxProjPath(projectData, projectRoot), ); const signing = xcode.getSigning(projectData.projectName); @@ -94,12 +96,11 @@ export class IOSSigningService implements IiOSSigningService { } if (shouldUpdateXcode) { - const teamIdsForName = await this.$iOSProvisionService.getTeamIdsWithName( - teamId - ); + const teamIdsForName = + await this.$iOSProvisionService.getTeamIdsWithName(teamId); if (teamIdsForName.length > 0) { this.$logger.trace( - `Team id ${teamIdsForName[0]} will be used for team name "${teamId}".` + `Team id ${teamIdsForName[0]} will be used for team name "${teamId}".`, ); teamId = teamIdsForName[0]; } @@ -111,7 +112,7 @@ export class IOSSigningService implements IiOSSigningService { IOSNativeTargetProductTypes.watchApp, IOSNativeTargetProductTypes.watchExtension, ], - teamId + teamId, ); this.getExtensionNames(projectData).forEach((name) => { xcode.setAutomaticSigningStyle(name, teamId); @@ -122,7 +123,7 @@ export class IOSSigningService implements IiOSSigningService { this.$logger.trace(`Set Automatic signing style and team id ${teamId}.`); } else { this.$logger.trace( - `The specified ${teamId} is already set in the Xcode.` + `The specified ${teamId} is already set in the Xcode.`, ); } } @@ -131,7 +132,7 @@ export class IOSSigningService implements IiOSSigningService { projectRoot: string, projectData: IProjectData, provision?: string, - mobileProvisionData?: mobileProvisionFinder.provision.MobileProvision + mobileProvisionData?: mobileProvisionFinder.provision.MobileProvision, ): Promise { if (!provision) { // read uuid from Xcode an cache... @@ -139,7 +140,7 @@ export class IOSSigningService implements IiOSSigningService { } const xcode = this.$pbxprojDomXcode.Xcode.open( - this.getPbxProjPath(projectData, projectRoot) + this.getPbxProjPath(projectData, projectRoot), ); const signing = xcode.getSigning(projectData.projectName); @@ -160,11 +161,11 @@ export class IOSSigningService implements IiOSSigningService { const projectSigningConfig = await this.getManualSigningConfiguration( projectData, provision, - mobileProvisionData + mobileProvisionData, ); xcode.setManualSigningStyle( projectData.projectName, - projectSigningConfig + projectSigningConfig, ); xcode.setManualSigningStyleByTargetProductTypesList( [ @@ -172,20 +173,20 @@ export class IOSSigningService implements IiOSSigningService { IOSNativeTargetProductTypes.watchApp, IOSNativeTargetProductTypes.watchExtension, ], - projectSigningConfig + projectSigningConfig, ); this.$logger.trace( - `Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})` + `Set Manual signing style and provisioning profile: ${projectSigningConfig.name} (${projectSigningConfig.uuid})`, ); const extensionSigningConfig = await Promise.all( - this.getExtensionsManualSigningConfiguration(projectData) + this.getExtensionsManualSigningConfiguration(projectData), ); extensionSigningConfig.forEach(({ name, configuration }) => { xcode.setManualSigningStyle(name, configuration); this.$logger.trace( - `Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})` + `Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`, ); }); @@ -193,7 +194,7 @@ export class IOSSigningService implements IiOSSigningService { // this.cache(uuid); } else { this.$logger.trace( - `The specified provisioning profile is already set in the Xcode: ${provision}` + `The specified provisioning profile is already set in the Xcode: ${provision}`, ); } } @@ -202,7 +203,7 @@ export class IOSSigningService implements IiOSSigningService { const extensionFolderPath = path.join( projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, - constants.NATIVE_EXTENSION_FOLDER + constants.NATIVE_EXTENSION_FOLDER, ); if (this.$fs.exists(extensionFolderPath)) { @@ -223,12 +224,12 @@ export class IOSSigningService implements IiOSSigningService { projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER, - constants.EXTENSION_PROVISIONING_FILENAME + constants.EXTENSION_PROVISIONING_FILENAME, ); if (this.$fs.exists(provisioningJSONPath)) { const provisioningJSON = this.$fs.readJson( - provisioningJSONPath + provisioningJSONPath, ) as IProvisioningJSON; const extensionNames = this.getExtensionNames(projectData); @@ -239,12 +240,12 @@ export class IOSSigningService implements IiOSSigningService { if (extensionNames.includes(name)) { const configuration = await this.getManualSigningConfiguration( projectData, - provision + provision, ); return { name, configuration }; } return null; - } + }, ); return provisioning; @@ -256,14 +257,14 @@ export class IOSSigningService implements IiOSSigningService { private async getManualSigningConfiguration( projectData: IProjectData, provision: string, - mobileProvisionData?: mobileProvisionFinder.provision.MobileProvision + mobileProvisionData?: mobileProvisionFinder.provision.MobileProvision, ) { const pickStart = Date.now(); const mobileprovision = mobileProvisionData || (await this.$iOSProvisionService.pick( provision, - projectData.projectIdentifiers.ios + projectData.projectIdentifiers.ios, )); const pickEnd = Date.now(); this.$logger.trace( @@ -271,13 +272,15 @@ export class IOSSigningService implements IiOSSigningService { (mobileprovision ? "found" : "failed to find ") + " matching provisioning profile. (" + (pickEnd - pickStart) + - "ms.)" + "ms.)", ); if (!mobileprovision) { this.$errors.fail( - "Failed to find mobile provision with UUID or Name: " + provision + "Failed to find mobile provision with UUID or Name: " + provision, ); } + const isVisionOS = + this.$options.platformOverride?.toLowerCase() === "visionos"; const configuration = { team: mobileprovision.TeamIdentifier && @@ -288,8 +291,12 @@ export class IOSSigningService implements IiOSSigningService { name: mobileprovision.Name, identity: mobileprovision.Type === "Development" - ? "iPhone Developer" - : "iPhone Distribution", + ? isVisionOS + ? "Apple Development" + : "iPhone Developer" + : isVisionOS + ? "Apple Distribution" + : "iPhone Distribution", }; return configuration; } @@ -298,17 +305,17 @@ export class IOSSigningService implements IiOSSigningService { return path.join( projectData.appResourcesDirectoryPath, iOSAppResourcesFolderName, - BUILD_XCCONFIG_FILE_NAME + BUILD_XCCONFIG_FILE_NAME, ); } private getPbxProjPath( projectData: IProjectData, - projectRoot: string + projectRoot: string, ): string { return path.join( this.$xcprojService.getXcodeprojPath(projectData, projectRoot), - "project.pbxproj" + "project.pbxproj", ); } private readTeamIdFromFile(projectRoot: string): string | undefined { @@ -325,17 +332,17 @@ export class IOSSigningService implements IiOSSigningService { private async getDevelopmentTeam( projectData: IProjectData, projectRoot: string, - teamId?: string + teamId?: string, ): Promise { teamId = teamId || this.readXCConfigDevelopmentTeam(projectData); if (!teamId) { const teams = await this.$iOSProvisionService.getDevelopmentTeams(); this.$logger.warn( - "Xcode requires a team id to be specified when building for device." + "Xcode requires a team id to be specified when building for device.", ); this.$logger.warn( - "You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands." + "You can specify the team id by setting the DEVELOPMENT_TEAM setting in build.xcconfig file located in App_Resources folder of your app, or by using the --teamId option when calling run, debug or livesync commands.", ); if (teams.length === 1) { teamId = teams[0].id; @@ -344,15 +351,15 @@ export class IOSSigningService implements IiOSSigningService { teams[0].name + " (" + teams[0].id + - ")" + ")", ); } else if (teams.length > 0) { if (!helpers.isInteractive()) { this.$errors.fail( `Unable to determine default development team. Available development teams are: ${_.map( teams, - (team) => team.id - )}. Specify team in app/App_Resources/iOS/build.xcconfig file in the following way: DEVELOPMENT_TEAM = ` + (team) => team.id, + )}. Specify team in app/App_Resources/iOS/build.xcconfig file in the following way: DEVELOPMENT_TEAM = `, ); } const fromFile = this.readTeamIdFromFile(projectRoot); @@ -370,7 +377,7 @@ export class IOSSigningService implements IiOSSigningService { } const choice = await this.$prompter.promptForChoice( "Found multiple development teams, select one:", - choices + choices, ); teamId = teams[choices.indexOf(choice)].id; @@ -383,18 +390,18 @@ export class IOSSigningService implements IiOSSigningService { "Do you want to make teamId: " + teamId + " a persistent choice for your app?", - choicesPersist + choicesPersist, ); switch (choicesPersist.indexOf(choicePersist)) { case 0: const xcconfigFile = path.join( projectData.appResourcesDirectoryPath, "iOS", - BUILD_XCCONFIG_FILE_NAME + BUILD_XCCONFIG_FILE_NAME, ); this.$fs.appendFile( xcconfigFile, - "\nDEVELOPMENT_TEAM = " + teamId + "\n" + "\nDEVELOPMENT_TEAM = " + teamId + "\n", ); break; case 1: @@ -415,41 +422,41 @@ export class IOSSigningService implements IiOSSigningService { private readXCConfigDevelopmentTeam(projectData: IProjectData): string { return this.$xcconfigService.readPropertyValue( this.getBuildXCConfigFilePath(projectData), - "DEVELOPMENT_TEAM" + "DEVELOPMENT_TEAM", ); } private readXCConfigProvisioningProfile(projectData: IProjectData): string { return this.$xcconfigService.readPropertyValue( this.getBuildXCConfigFilePath(projectData), - "PROVISIONING_PROFILE" + "PROVISIONING_PROFILE", ); } private readXCConfigProvisioningProfileForIPhoneOs( - projectData: IProjectData + projectData: IProjectData, ): string { return this.$xcconfigService.readPropertyValue( this.getBuildXCConfigFilePath(projectData), - "PROVISIONING_PROFILE[sdk=iphoneos*]" + "PROVISIONING_PROFILE[sdk=iphoneos*]", ); } private readXCConfigProvisioningProfileSpecifier( - projectData: IProjectData + projectData: IProjectData, ): string { return this.$xcconfigService.readPropertyValue( this.getBuildXCConfigFilePath(projectData), - "PROVISIONING_PROFILE_SPECIFIER" + "PROVISIONING_PROFILE_SPECIFIER", ); } private readXCConfigProvisioningProfileSpecifierForIPhoneOs( - projectData: IProjectData + projectData: IProjectData, ): string { return this.$xcconfigService.readPropertyValue( this.getBuildXCConfigFilePath(projectData), - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]", ); } } diff --git a/lib/services/ios/xcodebuild-args-service.ts b/lib/services/ios/xcodebuild-args-service.ts index 204c066423..8eee2ea366 100644 --- a/lib/services/ios/xcodebuild-args-service.ts +++ b/lib/services/ios/xcodebuild-args-service.ts @@ -121,6 +121,16 @@ export class XcodebuildArgsService implements IXcodebuildArgsService { ) .concat(this.getBuildLoggingArgs()); + // pbxproj-dom sets CODE_SIGN_IDENTITY[sdk=iphoneos*] which doesn't match + // the xros SDK used by visionOS builds — pass it explicitly as an override + if (isvisionOS) { + args.push( + `CODE_SIGN_IDENTITY=${ + buildConfig.release ? "Apple Distribution" : "Apple Development" + }`, + ); + } + return args; } diff --git a/test/services/ios/ios-signing-service.ts b/test/services/ios/ios-signing-service.ts index a3b1f33265..12dfc904a6 100644 --- a/test/services/ios/ios-signing-service.ts +++ b/test/services/ios/ios-signing-service.ts @@ -94,7 +94,7 @@ class XcodeMock implements IXcodeMock { public setManualSigningStyle( projectName: string, - configuration: ManualSigning + configuration: ManualSigning, ) { this.isSetManualSigningStyleCalled = true; this.manualSigningStyles[projectName] = configuration; @@ -204,6 +204,9 @@ function setup(data: SetupData): { injector: IInjector; xcodeMock: any } { injector.register("xcprojService", { getXcodeprojPath: () => "some/path", }); + injector.register("options", { + platformOverride: null, + }); injector.register("iOSSigningService", IOSSigningService); return { injector, xcodeMock }; @@ -258,7 +261,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -273,7 +276,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -288,7 +291,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isFalse(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isFalse( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); assert.isFalse(xcodeMock.isSaveCalled); @@ -303,7 +306,7 @@ describe("IOSSigningService", () => { }, assert: (xcodeMock: IXcodeMock) => { assert.isTrue( - xcodeMock.isSetManualSigningStyleCalledFor("testExtension") + xcodeMock.isSetManualSigningStyleCalledFor("testExtension"), ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -318,7 +321,7 @@ describe("IOSSigningService", () => { await iOSSigningService.setupSigningForDevice( projectRoot, projectData, - (testCase).buildConfig || {} + (testCase).buildConfig || {}, ); testCase.assert(xcodeMock); @@ -333,7 +336,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); @@ -345,7 +348,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); @@ -357,7 +360,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isFalse(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isFalse( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isFalse(xcodeMock.isSaveCalled); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); @@ -372,7 +375,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isFalse(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isFalse( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isFalse(xcodeMock.isSaveCalled); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); @@ -384,7 +387,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetAutomaticSigningStyleCalled); assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetAutomaticSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); @@ -398,7 +401,7 @@ describe("IOSSigningService", () => { }, assert: (xcodeMock: IXcodeMock) => { assert.isTrue( - xcodeMock.isSetAutomaticSigningStyleCalledFor("testExtension") + xcodeMock.isSetAutomaticSigningStyleCalledFor("testExtension"), ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -414,7 +417,7 @@ describe("IOSSigningService", () => { await iOSSigningService.setupSigningFromTeam( projectRoot, projectData, - teamId + teamId, ); testCase.assert(xcodeMock); @@ -429,7 +432,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetManualSigningStyleCalled); assert.isTrue( - xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -440,7 +443,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isTrue(xcodeMock.isSetManualSigningStyleCalled); assert.isTrue( - xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled, ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -451,7 +454,7 @@ describe("IOSSigningService", () => { assert: (xcodeMock: IXcodeMock) => { assert.isFalse(xcodeMock.isSetManualSigningStyleCalled); assert.isFalse( - xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled + xcodeMock.isSetManualSigningStyleByTargetProductTypesListCalled, ); assert.isFalse(xcodeMock.isSaveCalled); }, @@ -467,7 +470,7 @@ describe("IOSSigningService", () => { }, assert: (xcodeMock: IXcodeMock) => { assert.isTrue( - xcodeMock.isSetManualSigningStyleCalledFor("testExtension") + xcodeMock.isSetManualSigningStyleCalledFor("testExtension"), ); assert.isTrue(xcodeMock.isSaveCalled); }, @@ -486,7 +489,7 @@ describe("IOSSigningService", () => { if (provision_ === "") { testCase.arrangeData.provisioningJSON[id] = provision; } - } + }, ); } const { injector, xcodeMock } = setup(testCase.arrangeData); @@ -496,12 +499,12 @@ describe("IOSSigningService", () => { await iOSSigningService.setupSigningFromProvision( projectRoot, projectData, - provision + provision, ); testCase.assert(xcodeMock); }); - } + }, ); }); @@ -515,9 +518,9 @@ describe("IOSSigningService", () => { iOSSigningService.setupSigningFromProvision( projectRoot, projectData, - provision + provision, ), - `Failed to find mobile provision with UUID or Name: ${provision}` + `Failed to find mobile provision with UUID or Name: ${provision}`, ); }); });