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.
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.
After a long time of research, I concluded that it cannot be done.
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}"
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
© 2022 - 2024 — McMap. All rights reserved.