插件开发常见问题

问 1、用官方教程页面提供的插件资源环境,制作了DEMO,然后使用真机调试,是可以使用的。但是将源代码集成到AppCan基础开发工程,生成了一个.a文件,按照文档的方法打包成插件包, 然后在线生成ipa安装包,结果无法调用

答 解决方式

需要判断插件是否上传成功并勾选,然后判断插件是否被打进了ipa中:把.ipa改成.zip,解压, payload文件夹里面有个包,把那个包再解压出来,看下里面的plugin.xml,如果没有你的插件,那么是插件包里的plugin.xml或者info.xml写错了;如果有,请确认下前端的代码是否有问题

问 2、 安卓百度地图插件使用打开地图总是报错

答 解决方式

如百度插件API文档提示,新百度地图插件暂时不能在IDE中正常测试,否则会报错;还有一种情况,证书是不是更换过,导致key失效,请重新申请key,重新自定义插件上传使用 (1)、安卓检查上传的自定义百度插件填写的key与百度开放平台申请的key是否一致,请确认;安卓需要用到证书和自定义包名(打包时填写,不填写打开地图时显示空白,没有地图数据),必须保持一致,请确认 (2)、ios报错,key配置问题,请再次确认插件填写key是否与百度地图key一致

注意:申请百度key时,打包ios证书必须上传,有时申请ios百度key,如果证书变了,打开百度地图也会报错,务必确保申请用的ios证书和打包用的证书必须一致

(3)、百度地图打开只显示地图框,不显示地图数据,那需要您确认在申请百度key时用的数字签名sha1值,是不是和你打包时用的证书sha1值一致,默认的appcan证书的数字签名sha1值是:49:3E:52:87:09:E1:B4:D2:B8:FF:12:6E:2C:C8:40:6D:3B:5E:4D:BB,如果你使用的是其他证书(AppCan平台提供一键生成证书功能,但需要您下载这个证书获取sha1值,获取详见文档),需要重新获取sha1值,根据这个sha1值获取百度的key

问 3、 用uexDevice获取不同苹果设备型号对照表

答 解决方式

可参考CONSTENT 文档Device Info Types参数值uexDevice.getInfo(17)获取,并通过其回调cbGetInfo返回

    if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
    if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
    if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
    if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
    if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
    if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
    if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";

    if ([platform isEqualToString:@"iPod1,1"])   return @"iPod Touch 1G (A1213)";
    if ([platform isEqualToString:@"iPod2,1"])   return @"iPod Touch 2G (A1288)";
    if ([platform isEqualToString:@"iPod3,1"])   return @"iPod Touch 3G (A1318)";
    if ([platform isEqualToString:@"iPod4,1"])   return @"iPod Touch 4G (A1367)";
    if ([platform isEqualToString:@"iPod5,1"])   return @"iPod Touch 5G (A1421/A1509)";

    if ([platform isEqualToString:@"iPad1,1"])   return @"iPad 1G (A1219/A1337)";

    if ([platform isEqualToString:@"iPad2,1"])   return @"iPad 2 (A1395)";
    if ([platform isEqualToString:@"iPad2,2"])   return @"iPad 2 (A1396)";
    if ([platform isEqualToString:@"iPad2,3"])   return @"iPad 2 (A1397)";
    if ([platform isEqualToString:@"iPad2,4"])   return @"iPad 2 (A1395+New Chip)";
    if ([platform isEqualToString:@"iPad2,5"])   return @"iPad Mini 1G (A1432)";
    if ([platform isEqualToString:@"iPad2,6"])   return @"iPad Mini 1G (A1454)";
    if ([platform isEqualToString:@"iPad2,7"])   return @"iPad Mini 1G (A1455)";

    if ([platform isEqualToString:@"iPad3,1"])   return @"iPad 3 (A1416)";
    if ([platform isEqualToString:@"iPad3,2"])   return @"iPad 3 (A1403)";
    if ([platform isEqualToString:@"iPad3,3"])   return @"iPad 3 (A1430)";
    if ([platform isEqualToString:@"iPad3,4"])   return @"iPad 4 (A1458)";
    if ([platform isEqualToString:@"iPad3,5"])   return @"iPad 4 (A1459)";
    if ([platform isEqualToString:@"iPad3,6"])   return @"iPad 4 (A1460)";

    if ([platform isEqualToString:@"iPad4,1"])   return @"iPad Air (A1474)";
    if ([platform isEqualToString:@"iPad4,2"])   return @"iPad Air (A1475)";
    if ([platform isEqualToString:@"iPad4,3"])   return @"iPad Air (A1476)";
    if ([platform isEqualToString:@"iPad4,4"])   return @"iPad Mini 2G (A1489)";
    if ([platform isEqualToString:@"iPad4,5"])   return @"iPad Mini 2G (A1490)";
    if ([platform isEqualToString:@"iPad4,6"])   return @"iPad Mini 2G (A1491)";

    if ([platform isEqualToString:@"i386"])      return @"iPhone Simulator";
    if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";

iOS 微信支付(uexWeiXin.startPay)接口FAQ

问 1、 为什么调用支付接口没有反应?

答 解决方式

请先调用registerApp接口向微信终端注册本应用

问 2、 为什么调用支付接口后可以进入微信界面但没有支付界面弹出?

答 解决方式

检查传入的timestamp参数是否异常

问 3、为什么调用支付接口后可以进入微信界面却又马上退出回到当前app?

答 解决方式

检查传入的sign参数是否异常

问 4、为什么进行支付操作后cbStartPay回调异常?

答 解决方式

3.0.15版本插件已经修复此问题,请用最新版插件

问 5、 为什么调用支付接口闪退?

答 解决方式

检查所有传入的参数是否全是String字符串类型

答 解决方式

3.0.15版本插件已经修复此问题,请用最新版插件

问 6、 百度地图iOS打开地图既不报错也不显示数据,网络正常,如何解决

答 解决方式

检查下打包使用的iOS证书与申请的iOS百度地图key用的iOS证书是不是一致

问 调用插件接口,前端代码中写到的res://这个协议头对应的路径是什么

答 res://路径对应的安卓路径和iOS路径都是widget/wgtRes/,这个是手动在源码中创建的一个wgtRes文件夹,把res下的文件放到wgtRes文件里


未解决问题?到开发者社区提问试试吧 !点击提问

还需要帮助吗? 联系我们
最新更新 8th Jul 2021