Mike from Fabric here.
Sử dụng Bitcode chắc chắn sẽ làm cho sự cố này xảy ra thường xuyên hơn, nhưng có một số cách xử lý vấn đề này. Bạn có thể tự động tải xuống các dSYM bằng cách sử dụng Fastlane.tools bằng cách chạy fastlane refresh_dsyms
sẽ tải xuống các dSYM từ iTunesConnect và sau đó tải chúng lên Vải. Tài liệu tham khảo cho refresh_dsyms
Fastlane là ở đây: https://krausefx.com/blog/download-dsym-symbolication-files-from-itunes-connect-for-bitcode-ios-apps
Trên thực tế, tạo ra một Fastlane gọi: refresh_dsyms
, như sau:
lane :refresh_dsyms do
download_dsyms # Download dSYM files from iTC
upload_symbols_to_crashlytics # Upload them to Crashlytics
clean_build_artifacts # Delete the local dSYM files
end
Mà sẽ tải về dSYMs từ iTunesConnect và tải chúng lên vải.
Hoặc, bạn có thể chạy tập lệnh Fabric upload_symbols
, nhưng bạn sẽ cần phải tải xuống thủ công các dSYM từ iTunesConnect - điều này sẽ chỉ xử lý việc tải lên. Các lệnh sẽ là: find <directory-to-search-for-dsyms> -name "*.dSYM" | xargs -I \{\} /path/to/upload-symbols -a <api-key> -p <platform> \{\}
tham chiếu cho upload_symbols là ở đây: https://docs.fabric.io/ios/crashlytics/missing-dsyms.html#upload-symbols-script và
Đối với lý do tại sao điều này xảy ra, Apple đang biên dịch lại ứng dụng của bạn khi Bitcode được kích hoạt, do đó dSYM chỉ được tạo trên các máy chủ của Apple mà ngăn Vải tự động tải chúng lên.
Nguồn
2016-05-12 21:08:42
Vì vậy, chỉ cần vô hiệu hóa bitcode sẽ giải quyết vấn đề này mà không phức tạp? – Esqarrouth
Đó là khá nhiều những gì chúng tôi đã tìm thấy. Có một vài trường hợp cạnh, nhưng Apple đang biên dịch lại ứng dụng của bạn trên máy chủ của họ, tạo ra một dSYM mới, vì vậy không có cách nào để chúng tôi nắm bắt những dSYM đó. –