2013-09-21 19 views
7

基本上,我有一個運行正常的IOS應用程序。@「弱」屬性的合成只允許在ARC或GC模式下進行,首先編譯城市地區

雖然按照http://docs.urbanairship.com/build/ios.html#ios-push-getting-started的說明,我到達了「Register Your Device」部分,要求我編譯。

嘗試在xCode 5中構建代碼後,我收到以下錯誤:「@implementation UAPushSettingsAddTagViewController @synthesize'weak'屬性只能在ARC或GC模式下使用。

注意:ARC模式未使用。

回答

16

在項目代碼和包含的庫中搜索「弱」。它更改爲「分配」

編輯:

正如@TaylorHalliday在下面他的評論中指出,我的答案是相當不完整的。

更改要分配的弱屬性將消除編譯器錯誤,但如果您不瞭解如何使用手動引用計數,則可能會導致內存管理問題。

由於您正在使用手動引用計數,因此您需要檢查代碼並確保保留需要保留的對象,然後在完成對象時釋放所有對象的引用。解釋細節超出了論壇帖子的範圍。我建議您在Xcode幫助系統中的「關於內存管理」上進行搜索,並閱讀整個高級內存管理指南。

您應該也可以在您的項目上運行分析工具來查找可能的內存管理問題。

更棒的是,將您的項目轉換爲使用ARC。使用ARC時避免內存管理問題要容易得多。

+0

謝謝。這似乎幫助我解決了這個問題。 – Kmb40

+0

接受答案呢? –

+0

是的。我不再有這個問題。公認。謝謝。 – Kmb40

1

當我將these two files添加到我的項目中時,我得到了同樣的錯誤。我的項目沒有啓用ARC。我必須先刪除這些文件,然後必須將我的項目轉換爲ARC。然後添加這些文件不會導致錯誤。

+0

值得注意的是,我正在將此問題與已轉換爲ARC的項目相關聯。刪除文件然後將其添加回項目解決了問題。 –

相關問題