Xcode 4.2 上的旧版支持
我在尝试为运行 iOS 4.2.1 的 iPhone 3G 和 iPod Touch 2G 提供旧版支持时遇到了一些问题。
我正在使用 Snow Leopard 和 Xcode 4.2、SDK 5.0。对于较新的设备,一切工作正常,但较旧的设备似乎不喜欢 IDE 构建的二进制文件。我主要发现奇怪的错误,例如:
- 使用 LLVM GCC 编译器会产生使用 Apple LLVM 3.0 的触摸控制的问题
- 使用某些代码会产生奇怪的问题(这会停止运行时)
奇怪的是,如果我使用调试方案构建,即使我尝试更改,这些东西也会消失每个设置都使调试与发布一样。
有什么特别的技巧吗?我可以在 Xcode 4.2 上再使用基本普通 GCC 吗?
另外,如果我能够执行 GCC,我如何为不同的体系结构指定不同的编译器? (我添加了armv6以便也能够为旧设备构建)
I'm running into some problems while trying to provide legacy support to iPhone 3G and iPod Touch 2G running iOS 4.2.1.
I'm working with Snow Leopard and Xcode 4.2, SDK 5.0. Everything works fine for newer devices but it seems that older ones don't like binary built by the IDE. I mostly find strange bugs eg:
- using LLVM GCC compiler creates problem with touch controls
- using Apple LLVM 3.0 creates a strange problem with some code (which halts a runtime)
Strangely these things disappear if I build with debug scheme, even if I tried to change every setting so that debug is as release.
Is there any particular trick? Can I use base plain GCC anymore on Xcode 4.2?
Also if I'm able to do GCC, how can I specify a different compiler for a different architecture? (I added armv6 to be able to build for old devices too)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您在创建项目时禁用了 Storyboard 和 ARC 吗?它应该有帮助!
Did you disable Storyboard and ARC when creating the project, it should help!
我设法指定每个架构的优化设置,同时保留 GCC 作为编译器:ARMv6 使用
-O0
编译,而 ARMv7 使用-O2
编译。这解决了一切!I managed to specify per architecture optimization settings while keeping GCC as the compiler: ARMv6 is compiled with
-O0
while ARMv7 is compiled with-O2
. This fixed everything!