UNPKG

3.37 kBSource Map (JSON)View Raw
1{"version":3,"file":"DeviceFamily.js","sourceRoot":"","sources":["../../src/ios/DeviceFamily.ts"],"names":[],"mappings":";;AAIA,4DAAqD;AAErD,SAAgB,iBAAiB,CAAC,MAAkB;;IAClD,UAAI,MAAM,CAAC,GAAG,0CAAE,cAAc,EAAE;QAC9B,aAAO,MAAM,CAAC,GAAG,0CAAE,cAAc,CAAC;KACnC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAND,8CAMC;AAED,SAAgB,eAAe,CAAC,MAAkB;;IAChD,UAAI,MAAM,CAAC,GAAG,0CAAE,YAAY,EAAE;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KAChC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAND,0CAMC;AAED,SAAgB,iBAAiB,CAAC,MAAkB;IAClD,IAAI,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,yBAAyB;IACzB,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,CAAC,CAAC,CAAC;KACZ;SAAM,IAAI,cAAc,EAAE;QACzB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACf;SAAM;QACL,OAAO,CAAC,CAAC,CAAC,CAAC;KACZ;AACH,CAAC;AAZD,8CAYC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAkB,EAAE,WAAmB;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,YAAY,EAAE;QAChB,iCAAa,CACX,cAAc,EACd,wFAAwF,CACzF,CAAC;KACH;SAAM,IAAI,cAAc,EAAE;QACzB,iCAAa,CACX,gBAAgB,EAChB,wFAAwF,CACzF,CAAC;KACH;IAED,6EAA6E;IAC7E,8DAA8D;IAC9D,EAAE;IACF,2CAA2C;IAC3C,2DAA2D;IAC3D,4BAA4B;IAC5B,2BAA2B;IAC3B,6BAA6B;IAC7B,kDAAkD;IAClD,kDAAkD;IAClD,QAAQ;IACR,2DAA2D;AAC7D,CAAC;AA9BD,0CA8BC","sourcesContent":["import fs from 'fs-extra';\n\nimport { ExpoConfig } from '../Config.types';\nimport { getPbxproj, isBuildConfig, removeComments, removeTestHosts } from './utils/Xcodeproj';\nimport { addWarningIOS } from '../WarningAggregator';\n\nexport function getSupportsTablet(config: ExpoConfig) {\n if (config.ios?.supportsTablet) {\n return config.ios?.supportsTablet;\n }\n\n return false;\n}\n\nexport function getIsTabletOnly(config: ExpoConfig) {\n if (config.ios?.isTabletOnly) {\n return config.ios.isTabletOnly;\n }\n\n return false;\n}\n\nexport function getDeviceFamilies(config: ExpoConfig) {\n let supportsTablet = getSupportsTablet(config);\n let isTabletOnly = getIsTabletOnly(config);\n\n // 1 is iPhone, 2 is iPad\n if (isTabletOnly) {\n return [2];\n } else if (supportsTablet) {\n return [1, 2];\n } else {\n return [1];\n }\n}\n\n/**\n * Add to pbxproj under TARGETED_DEVICE_FAMILY\n */\nexport function setDeviceFamily(config: ExpoConfig, projectRoot: string) {\n const deviceFamilies = getDeviceFamilies(config);\n\n let supportsTablet = getSupportsTablet(config);\n let isTabletOnly = getIsTabletOnly(config);\n\n if (isTabletOnly) {\n addWarningIOS(\n 'isTabletOnly',\n 'You will need to configure this in the \"General\" tab for your project target in Xcode.'\n );\n } else if (supportsTablet) {\n addWarningIOS(\n 'supportsTablet',\n 'You will need to configure this in the \"General\" tab for your project target in Xcode.'\n );\n }\n\n // TODO: we might need to actually fork the \"xcode\" package to make this work\n // See: https://github.com/apache/cordova-node-xcode/issues/86\n //\n // const project = getPbxproj(projectRoot);\n // Object.entries(project.pbxXCBuildConfigurationSection())\n // .filter(removeComments)\n // .filter(isBuildConfig)\n // .filter(removeTestHosts)\n // .forEach(({ 1: { buildSettings } }: any) => {\n // buildSettings.TARGETED_DEVICE_FAMILY = '1';\n // });\n // fs.writeFileSync(project.filepath, project.writeSync());\n}\n"]}
\No newline at end of file