How do I add authorizations to code sign an app from new keychain without any human interaction

前端 未结 6 1921
甜味超标
甜味超标 2021-02-01 08:09

I\'m trying to automate the process of building iphone apps with a particular certificate. So imagine if different users uploaded their cert into the system and it was immediate

6条回答
  •  深忆病人
    2021-02-01 09:03

    I'd like to add to the answer pool here, but also reopen part of the question that I don't think was answered.

    The following command imports an identity (cert + private key) and specifies that it should "always allow" code sign access to it (preventing Keychain Access alert from promoting user for a button click):

    `security import Targets/CurrentTarget/Certificate.p12 -k #{KEYCHAIN} -P "#{cert_pwd}" -T /usr/bin/codesign`
    

    This command allows all applications access, rather than just code sign:

    security import Targets/CurrentTarget/Certificate.p12 -k #{KEYCHAIN} -P "#{cert_pwd}" -A

    Either of these commands will take care of the dialogs that pop up each time you use a private key in your Keychain. HOWEVER, they will NOT take care of the similar alert that pops up the very first time you request permission to use a private key. This alert will appear on first use and ask you to choose always allow, deny or allow. Every time after that (if you use the -T or -A options above, assuming the key remains in your keychain) you won't see a dialog.

    My question is: how can you eliminate the alert that appears on first use?

    I've considered using Apple Script to automate tapping the always allow button but because the alert is triggered in the middle of the xcodebuild command I'm not sure this would work. Any help would be much appreciated!

提交回复
热议问题