Add local iOS release pipeline, fix shortcuts, and improve invoice UX.
Enable App Store builds without EAS, iOS 18 App Intents plugins, and signing fixes for distribution export. Add mobile invoice PDF preview, compact line items, and more reliable shortcut deep-link handling. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
// @ts-check
|
||||
const { withXcodeProject } = require("@expo/config-plugins");
|
||||
|
||||
const RELEASE_SIGN_KEY = '"CODE_SIGN_IDENTITY[sdk=iphoneos*]"';
|
||||
|
||||
/**
|
||||
* RN / Expo sets Release CODE_SIGN_IDENTITY to "iPhone Developer", which forces
|
||||
* development-signed archives. Remove it so automatic signing picks Distribution
|
||||
* for App Store archives.
|
||||
*/
|
||||
/** @type {import('@expo/config-plugins').ConfigPlugin} */
|
||||
function withAppStoreSigning(config) {
|
||||
return withXcodeProject(config, (config) => {
|
||||
const project = config.modResults;
|
||||
const configurations = project.pbxXCBuildConfigurationSection();
|
||||
|
||||
for (const key of Object.keys(configurations)) {
|
||||
const buildConfig = configurations[key];
|
||||
if (!buildConfig || typeof buildConfig !== "object" || !buildConfig.buildSettings) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (buildConfig.name !== "Release") {
|
||||
continue;
|
||||
}
|
||||
|
||||
const identity = buildConfig.buildSettings[RELEASE_SIGN_KEY];
|
||||
if (
|
||||
identity === "iPhone Developer" ||
|
||||
identity === '"iPhone Developer"' ||
|
||||
identity === "Apple Distribution" ||
|
||||
identity === '"Apple Distribution"'
|
||||
) {
|
||||
delete buildConfig.buildSettings[RELEASE_SIGN_KEY];
|
||||
}
|
||||
}
|
||||
|
||||
return config;
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = withAppStoreSigning;
|
||||
Reference in New Issue
Block a user