2011-07-13 10 views
13

मैंने कई धागे पढ़े हैं और यहां मेरी समस्या जैसी कुछ भी नहीं मिल रही है। मुझे लगता है कि यह एक साधारण फिक्स है, लेकिन मुझे जवाब नहीं मिल रहा है। मैं एक्सकोड 4.1 गोल्ड मास्टर का उपयोग कर रहा हूँ।एक्सकोड 4.1 कोड हस्ताक्षर समस्या

असल में, जब मैं अपने मैक ऐप को संग्रहीत करता हूं, तो यह सभी सामान्य प्रक्रियाओं के माध्यम से जाता है। निर्माण सफल है। हालांकि, जब मैं app की दुकान के लिए प्रस्तुत है, मैं निम्न संदेश वापस मिल:

Invalid Code Signing Entitlements - Your application bundle's signature contains code 
signing entitlements that are not supported on Mac OS X; this may happen if your Mac OS X 
project was ported from iOS. Please check your Xcode project's code signing entitlements 
configuration, and remove any unneeded entitlements. 

Specifically, key "application-identifier" in "My App" is not supported. 

मेरे एप्लिकेशन iOS से पोर्ट नहीं था और मैं कभी नहीं सेटअप हकों की है। खुदाई के कई घंटे के बाद, मैंने पाया है कि कोड पर हस्ताक्षर चरण इस प्रारूप में एक .xcent फ़ाइल पैदा किया गया था:

<?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>application-identifier</key> 
    <string>My.App.Identifier</string> 
    <key>com.apple.application-identifier</key> 
    <string>My.App.Identifier</string> 
</dict> 
</plist> 

पहले कुंजी समस्या खड़ी कर रहा है। जब मैं इसे हटा देता हूं और कमांड लाइन के माध्यम से उसी .xcent फ़ाइल के साथ ऐप को इस्तीफा देता हूं, तो ऐप जाता है।

मैंने यह देखने के लिए xcode को हटा दिया है और पुनः स्थापित किया है कि यह मदद करता है ... यह नहीं करता है।

मुझे पता है कि यह फ़ाइल निर्माण प्रावधान प्रोफ़ाइल से जुड़ा हुआ है। ऐसा लगता है कि सही डेटा मिल रहा है, लेकिन मौजूदा टैग जोड़ रहा है। मैंने प्रोजेक्ट और बिल्ड सेटिंग्स दोनों की जांच की है और कोई कोड हस्ताक्षर एंटाइटेलमेंट नहीं है। कोई विचार है कि मैं इस कुंजी को उत्पन्न करना बंद करने के लिए एक्सकोड कैसे प्राप्त कर सकता हूं? जब भी मैं ऐप स्टोर में जमा करना चाहता हूं, मैं वास्तव में ऐसा करने का शौक नहीं हूं।

उत्तर

13

मुझे एक ही समस्या का सामना करना पड़ता है। अपना संदेश पढ़ने के बाद मैंने थोड़ा सा जांच की।

ऐसा लगता है कि इमारत प्रक्रिया के दौरान .xcent फ़ाइल /Developer/Platforms/MacOSX.platform/Entitlements.plist पर स्थित फ़ाइल से उत्पन्न होती है (यह/अनुप्रयोग /Xcode.app/Contents/ में भी स्थित हो सकती है डेवलपर/प्लेटफार्म/MacOSX.platform/Entitlements.plist)।

मैंने इस फ़ाइल को संपादित किया और "com.apple.application-Identifier" द्वारा "एप्लिकेशन-पहचानकर्ता" को प्रतिस्थापित किया। तो अब .xcent फ़ाइल केवल शामिल हैं:

<?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>com.apple.application-identifier</key> 
    <string>33R9UFHX3C.com.mycompany.myapp</string> 
</dict> 
</plist> 

हालांकि मैं अभी भी एक अवैध द्विआधारी त्रुटि का सामना करना पड़ता है जब मैं का निर्माण और इसे अपलोड करें।

संपादित करें: यह वास्तव में काम करता है। (मेरे पास एक और गैर-संबंधित मुद्दा था)

+0

मैं इसे अगले निर्माण के दौरान आज़मा दूंगा! सलाह के लिये धन्यवाद। –

+0

अच्छा खोज! मदद के लिए एक बार फिर से धन्यवाद! –

+0

मेरे लिए भी काम किया। धन्यवाद। – Guillaume

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