2009-11-13 162 views
0

應用弱聯用3.X SDK功能,但需要在2.x設備上運行。該解決方案似乎是用「弱鏈接」,我照做了,但應用程序仍然無法編譯* *爲iPhone 2.2.1:「框架沒有找到MapKit」。與Interface Builder中

編譯目標「設備3.0 - 調試」就行了,甚至在我的iPod Touch上運行2.2.1安裝!只要我沒有使用MapKit激活視圖,運行就OK,如果我這樣做會崩潰。

我創建使用界面生成器的圖,拖它的MKMapView對象。據我所知,這是MapKit唯一的參考,所以問題是:當我使用弱鏈接,我可以在IB使用相關的UI元素呢?我應該只在XCode中完成所有這些嗎?猜對了,但能夠上安裝並運行「3.0」應用程序「2.2.1」設備混淆了我......

+0

沒人知道?太容易的問題?太難了?我是否試圖以「錯誤」的方式來做這件事,這是不應該用IB來做的嗎? – JOM 2009-11-14 22:13:06

回答

2

你不應該載入包含3.0對象只像一個的MKMapView 2.0設備上的筆尖文件。這意味着,你必須從代碼中檢查你在nib中使用的框架/類的可用性。如果它們不可用,則不得加載筆尖。

這是你可以檢查地圖套件可供選擇:

if (NSClassFromString(@"MKMapView") != NULL) { 
    // load nib, map kit is available 
} else { 
    // do something else, map kit is not there 
}