Use xcodebuild to package Apple Platform apps
To package your Apple Platform artifacts the quickest way, you can use xcodebuild in your terminal.
Before you begin:
-
You have installed the Command Line Tools for Xcode.
-
You have installed or updated gen-ir.
To complete this task:
-
Open your terminal, and then change directory to your project.
-
Run the following command:
xcodebuild clean -
If you have an Xcode Workspace, run the following command:
noteYou must change the invocation of
xcodebuildto match your project. You should at least replaceMyAppandMyScheme.noteIf you are archiving a framework, you must also pass
SKIP_INSTALL=NOto include the framework in the archive.xcodebuild archive \
-workspace MyApp.xcworkspace \
-scheme MyScheme \
-destination generic/platform=iOS \
-configuration Debug \
-archivePath MyApp.xcarchive \
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym \
ENABLE_BITCODE=NO \
> MyApp.log.txtOr, if you have an Xcode project, run:
xcodebuild archive \
-project MyApp.xcodeproj \
-scheme MyScheme \
-destination generic/platform=iOS \
-configuration Debug \
-archivePath MyApp.xcarchive \
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym \
ENABLE_BITCODE=NO \
> MyApp.log.txtOptionally, you can use
-archivePathto set a different output location for the archive, and you can use> MyApp.log.txtto set a different output location for the build log of the archive. -
Run
gen-irwith your build log and the archive path in the following command. EnsureMyApp.log.txtpoints to the exported build log, and thatMyApp.xcarchive/is the newly-createdxcarchive.Xcode workspace:
gen-ir MyApp.log.txt MyApp.xcarchive/Xcode project:
gen-ir MyApp.log.txt MyApp.xcarchive/ -
To create a new ZIP archive:
a. At a command prompt, go to the directory that contains
xcarchive.b. Run:
zip -r MyApp.zip MyApp.xcarchive -
To determine if the archive contains additional paths, run:
zipinfo MyApp.zip -
In the output, ensure your
xcarchiveis the only folder at the root of the ZIP file:❯ zipinfo MyApp.zip
Archive: MyApp.zip
Zip file size: 1519917 bytes, number of entries: 78
drwxr-xr-x 3.0 unx 0 bx stor 23-Dec-13 16:37 MyApp.xcarchive/
drwxr-xr-x 3.0 unx 0 bx stor 23-Dec-13 16:36 MyApp.xcarchive/Products/
drwxr-xr-x 3.0 unx 0 bx stor 23-Dec-13 16:36 MyApp.xcarchive/Products/Applications/
drwxr-xr-x 3.0 unx 0 bx stor 23-Dec-13 16:36 MyApp.xcarchive/Products/Applications/MyApp.app/
... -
Upload your Apple Platform artifact to the Veracode Platform for analysis. See how to submit an artifact for analysis.
-
Optionally, to upload your archives with Veracode Software Composition Analysis:
a. Add the
Podfile.lockfile to the root of a different archive folder. The ZIP archive must be separate from the one that contains the.xcarchivefolder, as shown in the following command:zip MyApp-Podfile.zip Podfile.lockb. Upload
MyApp-Podfile.zipto the same scan as theMyApp.zipthat you previously uploaded.