2013-02-14 36 views
39

Tôi có một loạt tệp .ipa và tôi đã sử dụng tập lệnh để từ chức chúng.Làm cách nào để biết được hồ sơ/chứng chỉ ký nào được sử dụng để ký .ipa?

Vậy làm cách nào để kiểm tra hồ sơ cấp phép/chứng chỉ ký để phù hợp với việc họ đang sử dụng thông tin chính xác?

Lý tưởng nhất, tôi muốn có thể lấy bất kỳ tệp .ipa nào và cho biết hồ sơ cấp phép/chứng chỉ ký đã được sử dụng để ký tên.

Backstory: Giấy chứng nhận phân phối doanh nghiệp của chúng tôi sắp hết hạn và tôi muốn ký lại nội dung của chúng tôi. Đó là một cách đơn giản cho tất cả những thứ chúng tôi đã thực hiện và lưu trữ trong Xcode, nhưng đối với nhà cung cấp bên thứ ba đã phân phối tôi không thể làm điều đó. Tôi muốn tránh yêu cầu một tệp .ipa được ký lại bởi vì một .ipa mới có thể bao gồm các thay đổi chưa biết và giới thiệu các vấn đề và có thể họ cũng sẽ tính phí cho chúng tôi ... nhưng tôi lo lắng nhiều hơn về vấn đề đầu tiên.

Vì cả chứng chỉ phân phối cũ và mới của chúng tôi vẫn hợp lệ (bạn nhận được chồng chéo 6 tháng) Tôi cần có khả năng xác nhận mã mới được sử dụng nếu không tôi sẽ trông thật ngớ ngẩn khi cũ hết hạn và "từ chức "kịch bản đã không thực sự làm công việc.

Trả lời

55

Provisioning Profiles có một UUID có thể được nhìn thấy bằng cách sử dụng lệnh Terminal:

security cms -D -i (path_to_your_provisioning_profile)

Xem phần UUID của đầu ra lệnh như:

<key>UUID</key> <string>A008C022-7B82-4E40-8B37-172763E1E3CC</string>

Xcode chèn cấp phép hồ sơ sử dụng để đăng các ứng dụng trong gói .app. Để tìm nó, đổi tên tệp .ipa thành .zip, giải nén nó bằng Trình tìm kiếm, tìm tệp .app trong/Tải trọng. "Hiển thị Nội dung gói" trên tệp .app và tìm hồ sơ cấp phép có tên embedded.mobileprovision.

Đổ quyền lợi bằng cách sử dụng lệnh trên và so sánh điều đó với UUID được tìm thấy trong tiểu sử của bạn trong tổ chức Xcode> tab Thiết bị> phần Cấp phép trong "Thư viện". Bạn có thể sử dụng "Hiển thị trong Trình tìm kiếm" trên những người để lộ vị trí của họ trên đĩa.

+0

Đây là một nỗi đau để thử nghiệm để bắt đầu, nhưng tôi đã viết một kịch bản mà có một .ipa kéo ra tên của hồ sơ cung cấp và kiểm tra ngày hết hạn vì vậy tôi sẽ có thể tự động hóa này để thử nghiệm nhanh hơn. Vì vậy, đối với tôi ... đây sẽ là một giải pháp tốt hơn. – DBD

+0

Dòng lệnh đó cho đầu ra: "bảo mật: không thể thêm dữ liệu vào bộ giải mã: UNKNOWN (-8183 (d) Lỗi bus: 10" – Adam

+0

Adam - đảm bảo rằng bạn đang giải mã embedded.mobileprovision chứ không phải bản thân ipa. – BuvinJ

4

Tôi đã có thể thử nghiệm thành công bằng quy trình sau.

  1. Cài đặt bản gốc .ipa vào thiết bị.
  2. Đến Settings-> General-> Profiles (xem cấp phép hồ sơ cũ)
  3. ứng dụng Xóa và hồ sơ cũ từ thiết bị
  4. từ chức ứng dụng.
  5. Cài đặt lại ký ứng dụng trên thiết bị
  6. Đến Settings-> General-> Profiles (xem cấp phép hồ sơ mới)

Điều này dường như là một cách chống đạn để xác nhận cấp phép hồ sơ đã được cập nhật và kể từ khi hồ sơ chỉ có 1 giấy chứng nhận ký tên trong đó ... thì chúng tôi phải được ký với cert mới.

(nhưng tôi vẫn muốn tìm một cách tốt hơn)

13

Dựa trên câu trả lời Bobjt, tôi sử dụng IPCU để có được các chi tiết của hồ sơ:

  1. Đổi tên .ipa bạn để .zip
  2. Uncompress nó với Finder
  3. Tìm file .app vào/Khối hàng.
  4. "Hiển thị nội dung gói" trên tệp .app và tìm hồ sơ cấp phép có tên embedded.mobileprovision.

  5. Kéo file mobileprovisioning vào iPhone Configuration Utility

IPCU cho thấy Tên/Ngày hết hạn vv của hồ sơ.

+0

Nếu tôi không nhầm công cụ này không hoạt động với iOS> = 8 – gnichola

+0

@gnichola bạn không cần kết nối iPad/iPhone để làm theo các bước này, vì vậy phiên bản iOS sẽ không liên quan. – HaemEternal

+0

Tôi đoán nhận xét của tôi có thể rõ ràng hơn, nếu bạn có công cụ bạn có thể sử dụng, vấn đề của tôi là vì công cụ dành cho phiên bản hệ điều hành cũ hơn, nó không khả dụng nữa hoặc ít nhất là khi tôi tìm kiếm Tôi không thể tìm thấy nó. – gnichola

4

Tôi đã kết thúc bằng cách sử dụng hỗn hợp các đề xuất giải pháp của Bobjt và HaemEternal.

  1. Tìm bản lưu trữ.
  2. Hiển thị nội dung gói.
  3. Sao chép .app tệp ra
  4. Hiển thị nội dung gói của tệp .app.
  5. Sao chép tệp được nhúng.mobileprovision ra.
  6. Run "cms an ninh -D -i (path_to_your_provisioning_profile)"
  7. Tìm số UUID từ kết quả của các cuộc gọi trong bước 6.
  8. mở Iphone Configuration Utility và nhìn vào hồ sơ để tìm thấy một mà có cùng số UUID.
24

muộn để đảng ....

Nhưng công cụ này tiết kiệm cho tôi một chút thời gian: nomad/shenzhen

$ ipa info /path/to/app.ipa 

+-----------------------------+----------------------------------------------------------+ 
| ApplicationIdentifierPrefix | DJ73OPSO53            | 
| CreationDate    | 2014-03-26T02:53:00+00:00        | 
| Entitlements    | application-identifier: DJ73OPSO53.com.nomad.shenzhen | 
|        | aps-environment: production        | 
|        | get-task-allow: false         | 
|        | keychain-access-groups: ["DJ73OPSO53.*"]     | 
| CreationDate    | 2017-03-26T02:53:00+00:00        | 
| Name      | Shenzhen             | 
| TeamIdentifier    | S6ZYP4L6TY            | 
| TimeToLive     | 172              | 
| UUID      | P7602NR3-4D34-441N-B6C9-R79395PN1OO3      | 
| Version      | 1              | 
+-----------------------------+----------------------------------------------------------+ 
13

việc kiểm tra này: tool

Khai thác không gian trên một file IPA hoặc dự phòng tiểu sử sẽ hiển thị chi tiết

enter image description here

Các vấn đề liên quan