在Xcode 5中,我可以在“ Xcode >> 首选项 >> 帐户 >> 查看详细信息”下获取配置文件清单。我想要复制配置文件并将其发送给我的客户,但是我无法右键单击它以使用“ 在Finder中显示配置文件”选项找到它。
如何在XCode 5中获取特定的配置文件?或者我每次都需要从developer.apple下载吗?
![输入图像说明](https://istack.dev59.com/WQG25.webp)
![输入图像说明](https://istack.dev59.com/WQG25.webp)
我找到了一种方法来查找您的预配配置文件的名称。在构建设置中的代码签名部分中选择您想要的配置文件,然后再次打开选择视图并在底部点击“其他”。然后会出现一个视图,其中显示当前选定的预配配置文件的名称。
现在,您可以在以下路径中找到配置文件:
~/Library/MobileDevice/Provisioning Profiles
更新:
对于终端:
cd ~/Library/MobileDevice/Provisioning\ Profiles
cd ~/Library/MobileDevice/Provisioning\ Profiles
- tsafrirgrep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
。 - tsafrir请在这里勾选:
~/Library/MobileDevice/Provisioning Profiles
open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision
,然后搜索 "<key>Name</key>" 以查找配置文件的名称,该名称与Apple成员中心或Xcode帐户首选项中显示的名称相同。 - jhavatar以下命令在命令提示符下可行:
cd ~/Library/MobileDevice/Provisioning\ Profiles/
for f in *.mobileprovision; do echo $f; openssl asn1parse -inform DER -in $f | grep -A1 application-identifier; done
使用单行脚本查找特定配置文件使用的签名密钥较为困难。基本上,您需要执行以下操作:
openssl asn1parse -inform DER -in your-mobileprovision-filename
然后将每个base64数据块在DeveloperCertificates条目之后剪切粘贴到自己的文件中。 然后,您可以使用:
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" *
~/findprov "iOS Team"
为了使用该脚本,请将其保存在合适的位置并记得设置可执行模式;例如,chmod ugo+x
cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"
,你就可以在任何地方调用它。 - onekiloparsec#!/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