alerte-secours/app/plugins/withCustomScheme.js
devthejo 3e56818c1d chore(to-monorepo): import as-app repo into app
git-subtree-dir: app
git-subtree-mainline: b28b08a80b
git-subtree-split: a6c3dc2641
2026-03-09 08:54:57 +01:00

42 lines
1.5 KiB
JavaScript

const { withInfoPlist } = require("@expo/config-plugins");
module.exports = function withCustomScheme(config) {
return withInfoPlist(config, (config) => {
// Ensure CFBundleURLTypes exists
if (!config.modResults.CFBundleURLTypes) {
config.modResults.CFBundleURLTypes = [];
}
// Find or create our custom scheme entry
let customSchemeEntry = config.modResults.CFBundleURLTypes.find((entry) =>
entry.CFBundleURLSchemes?.includes("com.alertesecours.alertesecours"),
);
if (!customSchemeEntry) {
customSchemeEntry = {
CFBundleURLName: "com.alertesecours.alertesecours",
CFBundleURLSchemes: ["com.alertesecours.alertesecours"],
};
config.modResults.CFBundleURLTypes.push(customSchemeEntry);
} else if (!customSchemeEntry.CFBundleURLName) {
customSchemeEntry.CFBundleURLName = "com.alertesecours.alertesecours";
}
// Find or create Expo scheme entry
let expoSchemeEntry = config.modResults.CFBundleURLTypes.find((entry) =>
entry.CFBundleURLSchemes?.includes("exp+alerte-secours"),
);
if (!expoSchemeEntry) {
expoSchemeEntry = {
CFBundleURLName: "com.alertesecours.alertesecours.expo",
CFBundleURLSchemes: ["exp+alerte-secours"],
};
config.modResults.CFBundleURLTypes.push(expoSchemeEntry);
} else if (!expoSchemeEntry.CFBundleURLName) {
expoSchemeEntry.CFBundleURLName = "com.alertesecours.alertesecours.expo";
}
return config;
});
};