"मेरे एप्लिकेशन को सफलतापूर्वक सबमिट करने के बाद" बहुत अधिक प्रतीक फाइलें


199

मैंने Xcode 6 GM डाउनलोड किया और आज ऐप स्टोर पर दो स्विफ्ट ऐप जमा किए। दोनों ने सभी पूर्व अपलोड सत्यापन को पारित किया और अन्य सभी सामान जो उन्हें पास करना था और सफलतापूर्वक सबमिट किया गया। लेकिन तब मुझे Apple के दो ईमेल मिले ... प्रत्येक प्रोग्राम के लिए एक और वे दोनों ने यह कहा:

प्रिय डेवलपर,

हमने "xxxxxxxx" (मेरा ऐप नाम हटा दिया) के लिए आपकी हालिया डिलीवरी के साथ एक या अधिक समस्याओं की खोज की है। आपकी डिलीवरी सफल रही, लेकिन आप अपनी अगली डिलीवरी में निम्नलिखित मुद्दों को ठीक करना चाहेंगे:

बहुत अधिक प्रतीक फाइलें - इन प्रतीकों में किसी भी बाइनरी में कोई समान टुकड़ा नहीं है [1431D977-72BC-308F-AB71-71529F25400B.symbols, 158C72A7-98AC-3F7-B2BE-88427591B413.symbols, 44973EAC-563E-563-3403 -33-34033 , 678BF06F-0C3D-3A09-BFBF-699C7079FECD.symbols, 90907DDB-0400-38ED-BB5F-0C12D3C0624.symbols, 93B79949-5757-97- 97- 97- 97- 97- 97- 97- 97-97- 97-97-97-97-97- 97 -4422-32B8-8C40-CF9B45A2CCC6.symbols, B0CC9F7D-C542-3E18-A518-B28B7ECABE80.solbols, BF6A4C3B-6FA5-3CC-8404-8248/8138/138/138/148/s8p8/scp -3845-BAD5-F6E51045D396.symbols, D4967AA3-8FB0-3712-B0DE-7F4144AF8F4B.symbols, D813B314-AD37-31D4-B675-44205299448.symbols.in/symbols.in/symbols.in -8F7D-C49A36CD5C65.symbols]

समस्याओं को ठीक करने के बाद, आप iTunes कनेक्ट से एक नया बाइनरी अपलोड करने के लिए Xcode या एप्लिकेशन लोडर का उपयोग कर सकते हैं।

सादर,

ऐप स्टोर टीम

मैं यह अनुमान लगाने जा रहा हूं कि वास्तव में मेरे या मेरे ऐप्स से कोई लेना-देना नहीं है ... और यह केवल एक दिन के स्विफ्ट ऐप सबमिशन का एक क्विक है? दोनों ऐप अभी भी "वेटिंग फॉर अप्रूवल" मोड में बैठे हैं। मैं निश्चित रूप से कुछ भी नहीं सोच सकता कि मैं क्या बदल सकता हूं, उन्होंने कहा कि वे चले जाएं! किसी अन्य व्यक्ति ने अभी तक एक स्विफ्ट ऐप सबमिट किया है और उस प्रतिक्रिया को प्राप्त करें? मुझे लगता है कि मुझे इसे अनदेखा करना चाहिए और देखना चाहिए कि क्या होता है?


मेरा कहा कि और Invalid Swift Support। किसी भी विचार क्यों मैं यह मिल सकता है? मैं नवीनतम Xcode का उपयोग कर रहा हूं।
देहली

यहाँ एक ही मुद्दा है, और मेरा ऐप इस मुद्दे की समीक्षा के लिए प्रस्तुत नहीं कर सकता है।
yudun1989 1

1
यहाँ एक ही मुद्दा है। वैसे भी समीक्षा के लिए प्रस्तुत किया गया है .. चलो देखते हैं क्या होता है :)
dandoen

मेरे दोनों स्विफ्ट ऐप्स को सिर्फ ऐप स्टोर के लिए अनुमोदित किया गया था ... इसलिए मुझे लगता है कि मुझे कुछ नहीं के लिए चिंतित था! व्हीव ... :)
जिम बार्बर

जवाबों:


128

यह तब होता है जब आप प्रोजेक्ट संग्रह के साथ अपने पुस्तकालयों की डिबग जानकारी शामिल करते हैं, लेकिन बायनेरिज़ शामिल नहीं होते हैं।

  1. Xcode में ऑर्गनाइज़र विंडो खोलें
  2. एक संग्रह पर राइट-क्लिक करें जिसमें यह मुद्दा था और "शो इन फाइंडर" चुनें।
  3. संग्रह फ़ाइल पर राइट-क्लिक करें और "पैकेज सामग्री दिखाएँ" चुनें
  4. "DSYMs" फ़ोल्डर में आपको कई फाइलें दिखाई देंगी। यदि आप इन फ़ाइलों पर dwarfdumpकंसोल कमांड चलाते हैं, तो आपको UUID स्ट्रिंग्स की एक सूची मिलेगी:

    dwarfdump -u MyFile.dSYM

मुझे यकीन है कि आपको Apple के ईमेल से कुछ मैचिंग UUID मिलेंगे।

इस चेतावनी से बचने के लिए आपको अपने संग्रह के साथ केवल dSYMअपने आवेदन की फाइलें और पुस्तकालयों को शामिल करने की आवश्यकता है । इसके लिए आपको पुस्तकालयों के बिल्ड कॉन्फ़िगरेशन को बदलने के लिए एक dSYMफ़ाइल उत्पन्न नहीं करनी होगी। बस "डिबग जानकारी प्रारूप" के लिए खोज विन्यास में और से इसे बदलने DWARF with dSYM Fileके लिए DWARFकेवल।

उदाहरण के लिए, नीचे स्क्रीनशॉट में आपको स्ट्राइप आईओएस फ्रेमवर्क मिलेगा।

Xcode परियोजना सेटिंग्स स्क्रीनशॉट


13
dwarfdump -u *फ़ोल्डर में सभी UUIDs देखने के लिए
जॉन

@ जॉन ऊह, मैं इसे एक के बाद एक करके क्यों देखता हूं? :) कोई बात नहीं धन्यवाद!
सर्ज

6
क्या dSYM फ़ाइलों को हटाने का अर्थ है कि क्रैश पार्टियों (या किसी अन्य क्रैश रिपोर्टिंग टूल) पर तृतीय पक्षों से संबंधित कोई भी क्रैश का प्रतीक नहीं होगा?
यूजीनियो

यदि आप फायरबेस कपड़े का उपयोग करते हैं, तो, साइट पर क्रैश लॉग देखने के लिए dsym फ़ाइलों का उपयोग किया जाना चाहिए। क्या वे अभी भी इस बदलाव के साथ काम करते हैं?
मटिया लानसिएरी

88

यदि आप कोकोआपोड्स का उपयोग करते समय इस समस्या का सामना करते हैं, तो इसे अपने पोडफाइल में जोड़ें:

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf'
        end
    end
end

यह डीबग सूचना प्रारूप को केवल आपके सभी पॉड लक्ष्यों के लिए सेट करेगा (केवल मुख्य ऐप लक्ष्य नहीं)


@wzbozon हां, मैं सिर्फ दोहरी जांच करने के लिए कहता हूं। क्योंकि मैंने इसे करने के बाद, Crashlyticts ने काम करना बंद कर दिया। धन्यवाद!
सीज़र रोड्रिगेज

Crashlytics को आपके ऐप के लिए काम करना जारी रखना चाहिए क्योंकि यह स्क्रिप्ट केवल पॉड्स के लिए सेटिंग बनाता है।
स्टेन

1
मैं सहमत हूँ। लेकिन आप पॉड्स के लिए रिपोर्ट नहीं देखेंगे। एक भी कुछ पॉड्स के लिए dSYM फाइल के साथ DWARF सेट कर सकता है, उदाहरण के लिए पॉड्स पॉड्स।
डेनिस कुतलुबायेव

@Stan क्या आप कह रहे हैं कि Crashlytics काम करती रहेगी? सीज़र रोड्रिग्ज कह रहा है कि यह काम नहीं करेगा।
ऐरोवे

8
इससे मेरे लिए हल हो गया। pod install
फायरबियर

17

यदि आप CocoaPods का उपयोग कर रहे हैं और आपका ऐप केवल arm64 का उपयोग करने के लिए सेट है (यानी आपके प्रोजेक्ट की जानकारी में केवल arm64 है)

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>

तब आप इस समस्या को हल करने के लिए अपने पॉडफाइल में निम्न स्क्रिप्ट को जोड़ने का प्रयास कर सकते हैं।

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['ARCHS'] = 'arm64'
    end
  end
end

तथा

अपने सभी प्रोजेक्ट्स के लक्ष्य (फली में लक्ष्य नहीं) को arm64 पर सेट करें

Xcode परियोजना सेटिंग्स

CocoaPods Github का संदर्भ


संभवतः आपको अभी भी arm64e को शामिल करना चाहिए, नहीं?
शिम

मैं सिम्युलेटर के लिए arm64s शामिल करूंगा। यह रिलीज़ बिल्ड के लिए स्वचालित रूप से हटा दिया जाएगा।
सायबरजेन

13

मेरे पास इस मुद्दे के कारण परियोजना के पास वैध वास्तुकला arm64 है जहां कोकोआपॉड्स के लक्ष्यों में वैध वास्तुकला arm64, armv7 और armv7s हैं

यह जांचने के लिए कि कौन से लक्ष्य के पास कौन सी वैध वास्तुकला है, निम्नलिखित चरणों का पालन करें

  1. Xcode में -> विंडो -> ऑर्गनाइज़र
  2. संग्रह का चयन करें और खोजक में प्रकट करें
  3. पर .xcarchive फ़ाइल, शो पैकेज सामग्री
  4. टर्मिनल खोलें और dSYMs फ़ोल्डर का पथ दें ।

  5. कमांड दर्ज करें dwarfdump --uuid *और यह वैध आर्किटेक्चर के साथ यूयूआईडी की सूची दिखाएगा।

UUID Apple के चेतावनी ईमेल के साथ मेल खाएगा

मुख्य परियोजना और कोकोआ की फलियों का लक्ष्य समान वैध वास्तुकला है। ऐसा करने से, यह समस्या को हल करेगा।


मुझे लगता है कि यह सबसे अच्छा समझाता है कि क्या चल रहा है। मुझे ये चेतावनी केवल armv7 वास्तुकला वाले पुस्तकालयों के बारे में है क्योंकि मेरी परियोजना केवल arm64 के लिए बनाई गई है। प्रश्न यह रहता है कि क्या मुझे प्रोजेक्ट में armv7 जोड़ना चाहिए या इसे पॉड्स से हटा देना चाहिए।
एरियल बोगडज़िविज़

6

बिटकॉइन को सक्षम करके मेरे लिए काम किया - यह पहले बंद था

बिटकोड सक्षम करें - हाँ

यहां छवि विवरण दर्ज करें


1

ऊपर ने समस्या निवारण में मदद की, लेकिन हल नहीं हो सका। हमारे पास आईओएस 12 पर प्रोजेक्ट था लेकिन पॉड्स 10 - आर्मव 7 फाइलों का एक गुच्छा था। आईओएस 12 को पॉड अपडेट करना तुरंत हल हो गया।


0

उसी समस्या को मेरे सभी लक्ष्यों के लिए समान "सामान्य" => "परिनियोजन जानकारी" => "परिनियोजन लक्ष्य" होने से निश्चित किया था।


0

Xcode में, "कॉपी के दौरान स्ट्रिप डीबग सिंबल्स" (COPY_PHASE_STRIP) के लिए बिल्ड सेटिंग्स देखें। सक्षम होने पर, डिबग प्रतीकों को आपके .app से हटा दिया जाता है और उन्हें एक .dSYM फ़ाइल में रखा जाता है। अन्यथा आपके .app में ये चिन्ह होते हैं। (डिफ़ॉल्ट रूप से, डिबग प्रतीकों को छोड़े जाने के कारणों से छीन लिया जाता है। आप शायद इस सेटिंग को रिलीज़ कॉन्फ़िगरेशन के लिए परिवर्तित नहीं करें।)

सुनिश्चित करें कि आप प्रोजेक्ट बिल्ड सेटिंग्स में इस विकल्प की जाँच करें

https://possiblemobile.com/2015/03/symbolicating-your-ios-crash-reports/


0

मेरे लिए समस्या मेरी build.xcconfigफ़ाइल में एक पंक्ति थी । मुझे हटाना पड़ा

IPHONEOS_DEPLOYMENT_TARGET = 11.0

जो केवल arm64 के लिए निर्माण करने के लिए परियोजना की स्थापना कर रहा था (और arm7 नहीं)। @miOSमेरे द्वारा देखे गए चरणों के बाद पॉड्स प्रोजेक्ट दोनों के लिए निर्माण कर रहा था।


1
stackoverflow.com/a/49063850/3293172 iOS 11 ने armv7 और armv7 के लिए समर्थन छोड़ दिया है, इसलिए केवल arm64 की आवश्यकता है यदि आपके पास परिनियोजन लक्ष्य> = iOS 11.0 है।
एरियल बोगडज़िविज़

-2

मेरे लिए सब कुछ बहुत सरल था। मुझे एक ही समस्या थी और एक हफ्ते तक पता नहीं था कि क्या करना है।

आपके द्वारा संग्रहित एप्लिकेशन सबमिट करने के बाद, आपको छोटी पॉपअप विंडो में वितरण के लिए प्रमाणपत्र दिखाई देगा। इसके बाद एक चेकबॉक्स है, जिसे आपको अनचेक करना चाहिए। उसके बाद आप इसे सबमिट करेंगे और प्रतीक फ़ाइलों के बारे में एक ईमेल प्राप्त करेंगे। लेकिन यह समस्या नहीं है। यह सिर्फ एक चेतावनी है; कोई त्रुटि नहीं! यदि आप उस चेकबॉक्स को अनचेक करते हैं, तो आपका ऐप सही तरीके से भेजा जाएगा। मुझे उम्मीद है कि यह आपकी मदद कर सकता है।

चेकबॉक्स और पॉपअप का स्क्रीनशॉट:

चेकबॉक्स और पॉपअप का स्क्रीनशॉट


मैं वास्तव में आशा करता हूं कि आप अधिक विस्तृत होंगे .... मुझे पता नहीं है कि आप किस चेकबॉक्स या पॉपअप के बारे में बात कर रहे हैं। शायद एक स्क्रीन शॉट?
लुई होंग

gyazo.com/6d7bb2035979cb75253ba92a40e8d898 मुझे लगता है कि मैं इसे देख रहा हूं, यह एक है
लुई हाँग

5
हां, लेकिन यह पैकेज से सभी प्रतीकों को छीन लेगा, और इसलिए आपको प्रतीकात्मक क्रैश रिपोर्ट नहीं मिलेगी? (क्या वे अब टेस्ट स्टोर ऐप के साथ ऐप स्टोर ऐप में प्रतीकात्मक क्रैश रिपोर्ट भी प्रदान करते हैं?)
मार्कस राउतोपुरो

30
यह समस्या का एक वैध समाधान नहीं है। यह लक्षण से बच रहा है, मुद्दे को संबोधित नहीं कर रहा है। एक विवरण के लिए मिखाइल को देखें कि आप किस तरह से उन प्रतीकों को अपलोड कर रहे हैं जिनकी आपको आवश्यकता नहीं है। यह उत्तर किसी भी प्रतीक को अपलोड करने से रोकता है , इस प्रकार iTunesConnect के माध्यम से दुर्घटना के प्रतीक को तोड़ता है
JConway

2
क्या आप ऐसा नहीं करते हैं, अगर आप दुर्घटना त्रुटियों के लिए ऐप स्टोर पर ऐप का विश्लेषण नहीं कर पाएंगे
user924
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.