• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 异形x异种入侵IOSSEGV_ACCERR异常

异形x异种入侵IOSSEGV_ACCERR异常

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了异形x异种入侵,异形x异种入侵国语,异形x异种入侵迅雷,异形x异种入侵下载,异形x异种入侵图解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:异形x异种入侵 IOS SEGV_ACCERR 异常
描述:

bugly定位IOS SEGV_ACCERR 异常, 各位大神帮忙看下代码哪里有问题

- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker
                         didSelectPerson:(ABRecordRef)person
                                property:(ABPropertyID)property
                              identifier:(ABMultiValueIdentifier)identifier {
    
    [YZTBaseHudTips hideHud:self.view];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    
    ABMutableMultiValueRef name = ABRecordCopyCompositeName(person);
    
    if (property == kABPersonPhoneProperty) {
        
        ABMutableMultiValueRef phone = ABRecordCopyValue(person, kABPersonPhoneProperty);
        
        //根据电机的哪一行对应的identifier取出所在的索引
        
        int index = ABMultiValueGetIdentifierAtIndex(phone, identifier);
        
        CFStringRef phoneRef = ABMultiValueCopyValueAtIndex(phone, index);
        [self updateMobileCell:(__bridge NSString *)name phone:(__bridge NSString *)(phoneRef) peoplePicker:peoplePicker];
        
        CFRelease(phoneRef);
        CFRelease(phone);
    }
    CFRelease(name);
}

crash 上报这一行出问题: int index = ABMultiValueGetIdentifierAtIndex(phone, identifier);

下边是错误堆栈

libobjc.A.dylib    objc_retain + 16
1 cardloan    -[ApplyContactsInfoViewController updateMobileCell:phone:peoplePicker:] (ApplyContactsInfoViewController.m:448)
2 cardloan    -[ApplyContactsInfoViewController peoplePickerNavigationController:didSelectPerson:property:identifier:] (ApplyContactsInfoViewController.m:540)
3 ContactsUI    -[CNContactPickerViewController pickerDidSelectContact:property:] + 296
4 ContactsUI    -[CNContactPickerHostViewController pickerDidSelectContact:property:] + 100
5 ContactsUI    ___71-[CNContactPickerExtensionHostContext pickerDidSelectContact:property:]_block_invoke + 60
6 libdispatch.dylib    __dispatch_call_block_and_release + 24
7 libdispatch.dylib    __dispatch_client_callout + 16
8 libdispatch.dylib    _dispatch_main_queue_callback_4CF + 1844
9 CoreFoundation    ___CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
10 CoreFoundation    ___CFRunLoopRun + 1628
11 CoreFoundation    CFRunLoopRunSpecific + 384
12 GraphicsServices    GSEventRunModal + 180
13 UIKit    UIApplicationMain + 204
14 cardloan    main (main.m:14)
15 libdyld.dylib    _start + 4

解决方案1:

使用 ABMultiValueGetIdentifierAtIndex 之前要先检查 index 是否合格,使用 ABMultiValueGetCount 获取数目,然后用 identifier 比较用户点击了那一行。例如:

ABMultiValueRef multiPhones = ABRecordCopyValue(person, kABPersonPhoneProperty);
for(CFIndex i = 0; i < ABMultiValueGetCount(multiPhones); i++) {
    if(identifier == ABMultiValueGetIdentifierAtIndex (multiPhones, i)) {
        CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(multiPhones, i);
        CFRelease(multiPhones);
    }
}

参考:http://stackoverflow.com/a/12...

SEGV_ACCERR一般是内存问题,在64位上比较常见,比如多线程操作某变量,堆栈非法访问等。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 异形x异种入侵IOSSEGV_ACCERR异常

相关文章

  • 2017-06-05 iOSUDPsocket通讯使用GCDAsyncUdpSocket服务器无法接受到消息?求大神解决
  • 2017-06-05 像苹果手机将多个app整合到一个文件夹中,哪位大神能给点思路
  • 2017-06-05 iOS下UIWebView数据显示在滑动时不更新的问题
  • 2017-06-05 截长图显示不出来
  • 2017-06-05 swift中问号和叹号的作用
  • 2017-06-05 ios当提示用户评价时,有方法知晓用户是否在AppStore评价了我的app吗?
  • 2017-06-05 ios当把导航栏隐藏的时候,视图不能到达最上方怎么解决
  • 2017-06-05 u启动u盘启动盘制作工具iOS启动图
  • 2017-06-05 UIScrollViewuiscrollview上子视图的约束问题
  • 2017-06-05 xcodearchive如何更改Xcode的主题?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何提高判断力如何判断一个异步操作循环完全结束了呢?
    • 统计AVAudioPlayer播放时长
    • 中高端电脑配置xcode4中配置Three20开发环境
    • 关于get请求数据不更新的问题
    • 为什么的swift写的一个只是webview的app体积有56M这么大,我应该怎么编译缩小体积?
    • 阿里百川阿里百川iossign签名算法
    • 虚拟机怎么安装系统虚拟机安装苹果系统如何增添显卡性能?
    • 月圆人圆事事圆如果定义一个只有上边圆角的UIButton
    • 像苹果手机将多个app整合到一个文件夹中,哪位大神能给点思路
    • 在适配iOS10中,自带键盘的汉字候选变成了点点,请问怎么解决?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有