2016-05-12 18 views
6

http://prntscr.com/b388sfVải sẽ tự động tải lên số dSYM bị thiếu

Tôi liên tục gặp vấn đề này sau iOS9 và chán nó. Tôi đang sử dụng Xcode/Fabric/Swift mới nhất với kích hoạt bitcode. Tôi phải tải dSYM theo cách thủ công từ itunesconnect và tải nó lên vải để nó hoạt động.

Tôi đang làm gì sai, làm thế nào tôi có thể làm cho nó hoạt động tự động như dự định của nó?

Trả lời

8

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

Đố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.

+0

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

+0

Đó 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 đó. –

Các vấn đề liên quan