Introduction

This page describes all the artifacts, produced out of a build of Xcode library project with the xcode-maven-plugin.

Mandatory Artifacts

Pom File

<artifact-id>-<version>.pom

The project pom file as defined in the project. More information in Project Pom.

Versions Information

<artifact-id>-<version>-versions.xml

The file containing the reproducibility information of the project built and its (transitive) dependencies. More information in Version information.

Main Artifact

<artifact-id>-<version>.tar

The main artifact is a tar file, which may contain additonal information about the deployed artifacts.
By default the main artifact contains only a README.txt .

In case the built library exposes additional bundle resources, the main artifact must contain a "bundles.txt" file. The bundles.txt file must contain for each exposed bundle resource the following information:

<group-id>:<artifact-id>:type:classifier1:<version>
<group-id>:<artifact-id>:type:classifier2:<version>
...

Library Archive(s)

<artifact-id>-<version>-<classifier>.a

The library archive(s) as built from Xcode.

The default built configurations and sdks/platforms for library projects are Release/Debug and iphoneos/iphonesimulator, i.e. by default you see the following artifacts:

<artifact-id>-<version>-Release-iphoneos.a
<artifact-id>-<version>-Debug-iphoneos.a

<artifact-id>-<version>-Release-iphonesimulator.a
<artifact-id>-<version>-Debug-iphonesimulator.a

Additional Artifacts

Public Headers

<artifact-id>-<version>-<classifier>.headers.tar

The header files exposed as public headers into Copy Headers > Public Build Phase into Xcode.

The default built configurations and sdks/platforms for library projects are Release/Debug and iphoneos/iphonesimulator, i.e. if the library exposes public headers, by default you see the following artifacts:

<artifact-id>-<version>-Release-iphoneos.headers.tar
<artifact-id>-<version>-Debug-iphoneos.headers.tar

<artifact-id>-<version>-Release-iphonesimulator.headers.tar
<artifact-id>-<version>-Debug-iphonesimulator.headers.tar

Fat Binaries

<artifact-id>-<version>-<classifier>-<type>.a

Fat binaries (combined iphoneos and iphonesimulator binaries) built with the lipo tool.

The <type> for these artifacts is set to fat-binary
The default built configurations and sdks/platforms for library projects are Release/Debug and iphoneos/iphonesimulator, i.e. if the building of fat binaries is enabled for the project, you see the following artifacts:

<artifact-id>-<version>-Debug-fat-binary.a
<artifact-id>-<version>-Release-fat-binary.a

More information how to enable fat binary generation in Generate Fat Binaries

Doxygen Documentation

<artifact-id>-<version>-<type>.zip

The zipped output of the generation of Doxygen documentation.

The <type> is set to DoxygenApiDoc .

More information how to enable generation of Doxygen Documentation in Generation of API Docs with Doxygen.

Bundle Resources

<artifact-id>-<version>-<classifier>.xcode-bundle-zip

The zipped exposed bundle resources out of a library project as defined into the "Copy Bundle resources" Build Phase into Xcode.
The classifier is the escaped bundle name (the bundle name where the file separators are replaced with ~).

If a library project defines a bundle resource with the same name as the library itself, this bundle is treated as "default bundle".
In this case the classifier has the same name as the artifact-id .

<artifact-id>-<version>-<artifact-id>.xcode-bundle-zip

More information about generation and consume of bundles in Generation and Consumption Libraries with Bundles