Xcode 4.2是否支持編譯iOS 3.1.3的項目?我試着編譯一個我目前正在編寫的項目,每次我嘗試在iOS 3.1.3的iPhone 3G上運行應用程序時,我都不停地崩潰。我知道我運行的操作系統已經過時,但客戶端要求應用程序應該在iOS 3.1.3上運行。任何想法我將如何解決這個問題?使用Xcode 4.2編譯iOS 3.1.3
2
A
回答
1
在生成設置改變下列設置:
- 基地SDK - >最新的的iOS(的iOS 5.0)
- iOS的部署目標 - >的iOS 3.1
- 架構 - >選擇其他...和手動加上 「ARMv6的」
- 有效的架構 - >刪除 「的ARMv7」 見好就收 「的ARMv6」
在* AppDelegate.m
- (bool)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
// Override point for customization after application launch.
self.viewController = [[[MyHudDemoViewController alloc] initWithNibName:@"MyHudDemoViewController" bundle:nil] autorelease];
// NOTE THIS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// iOS 3.1 don't support the following statement.
//self.window.rootViewController = self.viewController;
[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
return YES;
}
呃....對不起......忘了......
- 檢查項目的Info.plist,它是否具有「所需的設備能力」項目,則該項目從改變「armv7」到「armv6」。
0
這裏有東西一大堆,我不得不做,使適用於iOS 3.1的XCode 4編譯和調試在3G版iPhone:
降級到4.3.3的XCode。
Xcode 4.5.2會拒絕連接iPhone 3G進行調試。 4.3.3版本與4.5.2並駕齊驅,他們甚至可以共享相同的項目文件,但在架構設置中留下armv7s將在4.3.3中產生無害的警告。見下文。
更改項目設置
Architecture -> go to "others", remove the line, put armv6 armv7
(你也可以在該行添加armv7s上面4.5.2編譯在同一個項目,但它會產生4.3.3下警告)
Valid architecture -> armv6 armv7 armv7s Deployment target -> change to 3.1
在plist文件的「必需的設備能力」中,移除armv7。
更改目標設置(單擊左窗格中的目標)
deployment target to 3.1
編輯您的計劃,以更改調試
In the Run section, debug, change debugger to GDB (instead of LLDB)
In the Test section, debug, change debugger to GDB (instead of LLDB)
變化自動生成這會導致iOS 3崩潰。1應用
在你的AppDelegate 「didFinishLaunchingWithOptions」,而不是此行
self.window.rootViewController = self.viewController;
將這個代碼
if ([self.window respondsToSelector:@selector(setRootViewController:)]) self.window.rootViewController = self.viewController; else [self.window addSubview:self.viewController.view];
然後你應該能夠運行和調試在3G版iPhone 。
相關問題
- 1. 針對iOS 3.1.3編譯的Xcode 4.2設備
- 2. 用XCode 3.2.3編譯iphone 3.1.3?
- 3. 安裝iOS 4.2的Monotouch 3.1.3?
- 4. 編譯Xcode 4.2的錯誤
- 5. 是否在Xcode 4.2中使用兼容LLVM的GCC 4.2編譯iOS靜態庫?
- 6. 使用iOS SDK 4.2編譯libpq
- 7. XCode - XCode 4.2 beta ARC無法編譯
- 8. Xcode 4.2 Beta和iOS 4.2
- 9. 與xcode 4.2編譯時程序崩潰
- 10. 的XCode 4.2編譯器錯誤
- 11. iOS coreplot在Xcode 4.2
- 12. xcode 4.2 iOS桌面使用故事板
- 13. 如何使用iOS SDK 4.2與Xcode 4.0.2
- 14. 使用StoryBoard呈現ViewController的iOS Xcode 4.2
- 15. iPhone 4.0 Beta編譯爲3.1.3
- 16. 編譯Freetype 2.6.5 iOS的Xcode
- 17. 爲iOS 4.2到iOS 6構建/編譯應用程序?
- 18. 在Xcode 4.2中使用GCC 4.2 iOS SDK 5.0
- 19. 使用的XCode 4.2
- 20. 如何使用xcode 3.1.3使用iAds
- 21. GCC 4.2編譯錯誤
- 22. 刪除storyboard xcode 4.2 iOS 5?
- 23. Xcode 4.2上的ios SDK 4.3?
- 24. iOS模擬器(Xcode 4.2)
- 25. iOS SplitView/Universal需要xcode 4.2
- 26. iphone ios xcode 4.2 - EXC_BAD_ACCESS信號
- 27. iOS 5,Xcode 4.2和ProtoBuf
- 28. IOS 5中的ABRecordSetVal Xcode 4.2
- 29. Xcode 4.2和iOS SDK 4.0
- 30. 在iOS 3.1.3中使用最新的Xcode測試
謝謝...無論如何,我得到這個錯誤。 警告:所有應用程序都應該包含armv7架構(當前ARCHS =「armv6」)。 iPhone/iPod Touch:應用程序可執行文件缺少所需的體系結構。至少必須存在以下體系結構之一:armv7(-19033) –
對不起,如果要爲iOS 3.1.3創建新項目,我無法幫助您解決此警告(或錯誤?) Xcode 4.2,你可以像我說的那樣做。 – Snowfox
嗨,我有一個應用程序在Iphone 3GS或4上正常工作。 現在,我正在嘗試在iPhone 3G上工作,但是我不能。 我有一些問題,我想檢查一下我是否配置好了Iphone 3的項目,以確保我的問題與此配置無關。 我檢查了我的AppDelegate.m,並沒有顯示給你的代碼。強制添加該代碼或只有在需要時才需要更改? 感謝和抱歉我的英文不好 –