# All files / src/platformTools/apple xcschemeParser.js

46.15% Statements 12/26
0% Branches 0/7
0% Functions 0/2
40.91% Lines 9/22

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    474x
    4x
    4x
    4x

    4x
    4x
    4x

    4x

    4x
     import path from 'path';
    import fs from 'fs';
    import chalk from 'chalk';
    import {
        logTask,
        logError,
        logWarning,
        getAppFolder,
        isPlatformActive,
        logDebug,
        getAppVersion,
        getAppTitle,
        getEntryFile,
        writeCleanFile,
        getAppTemplateFolder,
        getAppId,
        getConfigProp,
        getIP,
        getBuildFilePath,
        logSuccess,
        getBuildsFolder
    } from '../../common';
    import { copyBuildsFolder } from '../../projectTools/projectParser'
    import { getMergedPlugin, parsePlugins } from '../../pluginTools';
    import { getAppFolderName } from '../apple';

    export const parseXcscheme = (c, platform) => new Promise((resolve, reject) => {
        logTask(`parseXcscheme:${platform}`);
        // XCSCHEME
        const allowProvisioningUpdates = getConfigProp(c, platform, 'allowProvisioningUpdates', true);
        const provisioningStyle = getConfigProp(c, platform, 'provisioningStyle', 'Automatic');
        const runScheme = getConfigProp(c, platform, 'runScheme');
        const poisxSpawn = runScheme === 'Release' && !allowProvisioningUpdates && provisioningStyle === 'Manual';
        const appFolder = getAppFolder(c, platform);
        const appFolderName = getAppFolderName(c, platform);
        const appTemplateFolder = getAppTemplateFolder(c, platform);

        const debuggerId = poisxSpawn ? '' : 'Xcode.DebuggerFoundation.Debugger.LLDB';
        const launcherId = poisxSpawn ? 'Xcode.IDEFoundation.Launcher.PosixSpawn' : 'Xcode.DebuggerFoundation.Launcher.LLDB';
        const schemePath = `${appFolderName}.xcodeproj/xcshareddata/xcschemes/${appFolderName}.xcscheme`;
        writeCleanFile(path.join(appTemplateFolder, schemePath), path.join(appFolder, schemePath), [
            { pattern: '{{PLUGIN_DEBUGGER_ID}}', override: debuggerId },
            { pattern: '{{PLUGIN_LAUNCHER_ID}}', override: launcherId },
        ]);
        resolve();
    });