我的应用程序仅通过supportedInterfaceOrientation属性支持横向方向.
使用iOS 6之前的iOS,我的应用程序可以成功加载UIImagePickerControllervia 的实例,presentViewController:animated:completion:即使它UIImagePickerController本身只支持纵向方向.
图像选择器简单地向用户侧面呈现.用户旋转手机,拾取他们的图像,然后旋转回横向.
在iOS 6.0下,presentViewController:animated:completion:使用UIImagePickerController实例调用会使应用程序崩溃.我可以通过向我的supportedInterfaceOrientation属性添加纵向选项来防止崩溃.
但是,纵向操作对我的应用来说真的没有用.我原本以为我可以使用shouldAutorotateToInterfaceOrientation该应用程序"支持肖像",但只允许在这一个视图中旋转到肖像.但是现在该方法已被弃用,我不能在shouldAutorotate中使用相同的技术.
有没有人有任何想法如何在iOS 6.0下解决这个问题?
我有一个使用触摸事件在屏幕上绘制的应用程序.我UITouch locationInView用来恢复CGPoint触摸.问题是x和y坐标总是相同的 - 但仅限于运行iOS 4.2.1的第二代设备,并且仅当我的应用程序是在发布模式下构建时.直接从一个touchesMoved或touchesEnded事件对象进行触摸时,这似乎也只是一个问题,因为我的按钮正确地响应了触摸.
感谢http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/上的帖子我能够通过使用来解决问题LLVM-GCC编译器而不是较新的LLVM 3.0编译器,并使用优化级别0.
有趣的是,使用GCC编译器在touchesEnded更改优化级别时-O0更正了我收到的触摸位置,以更正我收到的触摸位置touchesMoved.我无法解释为什么会这样,但是现在我欣喜若狂,我的应用正在研究这些设备.
我的问题是 - 使用旧编译器将我的应用程序交付到商店有什么缺点?(我理解优化级别的影响.)是否有任何方法来配置项目,以便我使用较旧的编译器和较低的优化级别仅适用于iOS 4.2.1和/或第二代设备?