在 Xcode 5 中,我可以在Xcode >> preferences >> accounts >> view details
. 我想复制个人资料并必须将其发送给我的一位客户,但我无法右键单击它以使用“在 Finder 中显示个人资料”选项找到它。
如何在 XCode 5 中获取特定的配置文件,还是每次都必须从 developer.apple 下载它?
在 Xcode 5 中,我可以在Xcode >> preferences >> accounts >> view details
. 我想复制个人资料并必须将其发送给我的一位客户,但我无法右键单击它以使用“在 Finder 中显示个人资料”选项找到它。
如何在 XCode 5 中获取特定的配置文件,还是每次都必须从 developer.apple 下载它?
我找到了一种方法来找出您的配置文件是如何命名的。在构建设置的代码签名部分中选择您想要的配置文件,然后再次打开选择视图并单击底部的“其他”。然后出现一个带有当前选定配置文件命名的视图。
您现在可以在路径上找到配置文件:
~/Library/MobileDevice/Provisioning Profiles
更新:
对于终端:
cd ~/Library/MobileDevice/Provisioning\ Profiles
在这里检查:
~/Library/MobileDevice/Provisioning Profiles
以下在命令提示符下对我有用
cd ~/Library/MobileDevice/Provisioning\ Profiles/
for f in *.mobileprovision; do echo $f; openssl asn1parse -inform DER -in $f | grep -A1 application-identifier; done
使用 shell one-liner 更难找出特定配置文件使用了哪些签名密钥。基本上你需要做:
openssl asn1parse -inform DER -in your-mobileprovision-filename
然后将DeveloperCertificates条目后的每个 base64 数据块剪切并粘贴到其自己的文件中。然后你可以使用:
openssl asn1parse -inform PEM -in file-with-base64
转储每个证书。输出中第二个commonName之后的行将是键名,例如“iPhone Developer: Joe Bloggs (ABCD1234X)”。
xCode 6 允许您右键单击帐户下的配置文件-> 详细信息(您在那里的屏幕截图)并显示一个弹出窗口“在查找器中显示”。
如果使用以下标准来定位配置文件就足够了:
<key>Name</key>
<string>iOS Team Provisioning Profile: *</string>
您可以使用 awk 扫描目录。这个单线将找到第一个包含以“iOS Team”开头的名称的文件。
awk 'BEGIN{e=1;pat="<string>"tolower("iOS Team")}{cur=tolower($0);if(cur~pat &&prev~/<key>name<\/key>/){print FILENAME;e=0;exit};if($0!~/^\s*$/)prev=cur}END{exit e}' *
这是一个脚本,它也返回第一个匹配项,但更易于使用。
#!/bin/bash
if [ $# != 1 ] ; then
echo Usage: $0 \<start of provisioning profile name\>
exit 1
fi
read -d '' script << 'EOF'
BEGIN {
e = 1
pat = "<string>"tolower(prov)
}
{
cur = tolower($0)
if (cur ~ pat && prev ~ /<key>name<\\/key>/) {
print FILENAME
e = 0
exit
}
if ($0 !~ /^\s*$/) {
prev = cur
}
}
END {
exit e
}
EOF
awk -v "prov=$1" "$script" *
可以从配置文件目录$HOME/Library/MobileDevice/Provisioning Profiles中调用它:
~/findprov "iOS Team"
要使用脚本,请将其保存到合适的位置,并记得设置可执行模式;例如,chmod ugo+x
您可以使用“iPhone 配置实用程序”来管理配置文件。
我写了一个简单的 bash 脚本来解决这个愚蠢的问题。将路径传递到您的配置的命名副本(从 developer.apple.com 下载),它将在您的配置库中识别匹配的 GUID 重命名文件:
#!/bin/bash
if [ -z "$1" ] ; then
echo -e "\nUsage: $0 <myprovision>\n"
exit
fi
if [ ! -f "$1" ] ; then
echo -e "\nFile not found: $1\n"
exit
fi
provisionpath="$HOME/Library/MobileDevice/Provisioning Profiles"
provisions=$( ls "$provisionpath" )
for i in $provisions ; do
match=$( diff "$1" "$provisionpath/$i" )
if [ "$match" = "" ] ; then
echo -e "\nmatch: $provisionpath/$i\n"
fi
done
它不完全适用于 Xcode5,但这个问题链接了想要检查配置文件在哪里的人:
遵循文档https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
十,您可以在每个配置文件上启动上下文菜单,然后单击“在 Finder 中显示”或“移至废纸篓”。