uni-app 使用HTML5+的plus.contacts.getAddressBook方法会导致App闪退
uni-app 使用HTML5+的plus.contacts.getAddressBook方法会导致App闪退
| 开发环境 | 版本号 | 项目创建方式 | 
|---|---|---|
| Mac | macOS 10.15.4 | HBuilderX | 
产品分类:uniapp/App
PC开发环境操作系统:Mac
HBuilderX类型:正式
HBuilderX版本号:2.8.11
手机系统:iOS
手机系统版本号:IOS 14
手机厂商:苹果
手机机型:iPhone xs
页面类型:vue
打包方式:云端
示例代码:
const _self = this  
// 获取存储在系统的通讯录  
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressBook) {  
    addressBook.find("", function(contacts) {  
        if (contacts.length > 0) {  
            _self.$refs.phonePopup.closeModel()  
        }  
        // 赋值通讯录信息  
        _self.setPhone(contacts)      
        // 开始备份  
        _self.startBackupPhone()  
    })  
}, function(e) {  
    if (e.code == "20") {  
        _self.$utils.showToast('请同意权限获取!', 2000)  
    }  
})
操作步骤:
- App第一次调用plus.contacts.getAddressBook,会弹出授权弹窗,同意通讯录授权后,即可正确获得通讯录信息
 - 再次调用plus.contacts.getAddressBook,之前已经同意授权,所以不会再弹出授权弹窗,而是App直接闪退
 
也就是说:在给了通讯录获取权限后,App再次调用plus.contacts.getAddressBook,就会闪退 iOS系统版本:14.3 iPhone 12 pro,iPhone XS,iPhone 12都复现了这个闪退问题
预期结果: 预期结果为正确获得通讯录信息
实际结果: 实际结果为,调用方法时,App闪退
bug描述: App第一次调用plus.contacts.getAddressBook方法,会弹出通讯录授权提示,如果点击确定授权,那么可以正确读到通讯录信息 然后第二次调用plus.contacts.getAddressBoo,由于之前已经给了权限,所以这次调用,不会再弹出授权的弹窗,而是直接闪退,100%能复现
更多关于uni-app 使用HTML5+的plus.contacts.getAddressBook方法会导致App闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请问问题解决了吗,我也遇见了这个问题,求大佬指教呀
更多关于uni-app 使用HTML5+的plus.contacts.getAddressBook方法会导致App闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
什么问题?写一个新的ASK以及可复现的DEMO把
        
      
                    
                  
                    

