Ios – Determining codesigning identities from the command line

code-signingcodesigniosiphonexcode

I'm trying to set up an automated way to sign my iOS apps. Before using codesign, is there a way to programmatically determine from the command line what my valid signing identities are?

For example, for the command

codesign -v --sign "iPhone Distribution: Joe Developer" /path/to/app

How could I figure out that "iPhone Distribution: Joe Developer" is a valid identity? How would I figure other valid identities?

I'd prefer a way to do this from within a command line, but from within cocoa would work as well.

Best Answer

To get a list of signing identities, I found the perfect answer in this objc.io article:

security find-identity -v -p codesigning

It gives output like:

1) 4E8D512C8480FAC679947D6E50190AE9BAB3E825 "3rd Party Mac Developer Application: Developer Name (DUCNFCN445)"
2) 8B0EBBAE7E7230BB6AF5D69CA09B769663BC844D "Mac Developer: Developer Name (DUCNFCN445)"
3) 4E8D512C8480AAC67995D69CA09B769663BC844D "iPhone Developer: App Developer (DUCNFCN445)"
4) 65E24CDAF5B3E1E1480818CA4656210871214337 "Developer ID Application: App Developer (DUCNFCN445)"
   4 valid identities found