你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> ios arc和非arc的開啟和禁止

ios arc和非arc的開啟和禁止

編輯:關於IOS

要想將非ARC的代碼轉換為ARC的代碼,大概有2種方式:
1.使用Xcode的自動轉換工具
2.手動設置某些文件支持ARC

一、Xcode的自動轉換工具
Xcode帶了一個自動轉換工具,可以將舊的源代碼轉成ARC模式
1.ARC是LLVM 3.0編譯器的特性,而現有工程可能使用老的GCC 4.2或LLVM-GCC編譯器,因此首先需要設置使用LLVM 3.0編譯器:
(現使用的XCode4.5,LLVM 3.0已經升級到LLVM 4.1)

最好也選上Warnings中的Other Warning Flags 為 -Wall,這樣編譯器就會檢查所有可能的警告,有助於我們避免潛在的問題

2.Build Options下面的Run Static Analyzer選項也最好啟用,這樣每次Xcode編譯項目時,都會運行靜態代碼分析工具來檢查我們的代碼

3.設置"Objective-C Automatic Reference Counting"選項為YES,不過Xcode自動轉換工具會自動設置這個選項,這裡只是說明一下如何手動設置

4.打開Xcode的自動轉換工具

5.Xcode會顯示一個新窗口,讓你選擇哪些文件需要轉換

點擊Check按鈕,Xcode可能會彈出對話框提示項目不能轉換為ARC,需要你准備好轉換(這裡暫時省略詳細說明)

6.如果沒有什麼警告、錯誤了,就會彈出一下提示窗口:

7.點擊Next,幾秒鐘後,Xcode會提示所有文件的轉換預覽,顯示源文件的所有改變。左邊是修改後的文件,右邊是原始文件。在這裡你可以一個文件一個文件地查看Xcode的修改,以確保Xcode沒有改錯你的源文件:

點擊Save即可完成轉換

8.自動轉換之後,Xcode會移除所有retain、release、autorelease調用,這可能會導致代碼出現其它警告、無效語法等,這些都需要自己手工進行修改
注意:Xcode的自動轉換工具最好只使用一次,多次使用可能會出現比較詭異的問題。假如你第一次轉換沒有轉換所有的文件,當你稍後試圖再次轉換剩余的文件時,Xcode實際上不會執行任何轉換操作。因此最好一次就完成轉換,沒有轉換的文件可以考慮手工進行修改

二、手動開啟某些文件的ARC

在Compiler Flags一列加上-fobjc-arc就表示開啟這個.m文件的ARC

三、禁止某些文件的ARC

在Compiler Flags一列加上-fno-objc-arc就表示禁止這個.m文件的ARC

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved