2013-01-22 29 views
0

我正在研究將單元測試添加到現有的應用程序中,主要是教我自己如何工作。我得的一切是有線了依賴的階段,我可以運行一些小的檢查,如:在現有的ARC項目中實現OCUnit的問題

STAssertEquals(1, 2, @"This is a fail!"); 

而結果似乎通過正確地到來。不幸的是,如果我輸入我的任何腳本,我得到了使用這樣的關鍵字作爲unsafe_unretainedstrong任何@property行編譯器錯誤:

之前的預期「unsafe_unretained」

我想知道一個屬性特性,這與ARC有什麼關係? OCUnit是否符合ARC標準?我是否需要更改我的編譯器設置?

+0

OCUnit與ARC合作。我首先會檢查架構 - 例如,最新的Objective-C功能僅支持64位OSX架構。 –

+0

對不起,忘了提及這是一個iOS項目。體系結構是標準的(armv7,armv7s)。 – jowie

+2

檢查OCUnit目標的編譯器設置。看起來你有LLVM-GCC,或者是Apple LLVM編譯器。 – hoha

回答

3

短篇小說

OP有一個錯誤的編譯器在目標的設置

的時間長一點的故事設定(對於「預期的屬性屬性之前...」錯誤的Google員工)

今天唯一支持ARC的編譯器是Apple LLVM編譯器。我相信蘋果會將LLVM GCC視爲棄用,並將其與Xcode捆綁在一起,僅出於兼容性原因。所有新功能都將被添加到LLVM編譯器中。

編譯器設置可以在文件 - >項目設置...,「生成設置選項卡」中設置。該選項的名稱是「Compiler for C/C++/Objective-C」。

+0

不錯的一個:)謝謝! – jowie