OTHER_CODE_SIGN_FLAGS keychain flag ignored?

后端 未结 4 916
猫巷女王i
猫巷女王i 2021-02-15 15:48

I have just learned about the possibility to use OTHER_CODE_SIGN_FLAGS to specify the keychain which includes the cert needed for building and signing an app. But unfortunately

相关标签:
4条回答
  • 2021-02-15 16:17

    The answer is to upgrade: Xcode 4.3 respects the OTHER_CODE_SIGN_FLAGS flag during the Check dependencies build step.

    0 讨论(0)
  • 2021-02-15 16:27

    None of these really works unless you have the simplest of scripted builds going. Like @Tyler said, PackageApplication doesn't support specifying the keychain, and some versions of xcode will require there be no duplicate certificates across keychains when they check dependencies.

    Don't waste your times, just call Apple and ask them to rename one of your certificates (they will actually rename your company --- by appending a suffix --- and you just have to regenerate your certificates and update your profiles).

    0 讨论(0)
  • 2021-02-15 16:37

    I ran into the same problem while trying to set up CI for our iOS projects. I ended up updating the PackageApplication Perl script to support passing a keychain option. Location:

     /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
    

    I'm still waiting for some licensing clarification from Apple so that I can publish my updated script to GitHub.

    0 讨论(0)
  • 2021-02-15 16:42

    I found that if I didn't add the keychain to keychain search list, xcodebuild would not respect the OTHER_CODE_SIGN_FLAG --keychain setting. I had to add this code:

    // Early in the script
    ORIGINAL_KEYCHAINS=`security list-keychains -d user`
    
    // After I create my keychain, add it to the list
    security list-keychains -d user -s ${ORIGINAL_KEYCHAINS} "${KEYCHAIN_NAME}"
    
    // On cleanup
    security list-keychains -d user -s ${ORIGINAL_KEYCHAINS} 
    

    Needless to say, I lost hours figuring this out.

    Also of help, making sure the keychain stays open for the length of your build. As advised here:

    security -v set-keychain-settings -lut 7200 ${KEYCHAIN_NAME}
    
    0 讨论(0)
提交回复
热议问题