Monday, June 29, 2015

iOS code sign error - User interaction not allowed

Earlier today I was trying to build an iOS application over VPN, SSH or Bamboo (Jenkins), I was connected to my iMac at work. I was running a command line script that I had written in order to automate the build process and facilitate deployment to our network server. This involved a B2B application, so not something that would go into the App Store.

Anyway, I had built the application like this, it resulted in an .app file:
$> xcodebuild -target "$APP_NAME" -sdk iphoneos -configuration Release

Next I signed this .app and packaged it into an .ipa file:
$> xcrun -sdk iphoneos PackageApplication -v "$APP_NAME.app" -o "$APP_NAME.ipa" --sign "iPhone Distribution"

This resulted in an error:
$> build/Release-iphoneos/$APP_NAME.app: User interaction is not allowed

The key to solving this problem was unlocking the keychain access in order for the user to be able to sign applications. You can do this like this:
$> security unlock-keychain /Users/$USER/Library/Keychains/$KEYCHAIN.keychain

Note:
  1. replace $APP_NAME with the name of your application
  2. replace $USER with the name of your local user account, I used 'fred'
  3. replace $KEYCHAIN with the name of the target keychain, I used 'login'

No comments:

Post a Comment