2012-01-11 31 views
24

TestFlight SDK khuyên bạn nên đặt Strip Debug Symbols During Copy thành YES trong Cài đặt Xcode Build để cho phép báo cáo sự cố tốt nhất có thể. Tôi nhận thấy rằng nó được đặt thành YES theo mặc định.Xcode: Tôi có nên tắt các biểu tượng gỡ lỗi trong khi sao chép không?

Tôi có nên đổi thành YES không? Tại sao hay tại sao không?

+15

Điều này không đúng: TestFlight SDK khuyên bạn nên đặt 'Ký hiệu gỡ lỗi dải trong khi sao chép', trong số các cài đặt khác, thành' NO'! – jonsibley

Trả lời

23

Nếu cài đặt mặc định là YES, bạn không cần phải làm gì khác.

Nói chung, cài đặt này đảm bảo rằng các biểu tượng gỡ lỗi không phải là một phần của phân phối nhị phân làm giảm kích thước tệp 30-50%. Thay vào đó, các biểu tượng gỡ lỗi sẽ được ghi vào tệp DWSF dSYM, sau này có thể được sử dụng để biểu tượng cho các báo cáo sự cố.

8

Các TestFlight SDK khuyến cáo để thiết lập cài đặt này để NO, không để YES:

Để kích hoạt báo cáo tai nạn tốt nhất có thể, chúng tôi khuyên bạn nên thiết lập các thiết lập dự án xây dựng sau trong Xcode hoặc không có cho tất cả các mục tiêu mà bạn muốn có báo cáo sự cố trực tiếp. Bạn có thể tìm thấy các thiết lập xây dựng bằng cách mở Project Navigator (lệnh mặc định + 1 hoặc command + shift + j) sau đó nhấp vào dự án bạn đang cấu hình (thường là lựa chọn đầu tiên trong danh sách). Từ đó bạn có thể chọn thay đổi cài đặt hoặc cài đặt dự án toàn cầu trên cơ sở dự án riêng lẻ. Tất cả các cài đặt bên dưới đều nằm trong phần Triển khai.

  • Deployment Postrocessing
  • Biểu tượng Strip gỡ lỗi Trong Sao chép
  • Strip liên kết sản phẩm

Bugsense (http://www.bugsense.com/pages/faq) cũng khuyên bạn nên thiết lập này với lời giải thích này:

Tại sao tôi nhận được vùng nhớ thay vì theo dõi ngăn xếp cho m y ứng dụng iOS?
Ứng dụng iOS thường không bao gồm thông tin gỡ lỗi hoặc thông tin này được bao gồm trong tệp đặc biệt có phần mở rộng dSYM (gỡ lỗi SYM symbols). Để bật thông tin cho ứng dụng iOS của bạn, bạn phải đặt thành NO là thiết lập dự án được gọi là “Ký hiệu gỡ lỗi dải” cho tất cả các cấu hình dự án.

+16

Cả hai mẹo đều không tốt vì bạn đã tăng kích thước ứng dụng quá nhiều. Ngoài ra không cần phải thêm chúng vào nhị phân, vì chúng có thể được biểu tượng trên máy Mac của bạn. Ngoài ra HockeyApp, dịch vụ tôi tham gia, cung cấp đầy đủ biểu tượng báo cáo sự cố bên máy chủ mà không cần thêm các biểu tượng vào nhị phân. Ngoài ra Testflight đã thay đổi đề xuất đó vì chúng cho phép tải lên dSYM từ một thời gian. Có thể họ không cập nhật Câu hỏi thường gặp của họ. – Kerni

27

Tôi làm việc tại TestFlight. Câu trả lời ngắn gọn là: đặt nó thành YES.

Câu trả lời dài:

@Kerni là chính xác. Trước khi chúng tôi bắt đầu tượng trưng cho phía máy chủ, chúng tôi cần dữ liệu đó để biểu tượng trên thiết bị.

Vì vậy, nếu bạn tải dSYM lên TestFlight, bạn có thể loại bỏ chúng. Nếu bạn không muốn tải lên dSYM của mình vì lý do nào đó, bạn có thể để chúng vào và TestFlight có thể tượng trưng trên thiết bị.

Về cơ bản README không được cập nhật. Xin lỗi @Manni! Tôi sẽ cập nhật nó cho bản phát hành tiếp theo. (Tôi sẽ xóa toàn bộ phần đó).

Xin lỗi về sự nhầm lẫn!

+0

Nếu tôi đặt nó thành 'NO' cho' Debug' thì sao? Nó có giúp tôi gỡ lỗi không? Có vấn đề gì nếu ứng dụng cục bộ có kích thước lớn hơn? Nó xây dựng ứng dụng chậm hơn? –

+0

Tôi không nghĩ có bất kỳ lý do nào để đặt thành NO để gỡ lỗi. Tôi không nghĩ rằng nó giúp gì cả. Ứng dụng lớn hơn nên sẽ hơi chậm tải lên thiết bị. – jasongregori

+0

Tại sao [this] (https://www.cocoanetics.com/2015/04/skipping-copy-phase-strip) nói rằng bạn nên đặt nó thành 'NO'? Tôi cũng đã thử những gì anh ta đã nói trong 'Xcode 6.4' và thiết lập của dự án được đặt thành 'NO' cho một dự án mới. –

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