2017-03-28 13 views
6

tôi có ba iOS dự án:thời gian biên dịch cực kỳ dài với Swift trong Xcode

  • Đầu tiên một - 35k Swift LỘC, Swift 2.1 (? Hoặc 2.0), biên soạn sử dụng Xcode 7.2.3
  • Second một - 15k Swift LỘC, Swift 2.3, biên soạn sử dụng Xcode 8.2.1
  • thứ ba một - 15k LỘC Swift, Swift 3.0, biên soạn sử dụng Xcode 8.2.1

thời gian biên dịch cho tất cả trong số này là rất hạn chế (10+ phút để xây dựng sạch sẽ) và các nhà phát triển t trên mỗi một trong số này là làm chậm để thu thập thông tin.

Tôi đã cố gắng:

  • Sử dụng Whole Module Optimization
  • Thay đổi C Dialect để biên dịch mặc định
  • Phân tích xây dựng lần cho dự án và tối ưu hóa tắc nghẽn (một vài phương pháp mà mất 6-10s để biên dịch với mảng concatenation, nil coalescing nhà khai thác và như vậy), mà cạo như 15 giây - hoàn toàn không đáng chú ý sự khác biệt
  • HEADERMAP_USES_VFS = YES
  • Một số khác mà tôi không nhớ bây giờ

Tôi đang làm việc trên Mac mini Cuối năm 2014 với SSD, 8GB RAM & 2.6ghz i5, nếu có vấn đề.

Bất cứ ai biết điều gì có thể gây ra điều đó, phải làm gì với điều đó hoặc thậm chí là bất kỳ cách giải quyết nào bây giờ? Từ những gì tôi đã đọc trên SO và những nơi khác, nó có vẻ như một vấn đề trình biên dịch chưa được giải quyết.

CHỈNH SỬA: Có, tôi đang sử dụng Cocoapod cho phụ thuộc. Tôi sẽ cố gắng chuyển đến Carthage và xem chuyện gì sẽ xảy ra.

+0

Bạn đang sử dụng cocoapods? – user3581248

+1

Bạn đã thấy điều này chưa: https://thatthinginswift.com/debug-long-compile-times-swift/? – vikingosegundo

+0

Có, tôi đang sử dụng cocoapods, và vâng, tôi đã thấy bài viết đó. Nó không được kết nối với các vấn đề suy luận loại. Tôi đã sắp xếp các tắc nghẽn mã. –

Trả lời

5

Hãy thử đặt các cài đặt sau trong Cài đặt bản dựng làm giải pháp thay thế. Tôi giả sử bạn chỉ có một Mục tiêu.

  1. Chỉ đặt kiến ​​trúc xây dựng tích cực thành Có.
  2. Set Optimization Cấp None [-Onone]
  3. Thêm cài đặt User-Defined gọi là "SWIFT_WHOLE_MODULE_OPTIMIZATION" với giá trị "YES"
  4. Thải dữ liệu thu được và xây dựng.

Bạn cũng có thể sau đó sử dụng công cụ này để phân tích bất kỳ tập tin Swift chậm biên soạn: https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode

tôi đã trải qua xây dựng lần được ghi biên 6-7. Tôi đã rời khỏi Cocoapods và bắt đầu sử dụng Carthage giúp xây dựng sạch sẽ. Thậm chí sau đó các bản dựng vẫn mất 3 phút. Cải tiến lớn nhất đi kèm với các bước tôi đã đề cập ở trên.

Cập nhật

Thay vì thêm các cài đặt User-Defined, trên xây dựng gỡ lỗi của bạn thiết lập tối ưu hóa Cấp để 'nhanh, Whole Mô-đun Tối ưu hóa'. Sau đó, trong các cờ Swift khác để xây dựng gỡ lỗi của bạn thêm '-Onone'.

+0

Tôi đã thử các bước trên, nhưng tôi chưa thử chuyển sang Carthage, điều đó có thể hữu ích. Cảm ơn! –

+1

Các bước không giúp cải thiện thời gian biên dịch? Theo kinh nghiệm của tôi, điều đó đã tạo ra sự thúc đẩy lớn nhất đối với thời gian biên dịch Swift. Điều quan trọng là không sử dụng "Tối ưu hóa toàn bộ mô-đun" mà bạn đã đề cập và thay vào đó thực hiện theo cách tôi đã mô tả. – totiG

+0

Tôi chưa thử đặt 'SWIFT_WHOLE_MODULE_OPTIMIZATION' từ cài đặt do Người dùng xác định, cũng giống như cài đặt tối ưu hóa mã. Tôi sẽ thử điều đó. –

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