插件开发常见问题

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返回

  1. if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
  2. if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
  3. if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
  4. if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
  5. if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
  6. if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
  7. if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
  8. if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
  9. if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
  10. if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
  11. if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
  12. if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
  13. if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
  14. if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
  15. if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
  16. if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G (A1213)";
  17. if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)";
  18. if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)";
  19. if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)";
  20. if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)";
  21. if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G (A1219/A1337)";
  22. if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)";
  23. if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)";
  24. if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)";
  25. if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)";
  26. if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G (A1432)";
  27. if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G (A1454)";
  28. if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G (A1455)";
  29. if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)";
  30. if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)";
  31. if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)";
  32. if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)";
  33. if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)";
  34. if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)";
  35. if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)";
  36. if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)";
  37. if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)";
  38. if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (A1489)";
  39. if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (A1490)";
  40. if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G (A1491)";
  41. if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
  42. 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文件里


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