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

36% Statements 9/25
0% Branches 0/10
0% Functions 0/2
29.41% Lines 5/17

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
    302x
    2x

    2x

    2x

    2x

     import path from 'path';
    import {
        logTask,
        getAppFolder,
        writeCleanFile,
        getAppTemplateFolder,
        getConfigProp,
    } from '../../common';
    import { getAppFolderName } from './index';

    export const parseXcscheme = async (c, platform) => {
        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 },
        ]);
    };