2013-02-14 24 views
39

मेरे पास .ipa फ़ाइलों का एक गुच्छा है और मैंने उन्हें इस्तीफा देने के लिए एक स्क्रिप्ट का उपयोग किया है।यह कैसे बताना है कि .ipa पर हस्ताक्षर करने के लिए किस प्रोफ़ाइल/हस्ताक्षर प्रमाणपत्र का उपयोग किया गया था?

तो सही जानकारी का उपयोग करने के अनुरूप प्रावधान प्रोफ़ाइल/हस्ताक्षर प्रमाणपत्र कैसे जांच सकते हैं?

आदर्श रूप में, मैं किसी भी .ipa फ़ाइल को लेने में सक्षम होना चाहता हूं और बता सकता हूं कि इस पर हस्ताक्षर करने के लिए कौन सी प्रावधान प्रोफ़ाइल/हस्ताक्षर प्रमाणपत्र का उपयोग किया गया था।

बैकस्टोरी: हमारा एंटरप्राइज़ वितरण प्रमाणपत्र समाप्त हो रहा है और मैं अपनी सामग्री को फिर से हस्ताक्षर करना चाहता हूं। एक्सकोड में हमने जो भी सामान बनाया है और संग्रहीत किया है, उसके लिए यह एक आसान लेना है, लेकिन तीसरे पक्ष के विक्रेता ने वितरकों को बनाया है, मैं ऐसा नहीं कर सकता। मैं एक पुनः हस्ताक्षरित .ipa फ़ाइल के लिए पूछना से बचना चाहता हूं क्योंकि एक नया .ipa में अज्ञात परिवर्तन शामिल हैं और समस्याएं पेश कर सकती हैं और वे शायद हमें भी चार्ज करेंगे ... लेकिन मैं पहले मुद्दे के बारे में अधिक चिंतित हूं।

चूंकि हमारे पुराने और नए वितरण प्रमाण पत्र अभी भी मान्य हैं (आपको 6 माह का ओवरलैप मिलता है) मुझे नए की पुष्टि करने में सक्षम होने की आवश्यकता है अन्यथा मैं वास्तव में मूर्खतापूर्ण दिखता हूं जब पुराना व्यक्ति समाप्त हो जाता है और "इस्तीफा दे रहा है "लिपि वास्तव में काम नहीं किया था।

उत्तर

55

प्रोविजनिंग प्रोफाइल एक UUID कि टर्मिनल आदेश का उपयोग कर देखा जा सकता है है:

security cms -D -i (path_to_your_provisioning_profile)

की तरह आदेश उत्पादन के UUID अनुभाग देखें:

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

Xcode .app बंडल भीतर आवेदन पत्र पर हस्ताक्षर करने के लिए इस्तेमाल प्रावधानीकरण प्रोफ़ाइल सम्मिलित करता है। इसे ढूंढने के लिए, .zip पर अपने .ipa का नाम बदलें, इसे खोजक के साथ असम्पीडित करें, .app फ़ाइल/पेलोड में खोजें। .app फ़ाइल पर "पैकेज सामग्री दिखाएं" और नाम embedded.mobileprovision के साथ प्रावधान प्रोफ़ाइल ढूंढें।

उपर्युक्त आदेश का उपयोग करके अपने अधिकारों को डंप करें और तुलना करें कि आपके एक्सकोड ऑर्गनाइज़र> डिवाइस टैब> "लाइब्रेरी" के तहत प्रोविजनिंग प्रोफाइल अनुभाग में आपके प्रोफाइल में यूयूआईडी के साथ मिलें। डिस्क पर अपना स्थान प्रकट करने के लिए आप "खोजक में दिखाएं" का उपयोग कर सकते हैं।

+0

यह शुरू करने के लिए परीक्षण करने का दर्द था, लेकिन मैंने एक स्क्रिप्ट लिखी है जो एक .ipa प्रावधान प्रोफ़ाइल का नाम खींचती है और समाप्ति तिथि की जांच करती है, इसलिए मैं तेज़ परीक्षण के लिए इसे स्वचालित करने में सक्षम हूं। तो मेरे लिए ... यह एक बेहतर समाधान होगा। – DBD

+0

वह कमांडलाइन आउटपुट देता है: "सुरक्षा: डीकोडर में डेटा जोड़ने में विफल: UNKNOWN (-8183 (डी) बस त्रुटि: 10" – Adam

+0

एडम - सुनिश्चित करें कि आप एम्बेडेड.मोबाइलप्रोविजन को डीकोड कर रहे हैं और आईपीए नहीं। – BuvinJ

4

मैं निम्नलिखित प्रक्रिया का उपयोग करके सफलतापूर्वक परीक्षण करने में सक्षम हूं।

  1. डिवाइस पर मूल .ipa इंस्टॉल करें।
  2. जाओ डिवाइस से> जनरल> प्रोफ़ाइल (पुराने प्रावधान प्रोफ़ाइल देखें)
  3. हटाएं एप्लिकेशन और पुरानी प्रोफ़ाइल सेटिंग्स को
  4. पुनः साइन एप्लिकेशन।
  5. सेटिंग्स को> जनरल> प्रोफ़ाइल (नया प्रावधान प्रोफ़ाइल देखने)

यह प्रावधान प्रोफ़ाइल पुष्टि करने के लिए एक बुलेट प्रूफ तरीका प्रतीत हो रहा है अद्यतन किया गया था डिवाइस

  • जाओ पर फिर से हस्ताक्षर किए एप्लिकेशन इंस्टॉल करें और चूंकि प्रोफाइल में केवल 1 हस्ताक्षर प्रमाणपत्र है ... तो हमें नए प्रमाण पत्र पर हस्ताक्षर करना होगा।

    (लेकिन मैं अभी भी एक बेहतर तरीका खोजने के लिए चाहते हैं)

  • 13

    Bobjt के जवाब के आधार पर मैंने प्रोफ़ाइल के विवरण प्राप्त करने के लिए IPCU प्रयोग किया है:

    1. अपने .ipa का नाम बदलें खोजक
    2. साथ
    3. उसे असंपीड़ित .zip में में .app फ़ाइल का पता लगाएं/पेलोड।
    4. .app फ़ाइल पर "पैकेज सामग्री दिखाएं" और एम्बेडेड.मोबाइलप्रोविजन नाम के साथ प्रावधान प्रोफ़ाइल ढूंढें।

    5. खींचें iPhone विन्यास उपयोगिता

    IPCU में mobileprovisioning फ़ाइल प्रोफ़ाइल का नाम/समाप्ति दिनांक आदि को दर्शाता है।

    +0

    यदि मुझे गलत नहीं है तो यह टूल आईओएस> = 8 – gnichola

    +0

    @gnichola के साथ काम नहीं करता है, आपको किसी आईपैड/इन चरणों का पालन करने के लिए आईफोन, इसलिए आईओएस संस्करण अप्रासंगिक होना चाहिए। – HaemEternal

    +0

    मुझे लगता है कि मेरी टिप्पणी स्पष्ट हो सकती है, अगर आपके पास वह उपकरण है जिसका आप इसका उपयोग कर सकते हैं, तो मेरी समस्या यह थी कि चूंकि टूल पुराने ओएस संस्करण के लिए था, यह अब उपलब्ध नहीं है, या कम से कम जब मैं इसे खोज रहा था मुझे यह नहीं मिला। – gnichola

    4

    मैं बॉबेट और हेमरेथल समाधान प्रस्तावों के मिश्रण का उपयोग करके समाप्त हुआ।

    1. संग्रह खोजें।
    2. पैकेज सामग्री दिखाएं।
    3. कॉपी करें .एपी फ़ाइल
    4. .app फ़ाइल की पैकेज सामग्री दिखाएं।
    5. एम्बेडेड.मोबाइलप्रोविजन फ़ाइल को कॉपी करें।
    6. रन "सुरक्षा सेमी डी मैं (path_to_your_provisioning_profile)"
    7. चरण में कॉल की के परिणाम से UUID संख्या का पता लगाएं 6.
    8. ओपन Iphone विन्यास उपयोगिता और प्रोफाइल को देखो एक खोजने के लिए कि एक ही यूयूआईडी नंबर है।
    24

    पार्टी ....

    को देर लेकिन इस उपकरण मुझे कुछ समय की बचत होती: 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

    जाँच करें: tool

    एक आईपीए फ़ाइल या प्रावधान पर अंतरिक्ष दोहन प्रोफाइल विवरण दिखाएगा

    enter image description here