2011-03-27 11 views
16

मैंने विज्ञापन वितरण वितरण पर सभी दस्तावेज और पोस्टिंग को फिर से पढ़ा है और अभी भी एक समस्या है। यदि मैं 'वायरलेस' वितरण (सफारी का उपयोग करके एक .plist और .ipa फ़ाइल डाउनलोड करने के साथ) ऐप डाउनलोड करना शुरू करता हूं, तो आइकन सही ढंग से खींचा जाता है और नाम 'इंस्टॉलिंग ..' से बदल जाता है लेकिन जब यह लगभग 9 0% पूरा हो जाता है I 'डाउनलोड करने में असमर्थ ...' अलर्ट प्राप्त करें।विज्ञापन वितरण के लिए एक्सकोड 4 के साथ आईफोन एंटाइटेलमेंट्स समस्या

यदि मैं ऐप को स्थानांतरित करने के आईट्यून्स विधि का उपयोग करता हूं तो मुझे 'ऐप "xx" आईफोन "xx" पर इंस्टॉल नहीं किया गया था क्योंकि एंटाइटेलमेंट सही नहीं हैं।'

प्रश्न 1: मैंने पढ़ा है कि अब आपको .mobileprovision फ़ाइल को अलग से जोड़ने की आवश्यकता नहीं है क्योंकि XCode (मैं 4.0.1 का उपयोग कर रहा हूं) इसे बंडल में जोड़ता है - क्या यह सच है?

प्रश्न 2: जब मैं सफारी (आईफोन पर) में .मोबाइलप्रोविजन डाउनलोड करता हूं तो यह केवल इसे टेक्स्ट के रूप में प्रदर्शित करता है। क्या यह मेरी समस्या या अपरिहार्यता का लक्षण है?

प्रश्न 3: क्या यह समस्या Entitlements.plist से संबंधित है? मुझे एक्सकोड 4.0.1 के साथ इस फ़ाइल को संपादित करते समय जो कुछ दिखाई देता है उससे संबंधित ऐप्पल या किसी भी ब्लॉग से मुझे कोई दस्तावेज नहीं मिल रहा है। अगर मैं निर्देशों का पालन करता हूं (नया-> नई फ़ाइल-> कोड हस्ताक्षर-> एंटाइटेलमेंट्स) मुझे केवल एक 'डिबग किया जा सकता है' कुंजी के साथ एक डिफ़ॉल्ट फ़ाइल मिलती है। मैंने इसे NO पर सेट करने का प्रयास किया है, एक गेट-टास्क-अनुमति कुंजी जोड़ना (मौजूदा को बदलना - संभावित रूप से डीबग किया जा सकता है एक ही कुंजी है?) मेरे एप्लिकेशन-पहचानकर्ता को जोड़ना, और उपरोक्त दो कुंजियों के साथ एक आईफोन एंटाइटेलमेंट्स डिक्शनरी जोड़ना (ऐप्पल के दस्तावेज के अनुसार)।

प्रश्न 4: आईफोन डेवलपर्स के बीच आत्महत्या दर क्या एंटाइटेलमेंट्स और कोड साइनिंग करने की कोशिश कर रही है?

सुझावों को कम करने के लिए मैंने इसी तरह के प्रश्नों के लिए देखा है: मेरे पास वितरण और रिलीज के लिए मेरे Entitlements.plist पर सेट कोड हस्ताक्षर एंटाइटेलमेंट हैं। मैं XCode को पुन: प्रारंभ, पुनर्निर्माण, संग्रह आदि मैं कोशिश की है iPhone मैं करने के लिए iPhone

अद्यतन वापस चले गए हैं पुन: प्रारंभ करने की कोशिश की है: XCode 4.0.1 में एक मेनू विकल्प है जब Entitlements.plist संपादित किया जा रहा (संपादक-> रॉ कुंजी और मान दिखाएं) जो 'प्राप्त-कार्य-अनुमति' से 'टॉग डीबग' से कुंजी को टॉगल करेगा

+0

धन्यवाद विवरण नोट देखें। फिर 1 - हाँ वहाँ में प्रतीत होता है। फिर 3 ने सबकुछ से छुटकारा पा लिया और हां ऐसा लगता है कि इसे डिबग किया जा सकता है = 'नहीं' (मैं आईट्यून्स के साथ स्थानांतरित कर सकता हूं लेकिन वायरलेस विधि के साथ नहीं) – wheeliebin

+4

"प्रश्न 4: आईफोन डेवलपर्स के बीच आत्महत्या की दर क्या है जो एंटाइटेलमेंट प्राप्त करने की कोशिश कर रही है और कोड हस्ताक्षर काम कर रहे हैं? " - एलओएल :-) –

उत्तर

6

कोड पर हस्ताक्षर करने के हकों नहीं रह गया है तदर्थ Xcode 4 में बनाता है के लिए आवश्यक हैं - में Apple Technical Note TN2250

1

Entitlements.plist परियोजना में जोड़ा जाना चाहिए और इसके अंदर केवल get-task-allow कुंजी होना चाहिए ।

जब डेवलपर प्रोफ़ाइल का उपयोग कर डिवाइस पर डीबगिंग, यह

जाँच की जानी चाहिए जब Ad-Hoc या Distribution प्रोफ़ाइल का उपयोग निर्माण, यह अनियंत्रित

Q4 के बारे में

होना चाहिए: आप आप सिर्फ ऐसा करने से यह वृद्धि कर सकते हैं पसंद है। .. लेकिन मैं इसकी सिफारिश नहीं करता हूं।

+0

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

13

हकों फ़ाइल होना चाहिए:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
    <dict> 
     <key>get-task-allow</key> 
      <false/> 
     <key>application-identifier</key> 
      <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> 
     <key>keychain-access-groups</key> 
      <array> 
      <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> 
      </array> 
</dict> 
</plist> 

यह भी वायरलेस के लिए काम करता है।
पृथ्वी पर क्यों डिफ़ॉल्ट में यह सब कुछ नहीं है केवल कुछ ही ऐप्पल जवाब दे सकता है। मैं नहीं देख सकता कि एक्सकोड में एक प्लेस्ट के कच्चे पाठ को कैसे संपादित किया जाए ताकि टेक्स्ट एडिट में संपादित किया जा सके।

+2

आप एक्सकोड में एक प्लेलिस्ट फ़ाइल पर राइट-क्लिक कर सकते हैं और ओपन एज़> सोर्स कोड पर क्लिक कर सकते हैं। एक्सकोड छोड़ने की कोई ज़रूरत नहीं है। –

+4

एक्सकोड 4 के रूप में, एंटाइटेलमेंट्स की अब आवश्यकता नहीं है। यह अनुशंसा की तरह है, क्योंकि यह विफलता का एक अतिरिक्त बिंदु है। http://developer.apple.com/library/ios/#technotes/tn2250/_index.html%23//apple_ref/doc/uid/DTS40009933-CH1-TROUBLESHOOTING_GUIDE-CODE_SIGNING_ENTITLEMENTS – Olie

+0

पवित्र बकवास में यह जानकारी खोजने में कुछ समय लगा - धन्यवाद। मैं एक्सकोड का निर्माण करने के लिए उपयोग नहीं कर रहा था। किसी के लिए यह नहीं पता कि $ (AppIdentifierPrefix) $ (CFBundleIdentifier) ​​का अर्थ है, यहां एक उदाहरण है: B123PR5C23.com.startup.killerapp। आप ऐप आईडी के तहत ऐप्पल डेवलपर पोर्टल से AppIdentifierPrefix प्राप्त करते हैं। –

1

यदि आप प्रोजेक्ट नेविगेटर में प्लेलिस्ट फ़ाइल पर राइट क्लिक करते हैं, और "सोर्स कोड" के रूप में "ओपन एज़" चुनें, तो आप इसे सादे स्रोत के रूप में संपादित कर सकते हैं।

+0

धन्यवाद। एक बार जब आप जानते हैं कि यह कैसे स्पष्ट है ... – wheeliebin

1

हो सकता है कि उन्होंने xcode4 में Entitlements.plist का एक छोटा संस्करण बनाया हो। डिफ़ॉल्ट Entitlements.plist में 'एप्लिकेशन-पहचानकर्ता' और 'कीचेन-एक्सेस-समूह' कुंजी नहीं है, लेकिन यदि आप 'ASCII प्रॉपर्टी एडिटर' के माध्यम से 'डीबग किया जा सकता है' कुंजी का मान बदलते हैं तो यह वास्तव में बदलता है पृष्ठभूमि में 'get-task-allow' कुंजी का मान ...

1

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

मुझे वास्तव में 4:00 बजे तक रहने के लिए वास्तव में क्या मिला और समय के समय बर्बाद कर रहा था कि मेरे पास यह नहीं था कि मैंने विज्ञापन को अस्थायी बनाया। ऐप्पल के आईओएस अस्थायी पोर्टल पेज पर, यदि आप बाईं ओर बार पर "प्रावधान" पर क्लिक करते हैं, तो आपको 4 टैब दिखाई देंगे: "विकास", "वितरण", और अन्य दो। मैं "विकास" टैब के तहत बनाए गए मेरे अस्थायी उपयोग का उपयोग करता था और सभी परीक्षण उपयोगकर्ताओं के फोन यूयूआईडी को जोड़ता था। यह मेरे लिए वर्षों तक काम करता था जब तक कि xCode 4 साथ नहीं आया, और मैं बहुत तेजी से बोर्ड पर कूदने के लिए पर्याप्त मूर्ख था। हर बार एक्सकोड के पास अपडेट होने पर ऐप्पल इंजीनियरों ने मुझे हमेशा "मिड-नाइट" पार्टी आश्चर्यचकित कर दिया था। और वे इस अनुभव को भूलने और अगले को छोड़ने के लिए काफी देर तक इंतजार करेंगे।

मेरे लिए काम किया गया समाधान वितरण टैब के तहत एक अस्थायी बनाना था। जब आप यहां एक नया अस्थायी बनाते हैं, तो आपके पास "विज्ञापन विधि" को "वितरण विधि" के रूप में चुनने का विकल्प होता है। एक्सकोड प्रोजेक्ट और लक्ष्य निर्माण सेटिंग पर यह अस्थायी उपयोग करने के बाद, और एंटाइटेलमेंट पर "डीबग किया जा सकता है" बंद कर दिया गया, फिर मैं आईट्यून्स या ओटीए के माध्यम से स्थापित कर सकता था। मुझे उम्मीद है कि यह टिप कुछ ग्रे बालों को बचाने में मदद कर सकती है।

+0

वितरण टैब के तहत प्रावधान प्रोफ़ाइल बनाना और विज्ञापन-प्रसार का चयन करना मेरे लिए भी काम करता है। विकास टैब के तहत इसे बनाना मुझे एंटाइटेलमेंट्स (0xE8008016) – yeforriak

6

मैंने अभी एक ब्लॉग पोस्ट लिखा है जो एक्सकोड 4 में सफल विज्ञापन वितरण के लिए सभी चरणों को रेखांकित करता है जो उपयोगी हो सकता है। http://www.musicalgeometry.com/?p=1237

+0

ग्रेट लिखित-अप, धन्यवाद से संबंधित त्रुटि दे रहा है। – MystikSpiral

संबंधित मुद्दे