2014-10-02 18 views
11

Tôi có một không gian làm việc Xcode được thiết lập với CocoaPods. Khi tôi chạy Trình phân tích Xcode trên dự án của tôi, nó phân tích mã nguồn của riêng tôi cũng như tất cả mã nguồn trong các mục tiêu của Pod. Điều này đưa ra rất nhiều cảnh báo mà tôi không quan tâm vì tôi chỉ muốn xem các cảnh báo phân tích của mã nguồn của riêng tôi.Xcode Analyzer - Bỏ qua các mục tiêu CocoaPods

Tôi đã bỏ chọn "Phân tích" từ mục tiêu xây dựng cho nhóm nhưng điều này dường như không có bất kỳ ảnh hưởng nào.

Có cách nào để bỏ qua các mục tiêu của Pod khi chạy máy phân tích không?

enter image description here

+1

Câu trả lời ở đây http://stackoverflow.com/questions/13208202/ignore-xcode-warnings-when-using-cocoapods –

+1

@YuriSolodkin Đây là cảnh báo , không phải cảnh báo của máy phân tích tĩnh – CarmeloS

Trả lời

3

Bạn có thể thêm một bài cài đặt bước vào cuối podfile của bạn để thêm cờ biên dịch kiểm soát các phân tích tĩnh.

post_install do |installer| 
    puts 'Removing static analyzer support' 
    installer.project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['OTHER_CFLAGS'] = "$(inherited) -Qunused-arguments -Xanalyzer -analyzer-disable-all-checks" 
     end 
    end 
end 

Sau đó, chỉ cần chạy lệnh "cập nhật nhóm" để tạo lại tệp dự án của bạn.

Các bộ phận khác nhau:

  • $ (di truyền) - Một thói quen tốt để không tránh việc vô ý xóa cờ
  • -Qunused-luận - llvm không hiểu các tùy chọn kêu vang, điều này im lặng sự cảnh báo kết quả từ quá trình biên dịch chính
  • -Xanalyzer -analyzer-disable-all-checks - Điều này yêu cầu trình phân tích tĩnh bỏ qua các tệp trong dự án được liên kết.
+0

Tính năng này hoạt động đối với Cocoapods của tôi 0.35.0. – CarmeloS

5

Dưới đây là một bản cập nhật/sửa đổi cho câu trả lời có sẵn:

Với Cocoapods 0.38+ thuộc tính cài đặt cần thiết để có được dự án đã thay đổi như vậy mà bạn cần phải sử dụng "pods_project" thay vì "dự án" như vậy:

post_install do |installer| 
    puts 'Removing static analyzer support' 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['OTHER_CFLAGS'] = "$(inherited) -Qunused-arguments -Xanalyzer -analyzer-disable-all-checks" 
     end 
    end 
end 

Xem thông báo Cocoapods blog sau đây để biết thêm chi tiết về việc thay đổi: http://blog.cocoapods.org/CocoaPods-0.38/#breaking-change-to-the-hooks-api

Ngoài ra, đây là một (đóng cửa) vấn đề hiển thị lỗi mà bạn sẽ nhận được nếu bạn thử cách cũ với mã mới: https://github.com/CocoaPods/CocoaPods/issues/3918

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