ios - 将人员添加到联系人时应用商店中的应用程序崩溃?

标签 ios swift crash abaddressbook

经过 8 天和一次小的元数据修复后,我很高兴我的应用程序出现在应用程序商店中。但不幸的是,它在我女朋友的 iPhone IOS 8.3 上崩溃了,而我在创建它时考虑的是 8.1。

1/由于这是我的第一个应用程序,我在哪里可以找到我的应用程序的崩溃报告(如果存在)?

2/安装应用后如何查看联系人授权?

3/将联系人添加到联系人列表时,崩溃的原因可能是什么?

    @IBAction func addToContacts(sender: AnyObject) {
        let authorizationStatus = ABAddressBookGetAuthorizationStatus()
        switch authorizationStatus {
        case .Denied, .Restricted:
            //1
        print("Denied")
        displayCantAddContactAlert()

        case .Authorized:
        //2
        print("Authorized")
        addVisitorToContacts()
        case .NotDetermined:
        //3
        print("Not Determined")
        promptForAddressBookRequestAccess(addContacts)
        }
        print("Add to contacts")
    }

     // MARK: - Permissions
        func promptForAddressBookRequestAccess(addContacts: UIButton) {
            //var err: Unmanaged<CFError>? = nil

            ABAddressBookRequestAccessWithCompletion(addressBookRef) {
                (granted: Bool, error: CFError!) in
                dispatch_async(dispatch_get_main_queue()) {
                    if !granted {
                        print("Just denied")
                        self.displayCantAddContactAlert()
                    } else {
                        print("Just authorized")
                        self.addVisitorToContacts()
                    }
                }
            }
        } 

addToContacts函数

func addVisitorToContacts() {

    let selectedVisitor = self.selectedVisitor!
    print(" hello \(selectedVisitor.sFirstName!) ")
    if let visitorRecordIfExists: ABRecordRef = getVisitorRecordCoreData(selectedVisitor) {// was 2
        displayContactExistsAlert(visitorRecordIfExists)
        return
    }
    let visitorRecord: ABRecordRef = makeAndAddVisitorRecordCoreData(selectedVisitor)
    let contactAddedAlert = UIAlertController(title: "\(selectedVisitor.sLastName!) added.",
        message: nil, preferredStyle: .Alert)
    contactAddedAlert.addAction(UIAlertAction(title: "Add 2 \"Visitors\" Group", style: .Default, handler: { action in
        self.addVisitorToGroup(visitorRecord)
    }))
    contactAddedAlert.addAction(UIAlertAction(title: "OK", style: .Cancel, handler: nil))
    presentViewController(contactAddedAlert, animated: true, completion: nil)
}

最佳答案

addVisitorToContact 中,您打开所选联系人的名字和姓氏,创建联系人时这两个都不是必填字段。我的猜测是您正试图解包一个 nil 值,因此导致崩溃。

(为了将来检查崩溃信息,我建议在您的应用中安装 Fabric。它是免费的。)

关于ios - 将人员添加到联系人时应用商店中的应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35021080/

相关文章:

c++ - 反转for循环导致系统错误

ios - 带有渐变颜色的 ImageView 的圆角问题

ios - 在从 Firebase 数据库 Swift 加载的 TableView 上保存复选标记

ios - 自定义 UITableViewCell 中 UISwitch 上的 IBAction 导致错误

ios - 如何将 Unity 集成到 Swift 3 iOS 项目中

javascript - Chrome 与 webworkers 和 createImageBitmap 崩溃

ios - 以编程方式将选项卡添加到选项卡栏

ios - TableView Controller 中的第二个自定义单元格生成错误

ios - Swift 中的延迟/ sleep 不起作用

iphone - initWithNibName 崩溃