Tìm hồ sơ cấp phép trong Xcode 5


104

Trong Xcode 5, tôi có thể nhận được danh sách các cấu hình cấp phép bên dưới Xcode >> preferences >> accounts >> view details. Tôi muốn sao chép hồ sơ và phải gửi hồ sơ đó cho một trong những khách hàng của mình, nhưng tôi không thể nhấp chuột phải vào hồ sơ đó để tìm hồ sơ bằng tùy chọn " Tiết lộ hồ sơ trong Trình tìm kiếm ".

Làm cách nào để tôi có được cấu hình cấp phép cụ thể trong XCode 5 hoặc tôi phải tải nó xuống từ developer.apple mỗi lần?

nhập mô tả hình ảnh ở đây


Sử dụng giải pháp này cho Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant

Câu trả lời:


223

Tôi đã tìm ra một cách để tìm hiểu cách đặt tên hồ sơ cấp phép của bạn. Chọn cấu hình bạn muốn trong phần ký mã trong cài đặt bản dựng, sau đó mở lại chế độ xem lựa chọn và nhấp vào "khác" ở dưới cùng. Sau đó, xảy ra một chế độ xem với việc đặt tên cho hồ sơ cấp phép đã chọn hiện tại.

Bây giờ bạn có thể tìm thấy tệp hồ sơ trên đường dẫn:

~/Library/MobileDevice/Provisioning Profiles

Cập nhật:

Đối với nhà ga:

cd ~/Library/MobileDevice/Provisioning\ Profiles

9
Đối với thiết bị đầu cuối: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir

1
để tìm sử dụng hồ sơ được tạo tự động grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir

1
Có thể thay đổi vị trí mặc định của hồ sơ ..? Làm thế nào để nói xcode sử dụng hồ sơ từ vị trí khác khi chúng ta xây dựng bằng công cụ dòng lệnh "xcodebuild" ..?
Sreedhar GS

For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesmusth được đánh dấu cảm ơn @tsafrir
Ashok R

30

kiểm tra ở đây:

~/Library/MobileDevice/Provisioning Profiles

8
các tệp hồ sơ cấp phép có thể đọc được trong trình soạn thảo văn bản, vì vậy bạn chỉ có thể mở các tệp trong thư mục này trong trình soạn thảo văn bản, ví dụ: open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision và tìm kiếm " <key> Name </key> " để tìm tên của hồ sơ khi nó xuất hiện trên Trung tâm Thành viên Apple hoặc trong tùy chọn tài khoản Xcode.
jhavatar

18

Điều sau đây phù hợp với tôi tại dấu nhắc lệnh

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

Việc tìm ra khóa ký nào được sử dụng bởi một cấu hình cụ thể khó thực hiện hơn với một lớp lót một lớp. Về cơ bản bạn cần làm:

openssl asn1parse -inform DER -in your-mobileprovision-filename

sau đó cắt và dán từng khối dữ liệu base64 sau mục nhập DeveloperCertificates vào tệp riêng của nó. Sau đó, bạn có thể sử dụng:

openssl asn1parse -inform PEM -in file-with-base64

để kết xuất từng chứng chỉ. Dòng sau CommonName thứ hai trong đầu ra sẽ là tên khóa, ví dụ: "Nhà phát triển iPhone: Joe Bloggs (ABCD1234X)".


14

xCode 6 cho phép bạn nhấp chuột phải vào hồ sơ cung cấp trong tài khoản -> chi tiết (ảnh chụp màn hình bạn có ở đó) & hiển thị cửa sổ bật lên "hiển thị trong trình tìm kiếm".


9

Nếu đủ để sử dụng các tiêu chí sau để xác định hồ sơ:

<key>Name</key>
<string>iOS Team Provisioning Profile: *</string>

bạn có thể quét thư mục bằng awk. Một lớp lót này sẽ tìm tệp đầu tiên có tên bắt đầu bằng "Nhóm iOS".

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}' *

Đây là một tập lệnh cũng trả về trận đấu đầu tiên, nhưng dễ làm việc hơn.

#!/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" *

Nó có thể được gọi từ trong thư mục cấu hình, $ HOME / Library / MobileDevice / Cấu hình cung cấp :

~/findprov "iOS Team"

Để sử dụng script, hãy lưu nó vào một vị trí thích hợp và nhớ đặt chế độ thực thi; ví dụ: chmod ugo + x


2
Công cụ tuyệt vời. Chỉ cần thêm vào cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"trước lệnh awk và bạn có thể gọi nó từ bất cứ đâu bạn muốn.
onekiloparsec

6

Bạn có thể sử dụng "Tiện ích cấu hình iPhone" để quản lý cấu hình cấp phép.


"iPhone Configuration Utility" được thay thế bởi "Apple Configurator"
mahal tertin

nhưng Apple Configurator không tự động định vị Hồ sơ cấp phép, như Tiện ích cấu hình iPhone.
Raptor

6

Tôi đã viết một kịch bản bash đơn giản để giải quyết vấn đề ngu ngốc này. Chuyển đường dẫn đến bản sao có tên của điều khoản của bạn (được tải xuống từ developer.apple.com) và nó sẽ xác định tệp được đổi tên theo GUID phù hợp trong thư viện cung cấp của bạn:

#!/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

3

Nó không chính xác cho Xcode5 nhưng câu hỏi này liên kết những người muốn kiểm tra hồ sơ cấp phép đang ở đâu:
Tài liệu sau https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Chọn Xcode> Preferences.
  2. Nhấp vào Tài khoản ở đầu cửa sổ.
  3. Chọn đội bạn muốn xem và nhấp vào Xem chi tiết. nhập mô tả hình ảnh ở đây Trong hộp thoại xuất hiện, hãy xem danh tính người ký và hồ sơ cấp phép của bạn. Nếu nút Tạo xuất hiện bên cạnh chứng chỉ thì chứng chỉ đó chưa được tạo. Nếu nút Tải xuống xuất hiện bên cạnh cấu hình cấp phép, nó không có trên máy Mac của bạn. nhập mô tả hình ảnh ở đây

Mười là bạn có thể bắt đầu menu ngữ cảnh trên mỗi hồ sơ và nhấp vào "Hiển thị trong Trình tìm kiếm" hoặc "Chuyển vào Thùng rác".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.