Question

How can I use a non-default keychain in Xcode iPhone project.

I have already tried '--keychain mycerts.keychain' in 'Other Code Signing Flags' in 'Code signing' build settings.

Was it helpful?

Solution

After a long time of research, I concluded that it cannot be done.

OTHER TIPS

The codesign tool requires an absolute path to the keychain.

Use an additional "Run Script Build Phase" to call the codesign tool with the custom keychain. The embedded script should look like:

codesign -s 'your-identity' --keychain "${SRCROOT}/path/to/keychain" "${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

enter image description here

in the Build setting under Code Signing -> Other code signing Flags, create a flag "--keychain keychain-name.keychain"

While inconvenient, you can temporarily change your "default Keychain" to whichever keychain has your certificate/keys. XCode will then search that keychain during code-signing. You can do this via Keychain Access.app or the security(1) command-line utility. You're responsible for unlocking said keychain yourself, however.

This problem can be solved by setting the keychain search list to include your keychain:

security list-keychains -s login.keychain mycerts.keychain etc.keychain

To view the active keychain search list, use the same command without the -s param:

security list-keychains

A great link for reference is here: https://ss64.com/osx/security-keychain.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top