LarpixClient/node_modules/@trapezedev/project/dist/ios/project.d.ts
2026-05-03 17:09:55 +02:00

184 lines
No EOL
8.9 KiB
TypeScript

import plist from 'plist';
import { MobileProject } from "../project";
import { IosPbxProject, IosEntitlements, IosFramework, IosBuildName, IosTarget, IosTargetName, IosTargetBuildConfiguration, IosFrameworkOpts } from '../definitions';
import { XmlFile } from '../xml';
import { PlistFile } from '../plist';
import { PlatformProject } from '../platform-project';
/**
* An instance of an IosProject in a mobile project
*/
export declare class IosProject extends PlatformProject {
private pbxProject;
constructor(project: MobileProject);
private log;
load(): Promise<void>;
/**
* Get a project file container for the given path in the project root.
* This will return an existing file container or create a new one.
*/
getProjectFile<T>(path: string, create: (filename: string) => T): T | null;
getXmlFile(path: string): Promise<XmlFile | null>;
getPlistFile(path: string): Promise<PlistFile | null>;
getPbxProject(): IosPbxProject | null;
/**
* Get all targets in the project
*/
getTargets(): IosTarget[] | null;
/**
* Get the target with the given name
*/
getTarget(name: string): IosTarget | null;
/**
* Get the main app target in the project.
*/
getAppTarget(): IosTarget | null;
/**
* Get the name of the main app target in the project
*/
getAppTargetName(): string | null;
/**
* Get the bundle id (aka the PRODUCT_BUNDLE_IDENTIFIER) for the given target and build. If build is null
* the value for all build targets (Debug and Release) will be set to the same value. If target is null
* the default app target will be used.
*/
getBundleId(targetName: IosTargetName | null, buildName?: string): string | null;
/**
* Set the bundle id (aka the PRODUCT_BUNDLE_IDENTIFIER) for the given target and build. If build is null
* the value for all build targets (Debug and Release) will be set to the same value. If target is null
* the default app target will be used.
*/
setBundleId(targetName: IosTargetName | null, buildName: IosBuildName | null, bundleId: string): void;
/**
* Get the build configurations for a given target.
*/
getBuildConfigurations(targetName: IosTargetName | null): IosTargetBuildConfiguration[];
/**
* Get the build configuration names (ex: Debug, Release) for a given target.
*/
getBuildConfigurationNames(targetName: IosTargetName | null): string[];
/**
* Set the product name for the given target. If the `targetName` is null the main app target is used.
*/
setProductName(targetName: IosTargetName | null, productName: string): void;
/**
* Get the product name for the given target. If the `targetName` is null the main app target is used.
*/
getProductName(targetName?: IosTargetName | undefined): string | null;
/**
* Set the build number (aka the `CURRENT_PROJECT_VERSION`) for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the value is set for both builds (Debug/Release);
*/
setBuild(targetName: IosTargetName | null, buildName: IosBuildName | null, buildNumber: number | string | null): Promise<void>;
/**
* Get the build number (aka the `CURRENT_PROJECT_VERSION`) for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the value is set for both builds (Debug/Release);
*/
getBuild(targetName: IosTargetName | null, buildName?: IosBuildName | null | undefined): Promise<any>;
/**
* Increment the build number for the given build name. If the build
* name is not specified, both Debug and Release builds are incremented.
*/
incrementBuild(targetName?: IosTargetName | undefined | null, buildName?: IosBuildName | null | undefined): Promise<void>;
/**
* Set the version (aka `MARKETING_VERSION`) for the given build (Debug/Release/etc)
*/
setVersion(targetName: IosTargetName | null, buildName: IosBuildName | null, version: string): Promise<void>;
/**
* Get the version (aka the `MARKETING_VERSION`) for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the value is set for both builds (Debug/Release);
*/
getVersion(targetName: IosTargetName | null, buildName: IosBuildName | null): any;
/**
* Set the build property for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the value is set for both builds (Debug/Release);
*/
setBuildProperty(targetName: IosTargetName | null, buildName: IosBuildName | null, key: string, value: string): void;
/**
* Get the build property for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the value is set for both builds (Debug/Release);
*/
getBuildProperty(targetName: IosTargetName | null, buildName: IosBuildName | null, key: string): string;
/**
* Add a framework for the given target.
* If the `targetName` is null the main app target is used.
*/
addFramework(targetName: IosTargetName | null, framework: IosFramework, opts?: IosFrameworkOpts): void;
/**
* Get the frameworks for the given target
* If the `targetName` is null the main app target is used.
*/
getFrameworks(targetName: IosTargetName | null): IosFramework[];
/**
* Get the path to the entitlements file for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
getEntitlementsFile(targetName: IosTargetName | null, buildName?: IosBuildName | undefined): string;
/**
* Add entitlements for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
addEntitlements(targetName: IosTargetName | null, buildName: IosBuildName | null, entitlements: IosEntitlements): Promise<void>;
/**
* Set entitlements for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
setEntitlements(targetName: IosTargetName | null, buildName: IosBuildName | null, entitlements: IosEntitlements): Promise<void>;
/**
* Get the parsed plist of the entitlements for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
getEntitlements(targetName: IosTargetName | null, buildName?: IosBuildName | undefined): Promise<plist.PlistObject | null | undefined>;
/**
* Gets the relative Info plist file from the build settings.
*/
getInfoPlist(targetName: IosTargetName | null, buildName?: IosBuildName | null | undefined): Promise<string>;
/**
* Gets the full relative path to the Info plist after getting the relative path
* from the build settings and resolving it with the app path
*/
getInfoPlistFilename(targetName: IosTargetName, buildName?: IosBuildName | null | undefined): Promise<string | null>;
/**
* Set the display name for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
setDisplayName(targetName: IosTargetName | null, buildName: IosBuildName | null, displayName: string): Promise<void>;
/**
* Get the display name for the given target and build.
* If the `targetName` is null the main app target is used. If the `buildName` is null the first
* build name is used.
*/
getDisplayName(targetName: IosTargetName | null, buildName?: IosBuildName | null | undefined): Promise<string | null>;
/**
* Update the Info plist for the given target and build. The entries will be merged
* into the existing plist file.
*
* Pass null as the `targetName` to use the main app target
*/
updateInfoPlist(targetName: IosTargetName | null, buildName: IosBuildName | null, entries: any, mergeMode?: {
replace: boolean;
}): Promise<void>;
copyFile(src: string, dest: string): Promise<void>;
/**
* Add a source file to the project. this attemps to add the file
* to the main "app" target, or adds it to the empty group (i.e. the root of
* the project tree) if the app target can't be found.
*/
addFile(path: string): Promise<void>;
private assertEntitlementsFile;
private assertTargetName;
private makeTargets;
private makeBuildConfigurations;
private plist;
private iosProjectRoot;
private pbxFilename;
xcodeprojName(): Promise<string>;
pbxprojName(): Promise<string>;
private pbx;
private pbxCommitFn;
}
//# sourceMappingURL=project.d.ts.map