Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Building iOS applications using xcodebuild without codesign

We're building an app for another company. They hold the signing key and would rather not share it with us.

It should be possible to separate build and sign, but how do I specify it on xcodebuild's command line?

like image 340
noamtm Avatar asked Jun 14 '12 13:06

noamtm


People also ask

How can I skip code signing for development builds in Xcode?

To turn the code signing off, go to your project and target "Build Settings", search for "Code Signing Identity" change its value to "Don't Code Sign" in both of them. To make this effective you need to change this value in the Project and all of the Targets separately.

How do I enable signing in Xcode?

Open the project using Xcode. Select the root project directory, and go to the Signing and Capabilities tab. Here, you can either check Automatically manage signing or do the signing manually. If you check the Automatically manage signing checkbox, then you will just need to select the Team from the drop-down list.

How do I change my build settings in Xcode?

Choose the project in the Project Navigator on the left. Select the Configurations target from the Targets section and click the Build Settings tab at the top. The Build Settings tab shows the build settings for the Configurations target. It's possible to expand this list with build settings that you define.


2 Answers

In order to skip the code signing you can perform a manual build from the console like this:

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO 

Additionally, use the -configuration, -target and -sdk parameters in order to define your build settings.

Refer to this Stack Overflow answer in order to get a detailed description on how to disable code-signing inside Xcode.

like image 143
Joern Avatar answered Sep 22 '22 23:09

Joern


To completely prevent code signing with Xcode 7, I used all of the following options:

CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED="NO" CODE_SIGN_ENTITLEMENTS="" CODE_SIGNING_ALLOWED="NO" 

The final option, CODE_SIGNING_ALLOWED="NO" seemed to do the trick.

like image 24
Ben Flynn Avatar answered Sep 22 '22 23:09

Ben Flynn