2013-12-20 104 views
0

我有幾個在iOS 5到7上運行的應用程序。它已經很難維護不同的apis集。Xcode 5 iOS 5 - 既不支持設備也不支持模擬器?

在我使用Xcode 5的新的OS X Mavericks框中,它只是拒絕向我展示iOS 5模擬器。爲了增加這種痛苦,當我附加我的iOS 5設備時,我的應用程序簡單地崩潰抱怨iOS 6功能(iOS 5中不存在 - 例如UICollectionView)。

這裏是崩潰日誌我的iOS 5設備:

Symbol not found: _UICollectionElementKindSectionHeader 

注意,對於最後一個問題 - 我在我的代碼中的所有條件編譯的宏。比如,我包間我UICollectionView代碼:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0 
#endif 

我還運行時檢查,看是否存在類:

if (NSClassFromString(@"UICollectionView")) 

我相信在我的大箱子也不存在這個問題與Xcode 5和4.6(OS X Lion)。但我現在根本無法獲得它,而這個問題讓我發狂,因爲它沒有iOS 5的支持。

怎麼辦?

+1

轉至首選項>下載並安裝模擬器。 –

+0

它只顯示模擬器> 6.0。我甚至從源代碼獲得了iOS 5 SDK,並且可以將它視爲Schemes中的一個選項,但是當我啓動該應用程序時,它僅爲6.0。 –

+1

如果它在運行時崩潰,則運行時檢查顯然不能正常工作或完成。 – Kevin

回答

1

您可以從developer.apple.com下載XCode 4.6.3

+0

當然,使用XCode 4文件格式(project,nibs ...)是一件痛苦的事情。 – Sulthan

+0

Apple App Store [requires](http://www.macworld.com/article/2080865/apple-requiring-app-submissions-to-be-optimized-for-ios-7-by-feb-1.html)應用程序和更新將自2014年2月1日起用Xcode 5構建。 –

0

您是否試過檢查是否可以調用該方法。我使用這樣的事情:

if ([UICollectionView instancesRespondToSelector:@selector(UICollectionElementKindSectionHeader:)]) 

或類似的東西?

0

我通過將UIKit鏈接爲可選框架而不是Required來解決問題。

奇怪,但是是正確的。