Blog

Running unit tests on iOS devices

09 Sep, 2014
Xebia Background Header Wave

When running a unit test target needing an entitlement (keychain access) it does not work out of the box on Xcode. You get some descriptive error in the console about a “missing entitlement”. Everything works fine on the Simulator though.
Often this is a case of the executable bundle’s code signature not begin valid anymore because a testing bundle was added/linked to the executable before deployment to the device. Easiest fix is to add a new “Run Script Build Phase” with the content:

codesign --verify --force --sign "$CODE_SIGN_IDENTITY" "$CODESIGNING_FOLDER_PATH"

codesign
Now try (cleaning and) running your unit tests again. Good chance it now works.

Questions?

Get in touch with us to learn more about the subject and related solutions

Explore related posts