Prerequisites: Project should be set up for continuous integration with CircleCI.
Goals: Branches that are marked for deployment will automatically be archived and packaged, uploaded to HockeyApp, and distributed to a pre-specified list of users.
This guide assumes that the builds will use an enterprise provisioning profile, though ad hoc builds should work as well.
ProvisionQL may be useful when obtaining the necessary code signing files.
Ensure this folder structure exists for your project. The files listed here need to be gathered.
│ └── <YOUR_APP_DISTRIBUTION_PROFILE>.mobileprovision
Obtain the distribution provisioning profile for your app
It can be downloaded directly from the Apple Developer Center
$KEY_PASSWORD. This will be known and guarded by CircleCI.
Ensure that the Xcode Build Settings for Release are configured to use the iOS distribution certificate and distribution provisioning profile that you exported above.
an app has already been created on HockeyApp (an admin might be required for this)
an active API token exists for the app
a team has been created for the app
users that are part of the internal development team should be tagged with
they will receive frequent build notifications (each deployment)
users that are part of the external development team should be tagged with
they will receive semi-frequent build notifications (typically end of sprints, when
$HOCKEYAPP_PUBLIC_RELEASE_BRANCH is updated
Project Settings > Tweaks > Environment variables
deployment key within the circle.yml file configures app deployment. The
branch subkey specifies which branches should be deployed. All other branches are built and tested by CircleCI, but won’t be pushed out to HockeyApp.
branch: [dev, master]
- xcodebuild archive -workspace YourApp.xcworkspace -scheme YourApp -archivePath YourApp.xcarchive
- xcodebuild -exportArchive -archivePath YourApp.xcarchive -exportPath ./ -exportFormat ipa -exportProvisioningProfile "YourApp Enterprise Distribution"