2010-11-02 32 views
1

我已經閱讀了很多關於弱鏈接的問題和解答,在執行代碼之前檢查一個類是否有效。我的應用程序已基本完成並準備就緒(至少我認爲它是,我的第一個應用程序爲商店),但我需要解決這個問題,所以我的應用程序本身運行在iPad上。有人能幫我弄清楚爲什麼我的應用在iPad上運行時崩潰。罪魁禍首是不受支持的框架 - iAd

我收到的錯誤是以下內容: *終止應用程序由於未捕獲的異常 'NSInvalidUnarchiveOperationException',原因: '* - [NSKeyedUnarchiver decodeObjectForKey:]:不能解碼類的對象(ADBannerView)'

我對你的問題親的是,我在我的課程標題中設置了一些IBOutlet屬性。例如; @property(nonatomic,retain)IBOutlet ADBannerView * tollBanner;

此屬性是否導致在iPad上運行應用程序時出現問題?如果ADBannerView類不是nil,我在viewDidLoad方法中添加了一些條件。同樣在我的dealloc方法中,我釋放了這些ADBannerView對象。

我希望對此和TIA有任何幫助。

T

回答

3

有可能創建的對象是從nib/xib派生的。

如果你的筆尖/廈門國際銀行要求其提供一些平臺/操作系統版本的自定義類,則必須:

1)添加它編程

- 或 -

2)創建多個筆尖(針對每個本地化),然後加載特定於當前運行時間的筆尖。在大多數情況下,前者聽起來更簡單。

(PS:調用堆棧將幫助)

+0

賈斯汀感謝您的提示。看起來我會重做,並以編程方式添加它。 – tg2007 2010-11-03 01:09:08

1

按照iOS documentationADBannerView

可提供的iOS 4.0及更高版本。

iPad的iOS版本目前是3.2 *,因此您將無法在iPad上使用此課程。

* 4.2最近播種給開發人員(如果媒體報道是準確的),但是無論硬件如何,您的應用程序都將在運行iOS 4.0之前的iDevices上崩潰。

+0

fbrereto是的我明白<4.0 iAd框架不支持。我在我的實現中有弱鏈接和設置條件,但我的問題是因爲我在頭文件中引用的引用而導致崩潰。 – tg2007 2010-11-03 01:08:37

+0

@ tg2007:問題在於您試圖將包含「ADBannerView」的內容解壓縮爲歸檔的一部分。當unarchival代碼遍歷這個引用時,它會嘗試對不支持的類進行實例化,並且你正在崩潰。我相信在'Availability.h'中有宏,你可以用它來#如果不是有問題的代碼。 – fbrereto 2010-11-03 17:44:20

+0

感謝您的解釋。說得通。 – tg2007 2010-11-03 22:05:11

相關問題