2010-06-25 63 views
3

因爲SDK 4中的模擬器3.2和4.0並不實際適用於iPhone模擬(它總是出來iPad並且根本沒有響應),所以我最終用2個SDK安裝,使用SDK 3.1.3/Simulator 3.1進行模擬,以及SDK 4,用於在OS 4上構建到iPhone上。(更多詳細信息here。)是否可以使用XCode 3.2.3中的iPhone Simulator 3.1?

我嘗試使用SDK4-XCode 3.2.3中的舊模擬器3.1,例如通過將完整的「iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk」目錄複製到相應的XCode3.2.3目錄中,並選擇Simulator-3.1.3(它出現在「Active Executable」列表中),但它不能建立,超過30個錯誤,例如

未定義的符號:
「_OBJC_CLASS _ $ _ NSURLConnection的」, 從引用: objc級-REF對NSURLConnection的在 GRACEViewController.o
「_OBJC_CLASS _ $ _的NSString」,從引用 : objc -class-REF到的NSString在GRACEViewController.o

是否有使用的XCode 3.2.3時使用模擬器3.1(而不是3.2模擬器或4.0)(WHI的方式ch是必須在OS 4上構建到iPhone上)

+0

你好你找到一種方式來運行較早版本的模擬器?我有同樣的問題。 – 2010-08-30 08:18:27

+1

嗨,我終於安裝了2個版本的XCode。使用模擬器3.1.3的舊版本3.2.1以及僅將新版本3.2.3構建到設備中。 – lionfly 2010-09-01 00:23:26

回答

3

XCode 3.2.3確實會模擬iPhone。你需要確保你的項目設置是正確的。我有以下的設置和它的作品對我來說:

  • 基地SDK: iPhone設備4.0
  • 目標器件系列: iPhone
  • 部署目標: iPhone OS 3.0

因此,您應該可以選擇在iPhone模擬器中運行您的項目。

+0

升級後我遇到了一些麻煩,因爲我的舊項目不再生成或運行。菜單選擇不起作用。我不得不進入Target的信息並進行設置。 – mbmcavoy 2010-06-25 17:05:01

+2

我有相同的設置,雖然我可以在模擬器中運行,但模擬器正在模擬iOS4。硬件 - >版本菜單中的唯一選項是4.0和3.2(將其切換到iPad模擬器)。我認爲OP正在尋找一種在4.0模擬器中測試3.1兼容性的方法。 – 2010-07-01 15:49:34

+0

我明白你現在在說什麼。您將需要運行3.1.x的實際設備來測試兼容性。這個蘋果dev論壇主題可能會提供進一步的洞察:https://devforums.apple。COM /消息/ 244347 – keno 2010-07-01 18:38:29

0

我發現通過完全保護任何OS3.2代碼,我可以選擇編譯爲3.1.3或3.2,只需在編譯時更改Active SDK即可。 3.1.3將永遠出現在iPhone模擬器中,並且3.2將始終出現在iPad模擬器中。

這裏是充分保護代碼的例子:

#ifdef UI_USER_INTERFACE_IDIOM 
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
// iPad Only Code Goes here 
      [deviceType setString:@"ipad"]; 
     } else { 
    #endif 
// iPhone Only Code Goes Here 
      [deviceType setString:@"iphone"]; 
    #ifdef UI_USER_INTERFACE_IDIOM 
     } 
    #endif 
相關問題