錯誤提示:
ARC forbids Objective-C objects in struct
報錯提示
錯誤原因:
自己的舊項目沒有使用ARC早像,但是引入的第三方庫卻使用了ARC。
自己的新項目使用了ARC,但是引入的第三方庫或者以前寫的代碼卻沒有使用ARC瑞信。
這兩種情況下,肯定是通不過編譯的穴豫》布颍可以通過升級舊項目逼友,讓其使用ARC來解決,但這個辦法有時候會很麻煩秤涩。
有一個簡單的辦法就是帜乞,可以指定單個文件是否采用ARC來進行編譯。
方法就是找到 TargetSettings -> Build Phases -> Compile Sources
在 Compile Sources 里面找到需要特殊處理的文件筐眷,加上編譯選項(Compiler Flags)黎烈,具體針對上面兩種情況有所區(qū)別。
解決方法:
對于第一種情況匀谣,給采用了ARC的源文件怨喘,添加
-fobjc-arc
選項。對于第二種情況振定,給沒有使用ARC的源文件必怜,添加
-fno-objc-arc
。
添加編譯選項