我正在尝试为Xcode创建自动构建。 直到现在一切正常。 要从命令行构建项目,我使用此命令
xcodebuild –project {“xcode_project file path”}–target {“target_name”} –sdk iphoneos –
configuration Release clean build CODE_SIGN_IDENTITY={$distribution_signing Identity}
PROVISIONING_PROFILE={UUID for provisioning profile}
我想动态获取UUID和CODE_SIGN_IDENTITY,
我正在做的UUID
UUID=$(grep "<key>UUID</key>" "$PROVISIONING_PROFILE_PATH" -A 1 --binary-files=text | sed -E -e "/<key>/ d" -e "s/(^.*<string>)//" -e "s/(<.*)//")
上面的脚本代码为我提供了任何配置文件的UUID。
我坚持动态获取CODE_SIGN_IDENTITY。
我知道它的形式类似于iPhone Distribution: Developer name
如何从.p12文件中提取iPhone Distribution: Developer name
。
答案 0 :(得分:9)
您可以使用security find-identity
命令行实用程序列出系统上可用的代码签名标识:
/usr/bin/security find-identity -v -p codesigning
1) F188B6FD76D83316FCB2E594940XXXXXXXXXXXXE "Mac App Distribution"
2) ADDB5E33AC36FEB2CA0F1C3BC71XXXXXXXXXXXXE "iPhone Developer: Stuart M (xxxxx)"
2 valid identities found
-v
选项仅将列表限制为“有效”身份,-p codesigning
将其过滤为仅对代码进行协同设置,以防您有多个身份。
答案 1 :(得分:2)
这段Python对我有用。我没有必要在Mac上安装任何额外的东西。
# load everything. Probably not the best idea in production...
from OpenSSL.crypto import *
p12 = load_pkcs12(file("./path/to/your.p12", 'rb').read(), 'YOUR_P12_PASSWORD')
print(p12.get_friendlyname())
相信这个答案:Python: reading a pkcs12 certificate with pyOpenSSL.crypto
答案 2 :(得分:0)
对于@Stuart M上提到的不知道如何运行security find-identity
命令的用户,这里的答案是:-
xcrun security find-identity -v -p codesigning