1import { ExpoConfig } from '@expo/config-types'; 2import { ConfigPlugin } from '../Plugin.types'; 3import { InfoPlist } from './IosConfig.types'; 4export declare const withBundleIdentifier: ConfigPlugin<{ 5 bundleIdentifier?: string; 6}>; 7declare function getBundleIdentifier(config: Pick<ExpoConfig, 'ios'>): string | null; 8/** 9 * In Turtle v1 we set the bundleIdentifier directly on Info.plist rather 10 * than in pbxproj 11 */ 12declare function setBundleIdentifier(config: ExpoConfig, infoPlist: InfoPlist): InfoPlist; 13/** 14 * Gets the bundle identifier defined in the Xcode project found in the project directory. 15 * 16 * A bundle identifier is stored as a value in XCBuildConfiguration entry. 17 * Those entries exist for every pair (build target, build configuration). 18 * Unless target name is passed, the first target defined in the pbxproj is used 19 * (to keep compatibility with the inaccurate legacy implementation of this function). 20 * The build configuration is usually 'Release' or 'Debug'. However, it could be any arbitrary string. 21 * Defaults to 'Release'. 22 * 23 * @param {string} projectRoot Path to project root containing the ios directory 24 * @param {string} targetName Target name 25 * @param {string} buildConfiguration Build configuration. Defaults to 'Release'. 26 * @returns {string | null} bundle identifier of the Xcode project or null if the project is not configured 27 */ 28declare function getBundleIdentifierFromPbxproj(projectRoot: string, { targetName, buildConfiguration, }?: { 29 targetName?: string; 30 buildConfiguration?: string; 31}): string | null; 32/** 33 * Updates the bundle identifier for a given pbxproj 34 * 35 * @param {string} pbxprojPath Path to pbxproj file 36 * @param {string} bundleIdentifier Bundle identifier to set in the pbxproj 37 * @param {boolean} [updateProductName=true] Whether to update PRODUCT_NAME 38 */ 39declare function updateBundleIdentifierForPbxproj(pbxprojPath: string, bundleIdentifier: string, updateProductName?: boolean): void; 40/** 41 * Updates the bundle identifier for pbx projects inside the ios directory of the given project root 42 * 43 * @param {string} projectRoot Path to project root containing the ios directory 44 * @param {string} bundleIdentifier Desired bundle identifier 45 * @param {boolean} [updateProductName=true] Whether to update PRODUCT_NAME 46 */ 47declare function setBundleIdentifierForPbxproj(projectRoot: string, bundleIdentifier: string, updateProductName?: boolean): void; 48declare function resetAllPlistBundleIdentifiers(projectRoot: string): void; 49declare function resetPlistBundleIdentifier(plistPath: string): void; 50export { getBundleIdentifier, setBundleIdentifier, getBundleIdentifierFromPbxproj, updateBundleIdentifierForPbxproj, setBundleIdentifierForPbxproj, resetAllPlistBundleIdentifiers, resetPlistBundleIdentifier, }; 51