2012-04-17 24 views
11

Sau khi chuyển đổi dự án Xcode thành ARC (Tự động tính toán tham chiếu), tôi cần tắt ARC cho một số tệp nguồn của mình (chủ yếu là mã của bên thứ ba)).Thêm hàng loạt cờ "-fno-objc-arc" vào (nhiều) tệp nguồn

Tôi biết mình cần đặt cờ "-fno-objc-arc" cho từng tệp này, nhưng Xcode không cho tôi tùy chọn chỉnh sửa hàng loạt - tôi cần thêm cờ này vào từng tệp theo cách thủ công, có thể tẻ nhạt nếu bạn cần đặt nó cho nhiều tệp.

Có ai có cách tiếp cận thông minh với điều này không?

Trả lời

23

Chọn những người bạn muốn thêm cờ để (sử dụng phím Shift và/hoặc lệnh) và nhấn Enter để hiển thị các biên tập cờ. Nhấn Xong để áp dụng (các) cờ đã nhập vào (các) tệp đã chọn.

Tutorial

tôi đã sáng tác một blog post để phục vụ như một hướng dẫn cho quá trình này.

+0

Đẹp !! Tôi không bao giờ biết bạn có thể làm điều này +1 – borrrden

+0

Nhanh chóng và tuyệt vời! Tôi đã thử chọn nhiều lần và nhấp đúp, không bao giờ nghĩ đến việc nhấn Enter! –

+1

Vâng, nó không phải là rất trực quan. –

1

Tôi cần đặt các tệp không được hỗ trợ ARC (chủ yếu là mã của bên thứ ba).

Ngoài việc quản lý cờ, bạn có thể chỉ cần tạo thư viện tĩnh cho các nguồn này, sau đó liên kết.

+0

Tôi thấy việc tạo thư viện là một quá trình khó hiểu và thường vô ích.Với tất cả thời gian bạn đã dành để kiểm tra các tiêu đề và chỉnh sửa các cài đặt xây dựng, bạn có thể chỉ cần đặt cờ trình biên dịch và đã được thực hiện với nó. – CodaFi

+0

@CodaFi sau khi viết và định cấu hình nhiều thư viện, ý kiến ​​của tôi hoàn toàn ngược lại :) – justin

+0

Tôi nghĩ tất cả phụ thuộc vào số lượng ứng dụng bạn phải duy trì. – nycynik

2

Cho đến nay, tùy chọn đơn giản nhất là chỉ sử dụng công cụ chuyển đổi ARC trong Edit> Refactor.

Nó không phải là rất rõ ràng, nhưng về cơ bản bạn chỉ cần kiểm tra bất kỳ tập tin bạn muốn sử dụng ARC và bỏ chọn bất kỳ mà bạn không. Điều này sẽ làm như sau:

1) tập tin mà không được kiểm soát sẽ có cờ -fno-objc-arc được áp dụng

2) tập tin được kiểm tra sẽ được chuyển đổi sang ARC

3) Các tập tin được chọn đã được chuyển đổi sang ARC sẽ bị ảnh hưởng

Đọc kỹ lại. Điều đôi khi gây nhầm lẫn cho mọi người là họ cho rằng các tệp đã được chuyển đổi sẽ không được kiểm tra khi chạy lại công cụ, nhưng điều này sẽ áp dụng không chính xác -fno-objc-arc cho các tệp đó (dẫn đến rò rỉ).

Bạn nên nghĩ đến công cụ Chuyển đổi ARC dưới dạng "các tệp tương thích ARC theo lô và chuyển đổi tệp không phải là công cụ ARC" thay vì công cụ chuyển đổi thẳng.

Bạn có thể chạy công cụ chuyển đổi bao nhiêu lần tùy thích - hiệu ứng không được tích lũy (mặc dù chuyển đổi tệp thành ARC không thể đảo ngược).

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