帖子
帖子
用户
博客
课程
显示全部楼层
6
帖子
0
勋章
12
Y币

[BUG] IOS11 contacts select闪退问题

[复制链接]
发表于 2017-11-3 11:15:40
本帖最后由 Drei 于 2017-11-3 11:26 编辑

1.BUG平台 ios11
2.代码片段
function getlxr(n) {
                                if(txl == 0) {
                                        sbtxl();
                                        return false;
                                }
                                var contact = api.require('contacts');
                                contact.select(function(ret, err) {
                                        if(ret.status) {
                                              var phones = ret.phones;                                                for(var j = 0; j < ret.phones.length; j++) {
                                                        for(var p in phones[j]) {
                                                                var mobile = phones[j][p].replace(/\s/g, '');
                                                                mobile = de(mobile)
                                                                if(ret.name != "") {
                                                                        if(n == 1) {
                                                                                $("#familyTel").val(mobile);
                                                                                $("#familyName").val(ret.fullName);
                                                                        }
                                                                        if(n == 2) {
                                                                                $("#friendTel1").val(mobile);
                                                                                $("#friendName1").val(ret.fullName);
                                                                                //alert(mobile);
                                                                        }
                                                                        if(n == 3) {
                                                                                $("#friendTel2").val(mobile);
                                                                                $("#friendName2").val(ret.fullName);
                                                                        }

                                                                }
                                                        }
                                                }

                                        } else {
                                                //api.alert({ msg: '用户取消' });

                                        }
                                });
                        }

3.bug详情
部分手机使用contacts.select的时候会闪退
(1)当前页面还用到了contacts.queryByPage功能,并且不闪退,后台能正常收到返回值,可以判断是有通讯录权限的
(2)用户点击选择联系时,成功拉起了IOS的联系人界面。在选择联系人的瞬间(回调时),app直接闪退 回调未成功

2
帖子
0
勋章
2271
Y币
您好,您说的部分手机指的哪些?
6
帖子
0
勋章
12
Y币
cjapi 发表于 2017-11-3 12:23
您好,您说的部分手机指的哪些?

目前发生的几个 都是iphone 6p ios11
2
帖子
0
勋章
2271
Y币
Drei 发表于 2017-11-3 13:00
目前发生的几个 都是iphone 6p ios11

您好,
1.创建分组吗?
2.你手机上同意访问您的通讯录的权限吗?

我这边没有闪退  11.0.3的机子
6
帖子
0
勋章
12
Y币
cjapi 发表于 2017-11-7 18:17
您好,
1.创建分组吗?
2.你手机上同意访问您的通讯录的权限吗?

1.没有创建分组。2.有同意了访问通讯录的权限
6
帖子
0
勋章
12
Y币
cjapi 发表于 2017-11-7 18:17
您好,
1.创建分组吗?
2.你手机上同意访问您的通讯录的权限吗?

模块更新后今天重新测试了一下
function sbtxl(){
                var contacts = api.require('contacts');
                contacts.queryByPage({
                        count: 100,
                        pageIndex: 0
                },function(ret,err){
                        console.log(JSON.stringify(ret))
                        console.log(JSON.stringify(err))
                })
        }

设备iphone6 系统 IOS9.3.5
手机内存有联系人
contacts.queryByPage获取不到联系人,contacts.select使用正常

{"status":true,"total":0,"pages":0}
{"code":0}

继续测试 iphone7Plus 系统ios10.3.3
contacts.queryByPage 和 contacts.select 调用这两个方法都会闪退

测试第三台 iphone6Plus 系统ios 10.3.1
contacts.queryByPage 和 contacts.select 调用这两个方法都会闪退
2
帖子
0
勋章
2271
Y币
Drei 发表于 2017-11-20 11:37
模块更新后今天重新测试了一下
function sbtxl(){
                var contacts = api.require('contact ...

您好,您可以做一下判断,手机9.0版本以上用allContacts接口,9.0以下版本用queryByPage接口。
您需要登录后才可以回帖 登录

本版积分规则