ডিফল্টরূপে, Firebase Crashlytics স্বয়ংক্রিয়ভাবে আপনার ডিবাগ চিহ্ন (dSYM) ফাইলগুলিকে প্রসেস করে আপনাকে ডিঅফসকেটেড এবং মানব-পাঠযোগ্য ক্র্যাশ রিপোর্ট দিতে। আপনি সাধারণত আপনার অ্যাপে Crashlytics এর প্রাথমিক সেটআপের সময় এই আচরণটি কনফিগার করেন, বিশেষত একটি রান স্ক্রিপ্ট যোগ করে যা আপনার অ্যাপের বিল্ড ফেজ চলাকালীন স্বয়ংক্রিয়ভাবে dSYM ফাইল আপলোড করে।
দুর্ভাগ্যবশত, কিছু ক্ষেত্রে আপনার স্বয়ংক্রিয় dSYM ফাইল আপলোড ব্যর্থ হতে পারে। যখন Crashlytics আপনার অ্যাপের dSYM ফাইলগুলি সনাক্ত করতে পারে না তখন এই নির্দেশিকাটি সমস্যা সমাধানের কিছু উপায় প্রদান করে।
নিশ্চিত করুন যে Xcode স্বয়ংক্রিয়ভাবে dSYM প্রক্রিয়া করতে পারে এবং ফাইলগুলি আপলোড করতে পারে৷
আপনার অ্যাপে Crashlytics সেট আপ করার সময়, আপনি স্বয়ংক্রিয়ভাবে dSYMs প্রক্রিয়া করতে এবং ফাইলগুলি আপলোড করার জন্য একটি রান স্ক্রিপ্ট কনফিগার করেছেন ।
নিশ্চিত করুন যে Crashlytics রান স্ক্রিপ্টের জন্য আপনার কনফিগারেশনটি Xcode 15 দিয়ে শুরু হওয়া নতুন প্রয়োজনীয়তার সাথে আপ-টু-ডেট। আপনার কনফিগারেশন আপ-টু-ডেট না হলে, আপনি নিম্নলিখিত ত্রুটি পেতে পারেন:
error: Info.plist Error Unable to process Info.plist at path ...
বিশেষত, Xcode 15 এবং পরবর্তীতে আপনাকে ফাইল অবস্থানের আরও সম্পূর্ণ সেট প্রদান করতে হবে। আপনার Crashlytics রান স্ক্রিপ্টের জন্য ( firebase-ios-sdk/Crashlytics/run
), নিশ্চিত করুন যে আপনার নিম্নলিখিত সেটআপ আছে:
বিল্ড ফেজ ট্যাবে ক্লিক করুন, এবং তারপর রান স্ক্রিপ্ট বিভাগটি প্রসারিত করুন।
ইনপুট ফাইল বিভাগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত ফাইলগুলির অবস্থানগুলির জন্য পাথ রয়েছে:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
Xcode dSYM তৈরি করছে কিনা তা পরীক্ষা করুন
প্রায়শই না, dSYM ফাইলগুলি হারিয়ে যায় কারণ Xcode কেবল সেগুলি তৈরি করে না। একটি আপলোড ব্যর্থ হলে, Crashlytics Firebase কনসোলে একটি "মিসিং dSYM" সতর্কতা প্রদর্শন করে। আপনি যদি এই সতর্কতা পান, প্রথমে পরীক্ষা করুন যে Xcode প্রতিটি বিল্ডের জন্য সঠিক dSYM তৈরি করছে:
আপনার প্রকল্পটি Xcode-এ খুলুন এবং তারপর Xcode ন্যাভিগেটরে প্রকল্প ফাইলটি নির্বাচন করুন।
আপনার প্রধান নির্মাণ লক্ষ্য নির্বাচন করুন.
লক্ষ্যের বিল্ড সেটিংস ট্যাবটি খুলুন এবং তারপরে সমস্ত ক্লিক করুন।
debug information format
জন্য অনুসন্ধান করুন.আপনার সমস্ত বিল্ড প্রকারের জন্য dSYM ফাইল সহ DWARF- এ ডিবাগ তথ্য বিন্যাস সেট করুন।
আপনার অ্যাপ্লিকেশন পুনর্নির্মাণ.
আপনার ক্র্যাশ রিপোর্ট এখন Crashlytics ড্যাশবোর্ডে উপস্থিত হওয়া উচিত। যদি সমস্যাটি থেকে যায় বা আপনি অন্যান্য ত্রুটির সম্মুখীন হন, আপনার dSYM গুলি সনাক্ত করার চেষ্টা করুন এবং সেগুলিকে ম্যানুয়ালি Crashlytics এ আপলোড করুন ৷
একটি স্থানীয় মেশিনে আপনার dSYM গুলি সনাক্ত করুন৷
আপনার মেশিনে আপনার সমস্ত dSYMs' UUID প্রদর্শন করতে নিম্নলিখিত কমান্ডটি চালান এবং অনুপস্থিত dSYM অনুসন্ধান করুন:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done
একবার আপনি dSYM খুঁজে পেলে, ম্যানুয়ালি এটি Crashlytics এ আপলোড করুন । যদি mdfind
কমান্ড কোনো ফলাফল না দেয়, আপনি Products
ডিরেক্টরিতে দেখতে পারেন যেখানে আপনার .app
থাকে (ডিফল্টরূপে, Products
ডিরেক্টরিটি Derived Data
এ অবস্থিত)। যদি আপনার অ্যাপটি প্রোডাকশনে প্রকাশ করা হয়, আপনি ডিস্কের .xcarchive
ডিরেক্টরিতে এর dSYMও দেখতে পারেন:
Xcode-এ, অর্গানাইজার উইন্ডো খুলুন এবং তারপর তালিকা থেকে আপনার অ্যাপটি নির্বাচন করুন। Xcode আপনার প্রকল্পের জন্য সংরক্ষণাগারগুলির একটি তালিকা প্রদর্শন করে।
ফাইন্ডারে দেখতে একটি সংরক্ষণাগারে নিয়ন্ত্রণ-ক্লিক করুন। আবার কন্ট্রোল-ক্লিক করুন, এবং তারপর প্যাকেজ বিষয়বস্তু দেখান ক্লিক করুন।
.xcarchive
এর মধ্যে একটি dSYMs ডিরেক্টরি রয়েছে যাতে Xcode-এর সংরক্ষণাগার প্রক্রিয়ার অংশ হিসাবে তৈরি করা dSYMs রয়েছে৷
আপনার dSYMs আপলোড করুন
Crashlytics আপনার dSYM ফাইল আপলোড করার একাধিক উপায় সমর্থন করে, স্বয়ংক্রিয়ভাবে বা ম্যানুয়ালি ।
(প্রস্তাবিত) স্বয়ংক্রিয়ভাবে আপনার dSYMগুলি প্রক্রিয়া করুন এবং ফাইলগুলি আপলোড করুন৷
আপনি যখন প্রাথমিকভাবে Crashlytics সেট আপ করেন, আপনি সম্ভবত আপনার অ্যাপের জন্য এই স্বয়ংক্রিয় আপলোড আচরণটি কনফিগার করেছেন। যাইহোক, যদি স্বয়ংক্রিয় আপলোড ব্যর্থ হয়, আপনার কনফিগারেশন সঠিক কিনা তা পরীক্ষা করুন ।
আপনার dSYM ফাইল ম্যানুয়ালি আপলোড করুন
যদি স্বয়ংক্রিয় আপলোড ব্যর্থ হয়, তাহলে আপনি নিম্নলিখিত বিকল্পগুলির মধ্যে যেকোনো একটি ব্যবহার করে ম্যানুয়ালি আপনার dSYM ফাইল আপলোড করতে পারেন।
বিকল্প 1 : আপনার dSYM ফাইল সমন্বিত একটি জিপ ফাইল আপলোড করতে কনসোল-ভিত্তিক "ড্র্যাগ অ্যান্ড ড্রপ" বিকল্পটি ব্যবহার করুন ( Firebase কনসোল > Crashlytics > dSYMs ট্যাবে যান)।
বিকল্প 2 :
upload-symbols
স্ক্রিপ্টটি ব্যবহার করুন যা আপনি আপনার বিল্ড প্রক্রিয়ার যেকোন জায়গা থেকে আপনার dSYM ফাইল ম্যানুয়ালি আপলোড করতে কল করতে পারেন।upload-symbols
স্ক্রিপ্ট চালানোর জন্য, নিম্নলিখিত বিকল্পগুলির মধ্যে যেকোনো একটি ব্যবহার করুন:বিকল্প A : আপনার বিল্ড প্রক্রিয়ায় নিম্নলিখিত লাইনটি অন্তর্ভুক্ত করুন:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
বিকল্প B : আপনার টার্মিনাল থেকে সরাসরি স্ক্রিপ্ট চালান:
/PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs
ব্যবহারের নোট এবং এই স্ক্রিপ্ট সম্পর্কে অতিরিক্ত নির্দেশাবলীর জন্য,
--help
প্যারামিটার দিয়েupload-symbols
চালান।