Skip to content

Commit

Permalink
Revert changes
Browse files Browse the repository at this point in the history
  • Loading branch information
bndkt committed Aug 16, 2022
1 parent 0602b43 commit 9881f70
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 33 deletions.
31 changes: 21 additions & 10 deletions src/withAppClipAppConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,29 @@ export const withAppClipAppConfig: ConfigPlugin = (config) => {
config.ios!.bundleIdentifier!
);

let appClipConfigExists = false;
let appClipConfigIndex = null;
config.extra?.eas?.build?.experimental?.ios?.appExtensions?.forEach(
(ext: any) => {
ext.targetName === appClipName && (appClipConfigExists = true);
(ext: any, index: number) => {
ext.targetName === appClipName && (appClipConfigIndex = index);
}
);

const entitlements: InfoPlist = {
const newEntitlements: InfoPlist = {
"com.apple.developer.parent-application-identifiers": [
`${appBundleIdentifier}`,
],
"com.apple.developer.on-demand-install-capable": true,
};

config.ios!.usesAppleSignIn &&
(entitlements["com.apple.developer.applesignin"] = ["Default"]);
(newEntitlements["com.apple.developer.applesignin"] = ["Default"]);

config.ios!.associatedDomains &&
(entitlements["com.apple.developer.associated-domains"] =
(newEntitlements["com.apple.developer.associated-domains"] =
config.ios!.associatedDomains);

!appClipConfigExists &&
(config.extra = {
if (!appClipConfigIndex) {
config.extra = {
...config.extra,
eas: {
...config.extra?.eas,
Expand All @@ -47,14 +47,25 @@ export const withAppClipAppConfig: ConfigPlugin = (config) => {
{
targetName: appClipName,
bundleIdentifier: `${appClipBundleIdentifier}`,
entitlements,
},
],
},
},
},
},
});
};
appClipConfigIndex = 0;
}

if (appClipConfigIndex != null && config.extra) {
const appClipConfig =
config.extra.eas.build.experimental.ios.appExtensions[appClipConfigIndex];

appClipConfig.entitlements = {
...appClipConfig.entitlements,
...newEntitlements,
};
}

return config;
};
47 changes: 26 additions & 21 deletions src/withAppClipEntitlements.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {
ConfigPlugin,
InfoPlist,
withEntitlementsPlist,
withDangerousMod,
} from "@expo/config-plugins";
import plist from "@expo/plist";
import * as fs from "fs";
Expand All @@ -10,27 +10,32 @@ import * as path from "path";
import { getAppClipFolder } from "./withIosAppClip";

export const withAppClipEntitlements: ConfigPlugin = (config) => {
return withEntitlementsPlist(config, (config) => {
const bundleIdentifier = config.ios!.bundleIdentifier!;
const appClipFolderName = getAppClipFolder(config.modRequest.projectName!);
const appClipRootPath = path.join(
config.modRequest.platformProjectRoot,
appClipFolderName
);
const filePath = path.join(
appClipRootPath,
`${appClipFolderName}.entitlements`
);
return withDangerousMod(config, [
"ios",
async (config) => {
const bundleIdentifier = config.ios!.bundleIdentifier!;
const appClipFolderName = getAppClipFolder(
config.modRequest.projectName!
);
const appClipRootPath = path.join(
config.modRequest.platformProjectRoot,
appClipFolderName
);
const filePath = path.join(
appClipRootPath,
`${appClipFolderName}.entitlements`
);

const appClipPlist: InfoPlist = Object.assign({}, config.modResults);
const appClipPlist: InfoPlist = {
"com.apple.developer.parent-application-identifiers": [
`$(AppIdentifierPrefix)${bundleIdentifier}`,
],
};

appClipPlist[
"com.apple.developer.parent-application-identifiers"
] = `$(AppIdentifierPrefix)${bundleIdentifier}`;
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
await fs.promises.writeFile(filePath, plist.build(appClipPlist));

fs.mkdirSync(path.dirname(filePath), { recursive: true });
fs.writeFileSync(filePath, plist.build(appClipPlist));

return config;
});
return config;
},
]);
};
4 changes: 2 additions & 2 deletions src/withIosAppClip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ const withIosAppClip: ConfigPlugin<WithIosAppClipConfigPluginProps> = (
config = withAppClipAppConfig(config);
config = withAppClipAppDelegate(config);
config = withAppClipPlist(config);
config = withAppClipPodfile(config);
config = withAppEntitlements(config);
config = withAppClipEntitlements(config);
config = withAppClipXcodeTarget(config, { name: props && props.name });
config = withAppClipPodfile(config);
config = withAppEntitlements(config);

return config;
};
Expand Down

0 comments on commit 9881f70

Please sign in to comment.