使用UIImagePickerController时3DTouch引起Crash
2016-01-27 19:40
471 查看
一、crash的场景
程序中用到UIImagePickerController时,如果在IPhone6S上运行APP,当forceTouch 一个图片时程序会crash,并附带如下crash message:* Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘+[NSObject previewingContext:viewControllerForLocation:]: unrecognized selector sent to class 0x19f678020’
这种Crash的原因很可能是苹果自身SDK的一个bug,这点我们在苹果官网上可以了解一些。https://forums.developer.apple.com/thread/21932 因为只要是利用了个UIImagePickerController这个控制器,当我们forceTouch那个选择图片的view的时候,就会crash。
二、问题的解决
我们可以从 http://download.csdn.net/detail/smiling8866/9367050 下载一下这个工具类,然后在- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions方法中调用MSDPreventImagePickerCrashOn3DTouch();方法,就可以解决以上Crash.三、注意事项
在程序中引入以上工具类时,肯能会出现编译不过去报arm64错误,很可能是工具文件的后缀名不对。因为工具类中的代码大都是c++的,所以应该把后缀名改成 .mm;在编译的时候,一定要把程序中所有的断点都去掉,不然代码总会卡在try catch那段异常处理的代码中。
注意,3DTouch功能,只有在Iphone6S及其以后的版本支持,XCode要用7.0及其以后的版本,所以利用低版本的XCode是编译不过的,也没有任何意义。
多谢大神分享 备用
相关文章推荐
- 关于uisliderview 监听停止滑动的状态
- ImageLoader: java.io.FileNotFoundException: /storage/sdcard0/Android/data/[...]/cache/uil-images/jo
- BeanCreationException及java.lang.IllegalArgumentException: Page directive: invalid value for import
- iOS开发:UILabel无法响应点击事件的问题
- iOS动态适应UITextView高度
- arduino sensors
- Map按key排序和value排序方式
- 在VC6.0中能不能使用Duilib界面库呢?
- iOS UILabel、UIButton文字竖排显示
- Swagger-UI的配置与使用
- MUI - 图片预览(perviewimage)的优化
- 37 sensor kit. Arduino
- 【树】Unique Binary Search Trees
- 96. Unique Binary Search Trees && 95. Unique Binary Search Trees II
- Arduino Garden Controller - Automatic Watering and Data Logging
- Arduino based plant watering system using Soil Moisture Sensors
- 2、vuejs五脏
- hdu1121 Complete the Sequence
- HDU 4836 The Query on the Tree lca || 欧拉序列 || 动态树
- PIR Motion Sensor with Arduino