2012-06-26 28 views
0

我將.h.m文件從非ARC應用程序添加到ARC iphone應用程序。我將-fno-objc-arc設置爲這些文件的構建階段的編譯器標誌。但是,當我嘗試運行這個應用程序後,添加這些文件我面臨一個問題。 Appliacation不會給出任何錯誤,只是顯示失敗一次,並停止構建過程。通過將ARC文件添加到ARC iPhone應用程序問題?

我很困惑,並試圖瞭解這個問題是什麼。我刪除這些非ARC文件後,它正常運行。

回答

0

只要做以下的事情:

  1. 重置您的模擬器。

    2。清除您的內部版本

在您的非arc文件內容中刪除release,retain,autoreleasepool和auto release。

生成並運行後。希望它能起作用。

+0

謝謝你的迴應。我嘗試了你所說的乾淨構建。但應用程序不會構建。它說失敗了。我也不會顯示任何錯誤 –

+0

檢查您的添加文件到項目文件夾中,也轉到目標文件選擇生成階段中展開編譯源檢查.m文件可用 – Senthilkumar

1

首先,你添加.h文件,但不要在其上設置任何編譯標誌 - 你對此的評論有點令人困惑 - 實際上你的問題和評論很混亂。所以讓我們嘗試排序了這一點:

  • 您添加兩個.M和.H到項目 - 你可以看到他們在左側窗格中
  • .m文件加入到構建階段與-fno-objc弧

的編譯標誌所期望的目標現在變得非常棘手,因爲你的問題是自相矛盾的:

1)你試圖建立和構建失敗。因此,然後編輯您的帖子並提供錯誤消息。

2)構建成功,您運行該項目,但它以某種方式失敗。問題是你不告訴我們它是如何失敗的。

因此,除了澄清你的問題,請注意,如果你添加一個非ARC文件到你的項目中,那個文件必須符合某些約定,你可以在ARC文檔中閱讀這些約定(兩篇很短的文章,一個來自蘋果,一個來自llvm)。例如,如果你在該文件中有一個以「init」或「create」開頭的方法,那麼它返回的任何對象都必須保留而不是自動釋放。

我個人在ARC項目中使用了非ARC文件一年,沒有任何問題。