xcode:change-app-id

Full name:

com.sap.prd.mobile.ios.mios:xcode-maven-plugin:1.14.5:change-app-id

Description:

Appends a suffix to the appId. No actions are taken if the suffix is not specified or the suffix has zero length.

Attributes:

  • Requires a Maven project to be executed.

Optional Parameters

Name Type Since Description
appIdSuffix String 1.2.0 This suffix gets appended to the appId as '.<appIdSuffix>' in the Info.plist before the signing takes place.
appType String - appType helps to inject the appIdSuffix in to appropriate location of appId in the Info.plist before the signing takes place. Without type appId will be suffixed with the given value, with type we are injecting value at appropriate location
buildActions List - The Xcode build action to to execute (e.g. clean, build, install). By default clean and build are executed.
checkoutDirectory File - The original Xcode sources located in the src/xcode directory stay untouched during the whole Maven build. However, as we might have to modify the info.plist or the project itself we copy the whole Xcode source directory during the build into another "checkout" directory that by default named checkout and located below the Maven build ( target) directory.
codeSignIdentity String 1.2.0 The code sign identity is used to select the provisioning profile (e.g. iPhone Distribution, iPhone Developer).
codeSigningRequired boolean 1.14.1 The code signing required is used to disable code signing when no developer provisioning certificate is available (e.g. NO, YES).
Default value is: true.
configurations Set - The Xcode configurations that shall be built (e.g. Debug and Release). If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppConfigurations or defaultLibConfigurations parameters
defaultAppConfigurations String 1.2.0 Comma separated list of the default Xcode build configurations that should be built for apps (in contrast to libraries). These values only apply if no "configurations" are explicitly provided in the POM.
Default value is: Release,Debug.
defaultAppSdks String 1.2.0 Comma separated list of the default Xcode SDKs that should be used for apps (in contrast to libs). These values only apply if no "sdks" are explicitly provided in the POM.
Default value is: iphoneos,iphonesimulator.
defaultLibConfigurations String 1.2.0 Comma separated list of the default Xcode build configurations that should be built for libraries (in contrast to apps). These values only apply if no "configurations" are explicitly provided in the POM.
Default value is: Release,Debug.
defaultLibSdks String 1.2.0 Comma separated list of the default Xcode SDKs that should be used for libraries (in contrast to apps). These values only apply if no "sdks" are explicitly provided in the POM.
Default value is: iphoneos,iphonesimulator.
defaultxcconfig String 1.14.5 For simple application central team manages the xcconfig. This will be managed in settings.xml
options Map 1.6.2 Options to pass to XCode - if any are explicitly defined here, this plugin will not provide default options to XCode.
productName String - (no description)
provisioningProfile String 1.2.1 Can be used to override the provisioning profile defined in the Xcode project target. You can set it to an empty String if you want to use the default provisioning profile.
sdks Set - Explicit lists of sdks (iphoneos,iphonesimulator) the Xcode project shall be built for. If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppSdks or defaultLibSdks parameters
settings Map 1.6.2 Settings to pass to XCode - if any are explicitly defined here, this plugin will not provide default settings to XCode.
symRootDir String 1.14.4 Allowed developers to override the SYMROOT settings
Default value is: build.
target String 1.4.1 The Xcode target to be built. If not specified, the default target (the first target) will be built.
watchapp String 1.14.3 (no description)
watchkitAppPlist String - watchkitAppPlist helps to know the location of watchkitApp plist file appIdSuffix will be injected to this plist file
watchkitExtentionPlist String - watchkitExtensionPlist helps to know the location of watchkitExtension plist file appIdSuffix will be injected to this plist file
xcconfigDir String 1.14.5 Allowed developers to override the xcconfig settings through pom.xml Signing methodology has been changed with xcode8 onwards, to enable this we are expecting dev to give singing related parameters This is only for the Apps with Entitlements like Push notification, Wallet etc...
xcodeCompileDirectory File - The xcode directory of the copied sources below the checkout directory.

Parameter Details

appIdSuffix:

This suffix gets appended to the appId as '.<appIdSuffix>' in the Info.plist before the signing takes place.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.appIdSuffix}

appType:

appType helps to inject the appIdSuffix in to appropriate location of appId in the Info.plist before the signing takes place. Without type appId will be suffixed with the given value, with type we are injecting value at appropriate location
  • Type: java.lang.String
  • Required: No
  • Expression: ${xcode.appType}

buildActions:

The Xcode build action to to execute (e.g. clean, build, install). By default clean and build are executed.
  • Type: java.util.List
  • Required: No

checkoutDirectory:

The original Xcode sources located in the src/xcode directory stay untouched during the whole Maven build. However, as we might have to modify the info.plist or the project itself we copy the whole Xcode source directory during the build into another "checkout" directory that by default named checkout and located below the Maven build ( target) directory.
  • Type: java.io.File
  • Required: No
  • Expression: ${xcode.checkoutDirectory}

codeSignIdentity:

The code sign identity is used to select the provisioning profile (e.g. iPhone Distribution, iPhone Developer).
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.codeSignIdentity}

codeSigningRequired:

The code signing required is used to disable code signing when no developer provisioning certificate is available (e.g. NO, YES).
  • Type: boolean
  • Since: 1.14.1
  • Required: No
  • Expression: ${xcode.codeSigningRequired}
  • Default: true

configurations:

The Xcode configurations that shall be built (e.g. Debug and Release). If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppConfigurations or defaultLibConfigurations parameters
  • Type: java.util.Set
  • Required: No

defaultAppConfigurations:

Comma separated list of the default Xcode build configurations that should be built for apps (in contrast to libraries). These values only apply if no "configurations" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.app.defaultConfigurations}
  • Default: Release,Debug

defaultAppSdks:

Comma separated list of the default Xcode SDKs that should be used for apps (in contrast to libs). These values only apply if no "sdks" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.app.defaultSdks}
  • Default: iphoneos,iphonesimulator

defaultLibConfigurations:

Comma separated list of the default Xcode build configurations that should be built for libraries (in contrast to apps). These values only apply if no "configurations" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.lib.defaultConfigurations}
  • Default: Release,Debug

defaultLibSdks:

Comma separated list of the default Xcode SDKs that should be used for libraries (in contrast to apps). These values only apply if no "sdks" are explicitly provided in the POM.
  • Type: java.lang.String
  • Since: 1.2.0
  • Required: No
  • Expression: ${xcode.lib.defaultSdks}
  • Default: iphoneos,iphonesimulator

defaultxcconfig:

For simple application central team manages the xcconfig. This will be managed in settings.xml
  • Type: java.lang.String
  • Since: 1.14.5
  • Required: No
  • Expression: ${xcode.xcconfig.default}

options:

Options to pass to XCode - if any are explicitly defined here, this plugin will not provide default options to XCode.
  • Type: java.util.Map
  • Since: 1.6.2
  • Required: No

productName:

(no description)
  • Type: java.lang.String
  • Required: No
  • Expression: ${product.name}

provisioningProfile:

Can be used to override the provisioning profile defined in the Xcode project target. You can set it to an empty String if you want to use the default provisioning profile.
  • Type: java.lang.String
  • Since: 1.2.1
  • Required: No
  • Expression: ${xcode.provisioningProfile}

sdks:

Explicit lists of sdks (iphoneos,iphonesimulator) the Xcode project shall be built for. If no configuration is provided in the plugin's configuration section of the pom.xml it defaults to the values provided in the defaultAppSdks or defaultLibSdks parameters
  • Type: java.util.Set
  • Required: No

settings:

Settings to pass to XCode - if any are explicitly defined here, this plugin will not provide default settings to XCode.
  • Type: java.util.Map
  • Since: 1.6.2
  • Required: No

symRootDir:

Allowed developers to override the SYMROOT settings
  • Type: java.lang.String
  • Since: 1.14.4
  • Required: No
  • Expression: ${xcode.symroot}
  • Default: build

target:

The Xcode target to be built. If not specified, the default target (the first target) will be built.
  • Type: java.lang.String
  • Since: 1.4.1
  • Required: No
  • Expression: ${xcode.target}

watchapp:

(no description)
  • Type: java.lang.String
  • Since: 1.14.3
  • Required: No
  • Expression: ${xcode.watchapp}

watchkitAppPlist:

watchkitAppPlist helps to know the location of watchkitApp plist file appIdSuffix will be injected to this plist file
  • Type: java.lang.String
  • Required: No
  • Expression: ${xcode.watchkitAppPlist}

watchkitExtentionPlist:

watchkitExtensionPlist helps to know the location of watchkitExtension plist file appIdSuffix will be injected to this plist file
  • Type: java.lang.String
  • Required: No
  • Expression: ${xcode.watchkitExtentionPlist}

xcconfigDir:

Allowed developers to override the xcconfig settings through pom.xml Signing methodology has been changed with xcode8 onwards, to enable this we are expecting dev to give singing related parameters This is only for the Apps with Entitlements like Push notification, Wallet etc...
  • Type: java.lang.String
  • Since: 1.14.5
  • Required: No
  • Expression: ${xcode.xcconfig}

xcodeCompileDirectory:

The xcode directory of the copied sources below the checkout directory.
  • Type: java.io.File
  • Required: No
  • Expression: ${xcode.compileDirectory}