在Xcode 5中查找配置文件

Ank*_*kur 104 xcode provisioning-profile xcode5

在Xcode 5中,我可以获得配置文件列表Xcode >> preferences >> accounts >> view details.我想复制个人资料并且必须将其发送给我的一个客户,但是我无法右键单击它以使用" 在Finder中显示配置文件 "选项找到它.

如何在XCode 5中获取特定的配置文件或者每次都必须从developer.apple下载它?

在此输入图像描述

mat*_*ino 222

我找到了一种方法来了解您的配置文件的命名方式.在构建设置的代码签名部分中选择所需的配置文件,然后再次打开选择视图并单击底部的"其他".然后出现一个视图,其中包含当前所选配置文件的命名.

您现在可以在路径上找到配置文件:

~/Library/MobileDevice/Provisioning Profiles

更新:

对于终端:

cd ~/Library/MobileDevice/Provisioning\ Profiles
Run Code Online (Sandbox Code Playgroud)

  • 对于终端:`cd~/Library/MobileDevice/Provisioning\Profiles` (9认同)

yas*_*urk 30

点击这里:

~/Library/MobileDevice/Provisioning Profiles
Run Code Online (Sandbox Code Playgroud)

  • 配置文件文件在文本编辑器中是可读的,因此您只需在文本编辑器中打开此目录中的文件,例如`open -a TextEdit/Users/$(whoami)/ Library/MobileDevice/Provisioning\Profiles/4A733DA3-07E3 -43A3-9AB2-2D25070153EB.mobileprovision`并搜索"**<key> Name </ key>**"以查找Apple会员中心或Xcode帐户首选项中显示的个人资料名称. (8认同)

小智 18

以下在命令提示符下为我工作

cd ~/Library/MobileDevice/Provisioning\ Profiles/
for f in *.mobileprovision; do echo $f; openssl asn1parse -inform DER -in $f | grep -A1 application-identifier; done
Run Code Online (Sandbox Code Playgroud)

查找特定配置文件使用哪些签名密钥更难以使用shell one-liner.基本上你需要这样做:

openssl asn1parse -inform DER -in your-mobileprovision-filename
Run Code Online (Sandbox Code Playgroud)

然后在DeveloperCertificates条目之后将每个base64数据块剪切并粘贴到自己的文件中.然后你可以使用:

openssl asn1parse -inform PEM -in file-with-base64
Run Code Online (Sandbox Code Playgroud)

转储每个证书.输出中第二个commonName之后的行将是键名,例如"iPhone Developer:Joe Bloggs(ABCD1234X)".


use*_*499 14

xCode 6允许您右键单击帐户 - >详细信息(您在那里的屏幕截图)下的配置文件,并显示弹出窗口"在查找器中显示".


bvj*_*bvj 8

如果使用以下条件来查找配置文件就足够了:

<key>Name</key>
<string>iOS Team Provisioning Profile: *</string>
Run Code Online (Sandbox Code Playgroud)

你可以使用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}' *
Run Code Online (Sandbox Code Playgroud)

这是一个也返回第一个匹配的脚本,但更容易使用.

#!/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" *
Run Code Online (Sandbox Code Playgroud)

它可以在profiles目录中调用,$ HOME/Library/MobileDevice/Provisioning Profiles:

~/findprov "iOS Team"
Run Code Online (Sandbox Code Playgroud)

要使用该脚本,请将其保存到合适的位置并记住设置可执行模式; 例如,chmod ugo + x

  • 好东西.只需在awk命令之前添加`cd"$ {HOME}/Library/MobileDevice/Provisioning Profiles /"`,就可以从任何你想要的地方调用它. (2认同)

Che*_*Xin 6

您可以使用"iPhone配置实用程序"来管理配置文件.


小智 6

我写了一个简单的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
Run Code Online (Sandbox Code Playgroud)