Câu hỏi Làm thế nào tôi có thể vô hiệu hóa ARC cho một tệp trong một dự án?


Tôi đang sử dụng ARC thành công trong dự án của mình. Tuy nhiên, tôi đã gặp phải một vài tệp (ví dụ: trong các bài kiểm tra đơn vị và đối tượng mô phỏng), trong đó các quy tắc của ARC hơi mỏng manh hơn ngay bây giờ. Tôi nhớ rằng có một cách để vô hiệu hóa ARC trên cơ sở từng tệp, mặc dù tôi không thể tìm thấy tùy chọn này.

Điều này có thể không? Làm cách nào để vô hiệu hóa ARC trên cơ sở từng tệp?


1290
2017-07-11 05:21


gốc


stackoverflow.com/questions/30274209/… - Vizllx


Các câu trả lời:


Có thể vô hiệu hóa ARC cho từng tệp bằng cách thêm -fno-objc-arc cờ trình biên dịch cho các tệp đó.

Bạn thêm cờ trình biên dịch vào trong Targets -> Build Phases -> Compile Sources. Bạn phải nhấp đúp vào cột bên phải của hàng bên dưới Cờ biên dịch. Bạn cũng có thể thêm nó vào nhiều tệp bằng cách giữ nút cmd để chọn tệp và sau đó nhấn enter để đưa lên hộp chỉnh sửa cờ. (Lưu ý rằng việc chỉnh sửa nhiều tệp sẽ ghi đè bất kỳ cờ nào mà nó có thể đã có.)

Tôi đã tạo một dự án mẫu có một ví dụ: https://github.com/jaminguy/NoArc

xcode

Xem câu trả lời này để biết thêm thông tin: Tắt tính năng tham chiếu tự động cho một số tệp


2131
2017-07-12 01:22



Vì vậy, nơi để thêm cờ này không quá trực quan. Nhưng, trong Xcode 4, trong các giai đoạn xây dựng và biên dịch các nguồn, thực ra có hai cột. Một cho tên tập tin, và một cho các cờ biên dịch cho một tập tin đó. Đây là nơi bạn nhập cờ trình biên dịch cụ thể này. - casademora
Bạn có thể chỉ định cho một thư mục, tức là, cho tất cả các tệp trong một thư mục không? Điều gì về một nhóm? - ma11hew28
Không có thư mục nào. Chỉ có một tệp duy nhất tại một thời điểm trong cài đặt bản dựng :( - casademora
@casademora bạn không thể có đủ upvotes cho phần thông tin này. Cảm ơn bạn. - theTRON
@casademora bạn có thể chọn nhiều tệp cùng một lúc - nhưng sau đó không nhấp đúp chuột nhưng nhấn RETURN. sau đó chỉ cần thêm -fno-objc-arc và nó sẽ được thêm vào tất cả các tệp đã chọn. chỉnh sửa chỉ nhìn thấy câu trả lời dưới đây: ( - pkyeck


Tắt ARC trên Các tệp MULTIPLE:

  1. Chọn các tệp mong muốn tại Target / Build Phases / Compile Sources trong Xcode
  2. BẤM PHÍM ENTER
  3. Kiểu -fno-objc-arc
  4. nhấn Đi vào hoặc là Làm xong

;)

enter image description here


454
2018-04-01 00:30



Cám ơn! Đã tìm kiếm tính năng này trong một thời gian dài. Nhấp đúp không hoạt động khi đã chọn nhiều hàng, nhưng nhấn enter sẽ thực hiện. Thật ki cục. - bobmoff
Tuyệt vời. Tôi đã dành tất cả nghiệp lực của mình để upvote điều này một lần nữa. Cám ơn vì đã chia sẻ! - jemmons
điều này dường như không hoạt động trên Xcode 4.3.3 nữa. nhấp đúp hoặc nhấn enter trên các tệp đã chọn không hiển thị hộp thoại để đặt cờ -fno-ojbc-arc, bất kỳ ai có giải pháp cho việc này? - tom
Tôi đã có 4.3.3 và bây giờ 4.4 DP7 và nó vẫn hoạt động tốt. Thử khởi động lại Xcode, khởi động lại máy và sửa chữa các quyền. - Tibidabo


Đối với Xcode 4.3, cách dễ dàng hơn có thể là: Chỉnh sửa / Refactor / Chuyển đổi sang mục tiêu-C ARC, sau đó kiểm tra các tệp bạn không muốn chuyển đổi. Tôi tìm thấy cách này giống như sử dụng cờ trình biên dịch ở trên.


42
2017-07-18 22:28





Nó là cách rất đơn giản để làm cho tập tin cá nhân phi arc.

Làm theo các bước dưới đây:

Tắt ARC trên tệp riêng lẻ:

  1. Chọn các tệp mong muốn tại Target / Build Phases / Compile Sources trong Xcode

  2. Chọn tệp .m mà bạn muốn đặt thành NON-ARC BẤM PHÍM ENTER Kiểu -fno-objc-arc

Tệp không phải ARC tới cờ dự án ARC: -fno-objc-arc

Tệp ARC tới cờ dự án không ARC: -fobjc-arc


34
2017-07-05 05:55





Lưu ý: nếu bạn muốn vô hiệu hóa ARC cho nhiều tệp, bạn phải:

  1. mở "Xây dựng giai đoạn" -> "Biên dịch nguồn"
  2. chọn tệp với "left_mouse" + "cmd" (đối với các tệp được phân tách) hoặc + "shift"  (đối với các tệp được nhóm - chọn đầu tiên và cuối cùng)
  3. bấm phím Enter"
  4. dán -fno-objc-arc
  5. nhấn "enter" lần nữa
  6. lợi nhuận!

33
2018-03-07 12:53





Chỉ cần sử dụng -fno-objc-arc gắn cờ Build Phases>Compile Sources


20
2017-11-28 09:56





  1. Chọn dự án Xcode
  2. Chuyển đến mục tiêu
  3. Chọn phần Xây dựng giai đoạn
  4. Bên trong phần pha xây dựng, hãy chọn các nguồn biên dịch.
  5. Chọn tệp bạn không muốn tắt ARC và thêm -fno-objc-arc

Disable ARC for a particular file


11
2018-01-20 09:03





Có thể vô hiệu hóa ARC (tính năng tham chiếu tự động) cho tệp cụ thể trong Xcode.

Chọn Target -> Build Phases -> Compile Sources -> Chọn File (nhấp đúp) -> Add "-fno-objc-arc" vào cửa sổ bật lên.

Tôi đã gặp phải tình huống này khi sử dụng các tệp "Khả năng hiển thị".

Điều này được thể hiện trong hình dưới đây:

enter image description here


10
2018-03-20 14:24