2009-12-07 14 views
15

मैंने अपने ऐप का एक विज्ञापन बनाया है और किसी अन्य व्यक्ति को इसे इंस्टॉल करना चाहते हैं। मेरे पास प्रावधान प्रोफ़ाइल में उनकी डिवाइस आईडी (वास्तव में दो) है। मेरा प्रमाणपत्र विज्ञापन और ऐप स्टोर प्रावधान के लिए समान है। प्रमाण पत्र keychain में मान्य है। मैंने इस बिल्ड के लिए एक्सकोड में विज्ञापन प्रोफाइल चुना है, जो वितरण प्रमाणपत्र से जुड़ा हुआ है।हस्ताक्षर मान्य त्रुटि नहीं

मैं उपयोगकर्ता को प्रावधान फ़ाइल और .app फ़ाइल भेजता हूं। वे iTunes में दोनों को छोड़ और सिंक तो दोनों उपकरणों पर यह त्रुटि प्राप्त:

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid. 

मैं अपने iPhone से सभी प्रोफाइल को हटा दिया है, iTunes में उपरोक्त दो फ़ाइलों गिरा दिया, सिंक किए और सफलतापूर्वक ऐप इंस्टॉल किया। मैं इसे मेरे लिए repro करने के लिए नहीं मिल सकता है। इस मुद्दे को समझने के लिए मुझे स्थानीय रूप से इस समस्या को दोबारा सुधारना होगा। कोई विचार यह कैसे किया जा सकता है?

उत्तर

16

क्या आपने एंटाइटेलमेंट जोड़े थे? लक्ष्य स्तर पर हस्ताक्षर करें, परियोजना स्तर पर नहीं? विज्ञापन इस प्रोफाइल का चयन करें? निर्माण से पहले एक साफ करो? विज्ञापन हॉक डिवाइस दुश्मन का चयन करें?

सबसे अच्छा शर्त, एप्पल के प्रलेखन बिल्कुल पालन बिल्कुल मैच एप्पल के लिए अपने निर्माण सेटिंग प्राप्त करने के लिए है।

+3

लक्ष्य पर इसे सेट नहीं किया था। विज्ञापन के लिए उस सेटिंग और परियोजना सेटिंग के साथ क्या अंतर है? – 4thSpace

+0

साथ ही, जब मैंने विज्ञापन को सिंक किया तो मैंने कभी उपयोगकर्ता के व्यवहार को क्यों नहीं देखा? – 4thSpace

+1

इसके लिए ऐप्पल का दस्तावेज कहां है? सही प्रक्रिया को शुरू करना बहुत मुश्किल है जो पूरी प्रक्रिया को शुरू से ही खत्म करने के लिए समझाता है (यह प्रावधान पोर्टल में नहीं है) – Jonny

3

हाल ही में एक टेस्टर के साथ हाल ही में इस समस्या में भाग गया। यह पता चला कि मेरे परीक्षक ने अपने आईपॉड टच को रीसेट कर दिया था और प्रक्रिया में प्रावधान प्रोफाइल हटा दिया था।

बस कुछ विचार करने के लिए।

2

मुझे किसी और ने पोस्ट की तुलना में कुछ डम्बर करके यह त्रुटि मिली है। मैंने प्रोफ़ाइल में नए डिवाइस जोड़े, लेकिन अद्यतन संस्करण डाउनलोड करना भूल गए, इसे एक्सकोड में जोड़ें, और प्रोजेक्ट को इंगित करें। जब मैंने इसे ठीक से सेट किया, तो परीक्षक ऐप जुर्माना स्थापित करने में सक्षम थे।

4

डॉक्स से:

तदर्थ वितरण के लिए एक ऐप का निर्माण दो अतिरिक्त कदम की एक अपवाद साथ App स्टोर वितरण के लिए एक एप्लिकेशन बनाने, के समान है। सबसे पहले, आप एक तदर्थ वितरण प्रोविजनिंग प्रोफ़ाइल बनाने के लिए और IOS उपकरणों कि आप iPhone डेवलपर कार्यक्रम प्रोविजनिंग पोर्टल का उपयोग कर को वितरित करना चाहते का UDIDs जोड़ने की जरूरत है। दूसरा, आपको कोड-हस्ताक्षर एंटाइटेलमेंट फ़ाइल बनाने की आवश्यकता है। एंटाइटेलमेंट फ़ाइल बनाने के तरीके के बारे में जानकारी आईओएस विकास मार्गदर्शिका के अनुप्रयोग एंटाइटेलमेंट अनुभाग को पढ़ें।


प्रबंध आवेदन पात्रता

आईओएस विशेष संसाधनों और तक पहुँच प्रदान करता क्षमताओं-तरह के के रूप में अपने आवेदन डिबग के माध्यम से गुण हकों कहा जा सकता है या नहीं।अपने आवेदन में एंटाइटेलमेंट जानकारी निर्दिष्ट करने के लिए, आप अपनी प्रोजेक्ट में एंटाइटेलमेंट परिभाषा (कुंजी/मान जोड़े) युक्त एंटाइटेलमेंट प्रॉपर्टी-सूची फ़ाइल जोड़ें। जब आप अपना आवेदन बनाते हैं, तो एक्सकोड फ़ाइल को एप्लिकेशन बंडल में प्रतिलिपि बनाता है। समूह & फ़ाइलें सूची में

, संसाधन समूह का चयन करें:

अपने प्रोजेक्ट में कोई हकों संपत्ति-सूची फ़ाइल जोड़ने के लिए। फ़ाइल> नई फ़ाइल चुनें। आईओएस> कोड साइनिंग> एंटाइटेलमेंट टेम्पलेट चुनें। फ़ाइल Entitlements.plist नाम दें। (आप किसी भी नाम का उपयोग कर सकते हैं, बस यह संहिता के मूल्य से मेल खाती है पर हस्ताक्षर पात्रता सेटिंग का निर्माण, के रूप में यह अनुभाग में बाद में बताया।) पात्रता iPhone करने के लिए संपत्ति-सूची फ़ाइल के प्रकार सेट करें। फ़ाइल संपादक में चयनित फ़ाइल के साथ, देखें> संपत्ति सूची प्रकार> आईफोन एंटाइटेलमेंट प्लिस्ट चुनें।

अपनी एंटाइटेलमेंट प्रविष्टियां फ़ाइल में जोड़ें। प्रत्येक पात्रता संपत्ति आप परिभाषित करने की जरूरत के लिए:

बाल जोड़ें क्लिक करें या चयनित पंक्ति के अधिकार के लिए सहोदर बटन जोड़ें। जोड़ें चाइल्ड बटन में पदानुक्रम दर्शाते हुए तीन लाइनें हैं, सिब्लिंग बटन में पर एक प्लस (+) चिह्न है। दिखाई देने वाले पॉप-अप मेनू से एंटाइटेलमेंट प्रॉपर्टी चुनें। यदि जोड़ने की आवश्यकता है, तो आपको देखें> संपत्ति सूची प्रकार> डिफ़ॉल्ट फ़ाइल प्रकार के लिए चुनें। फिर एंटाइटेलमेंट-कुंजी नाम और प्रकार दर्ज करें।

संपत्ति के लिए मूल्य दर्ज करें। कोड हस्ताक्षर एंटाइटेलमेंट के नाम पर लक्ष्य के लिए सेटिंग को नए जोड़े गए एंटाइटेलमेंट संपत्ति-सूची फ़ाइल के नाम पर सेट करें।


एक बार जब आप बनाया है अपने पात्रता दाखिल करने और अपने कोड पर हस्ताक्षर करना पात्रता की स्थापना का निर्माण, पात्रता फ़ाइल को खोलने और जोड़ और संपादित कर मिल-काम-अनुमति देते हैं कुंजी में जोड़ा और इसे पर सेट करें।

अपने .app बंडल संपीड़ित करने के अलावा वितरित करने के लिए अपने तदर्थ परीक्षकों को , आदि का निर्माण यह अनुशंसित है कि आप भी वितरण से पहले प्रावधान प्रोफ़ाइल सेक क्योंकि कुछ ईमेल क्लाइंट और सर्वर हो सकता है भ्रष्ट प्रावधान प्रोफ़ाइल।

तदर्थ वितरण के बारे में जानकारी के लिए आईओएस विकास गाइड में परीक्षण अनुभाग के लिए प्रकाशन आवेदन पढ़ें।

+0

यह बहुत अच्छा जवाब है, अधिकांश लोगों के लिए मिल-कार्य-अनुमति कुंजी मुख्य बाधा है। –

6

यह सुनिश्चित करने के लिए .app फ़ाइल में बंडल की गई imbedded.mobileprovision फ़ाइल को जांचना एक अच्छा विचार है कि यूआईडी वहां है। बस निम्न कार्य करें:

  1. ProblemApp.ipa unzip
  2. सीडी पेलोड/ProblemApp.app
  3. पिको imbedded.mobileprovision इस फ़ाइल के भीतर अपने डिवाइस के यूआईडी के लिए

देखो। यदि यह वहां नहीं है तो संभवतः यह पोर्टल के भीतर प्रावधान फ़ाइल में नहीं जोड़ा गया है।

1

यहां एक और मजेदार है .... यदि आपके पास आईफोन और आईपैड के लिए अलग एंटाइटेलमेंट फाइलें हैं, तो सुनिश्चित करें कि आप प्रत्येक विशिष्ट निर्माण के लिए फ़ाइल के लिए लक्ष्य निर्धारित करते हैं ... अन्यथा यह निर्माण में नहीं दिखाएगा और आप यह त्रुटि

0

यह मेरे लिए एक आईफोन 3 जी चल रहा आईओएस 3.1.3 के साथ काम नहीं करेगा। मैंने सत्यापित किया कि डिस्ट्रीब्यूशन प्रोफाइल फोन पर नहीं था-> सामान्य (कोई प्रोफाइल विकल्प सूचीबद्ध नहीं था)।

http://support.apple.com/kb/DL851

तब:

मैं तो iphone कॉन्फिग उपयोगिता स्थापित

  1. रन iphone config
  2. खींचें और पर
  3. क्लिक डिवाइस ऐप्लिकेशन embedded.mobileprovision फ़ाइल ड्रॉप बाएं तरफ
  4. "प्रावधान pr ofiles इंस्टॉल करें "बटन

फिर एप्लिकेशन ठीक स्थापित" टैब प्रोफ़ाइल पर

  • क्लिक करें और फिर क्लिक करें "।

  • 1

    मैं यहां पहुंचा क्योंकि मुझे ओपी के समान समस्या थी। यह वास्तव में पता चला कि मेरे पास एंटाइटेलमेंट फ़ाइल में यूडीआईडी ​​नहीं है, भले ही मुझे यकीन है कि मैंने एक्सकोड आयोजक में रीफ्रेश किया था। एक और ताज़ा करने से कोई फर्क नहीं पड़ता।

    अंत में मैंने सभी प्रावधान प्रोफाइल हटा दिए और फिर रीफ्रेश किया। चीजें अब काम करते हैं।

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

    0

    मुझे भी ओपी के समान समस्या थी। गूंगा गलती: मैंने डिवाइस से पिछले दो अंकों को गलती से गिरा दिया था, जब मैं इसे डिवाइस के रूप में पंजीकृत करता था तो वितरित करने का प्रयास कर रहा था।

    0

    मैं एक ही समस्या मिला दो बार (xcode 4.2 ios 5)

    1, समय मैं वास्तुकला में ARMv6 जोड़ने के लिए भूल गया

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