Tôi có một số câu hỏi assert(condition, "message")
trong dự án của mình.Các cảnh báo được nhấn trong quá trình xây dựng sản xuất gây ra sự cố
Chúng được sử dụng để kiểm tra các điều kiện bất biến trong quá trình phát triển. Tôi nghĩ rằng họ sẽ bị bỏ qua trong quá trình sản xuất/phát hành (như đã nêu trong this answer). Chúng không. Thay vào đó chúng gây ra sự cố trong khi kiểm tra TestFlight. Khi tôi nhận xét xác nhận ứng dụng không bị lỗi. Một cái gì đó thường bị sai một chút nhưng nó không sụp đổ.
Nó có thể là thứ gì đó với cài đặt bản dựng của tôi không?
Tất cả các chương trình lưu trữ của tôi sử dụng cấu hình phát hành:
Các khẳng định là trong dự án Cocoa Touch Framework, được sử dụng từ phần mở rộng bàn phím tùy chỉnh.
Tất cả các mục tiêu trong tất cả các dự án (Cocoa Touch Framework, và các dự án chính với mục tiêu mở rộng bàn phím) có những Build Cài đặt:
Enable Foundation Assertions
Debug YES
Release NO
Disable Safety Checks NO
Có chuyện gì vậy?
EDIT:
Sulthan's answer cho thấy làm thế nào để vô hiệu hóa khẳng định trên toàn cầu cho cả debug và relase xây dựng. Đó không phải là những gì tôi cần. Tôi muốn nó hoạt động như mong đợi - các xác nhận phải được bật trong gỡ lỗi nhưng bị vô hiệu hóa trong các bản phát hành bản phát hành.
Theo mặc định, nó hoạt động theo cách đó - và nó cũng hoạt động theo cách đó trong dự án chính của tôi. Nhưng nó không hoạt động cho các xác nhận nằm trong dự án khung được liên kết từ dự án chính đó (chi tiết trong this question). Tại sao? Làm thế nào để sửa chữa nó?
Bạn đã thử [answer] (http://stackoverflow.com/a/24038197/669586) của mình chưa? – Sulthan
@Sulthan Không, tôi không có. Tôi nghĩ rằng nó không nên được yêu cầu để thêm bất kỳ cờ tùy chỉnh để đảm bảo nó bỏ qua khẳng định trong phát hành. Tôi sẽ thử nó ngay bây giờ. – drasto
Tôi cũng nghĩ rằng nó không nên được yêu cầu (nó đã được yêu cầu trong một trong các phiên bản beta đầu tiên). – Sulthan