objective-c - Cordova插件开发时无法导入阿里百川的iOS SDK

 萧士瑋62184 发布于 2022-10-30 08:19

最近在做阿里百川的Cordova插件,将其iOS SDK的.framework写入plugin.xml之后,在工程中添加插件报错如下:

Failed to install 'com.qiqujie.taobaoplugin':TypeError: Cannot read property 'nodeName' of null
    at Object.parse (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/plist/lib/parse.js:45:26)
    at Object.module.exports.package_name (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/platforms/ios.js:143:22)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/platforms/PlatformApiPoly.js:267:67
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:796:13)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:857:14
    at runSingle (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:137:13)
    at flush (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/cordova-common/node_modules/q/q.js:125:13)
    at doNTCallback0 (node.js:430:9)
Error: Cannot read property 'nodeName' of null

plugin.xml的iOS部分:


    
        
            
            
        
    

    
        
            CFBundleURLName
            com.taobao.taesdk
            CFBundleURLSchemes
            
                tbopen********
            
        
    

    
    
    

    
    
    
    
    
    
    
    
    
    
    
    

    
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

我尝试逐个framework文件添加时,只有部分framework文件会造成这个问题,例如ALBBLoginSDK.framework,而ALBBFullSecurityGuard.frameworkTAESDK.framework则不会
Google找到一个cordova的issue,说there was some corruption of the Info.plist which results in this crash,但是我用xcode可以顺利读出framework中的信息,有什么办法可以解决这个问题吗?先谢了:)

3 个回答
  • 嗯,以前写一个蒲公英的cordvoa插件的时候也遇到过类似的,debug了半天发现是解析某个plist文件出错了。结果发现蒲公英SDK里面的info.plist是乱码。。。导致解析失败。
    估计是你那两个framework的plist文件内容有问题。

    2022-10-31 21:06 回答
  • 似乎是ALBBLoginSDK.frameworkALBBTradeSDK.framework中同时含有Info.plist项目名-Info.plist,而且内容不一致,而其他framework文件中就只有Info.plist,把有问题的两个framework里的项目名-Info.plist删掉就可以成功导入,就唤起淘宝app这一功能来说暂时没发现有什么问题……

    2022-10-31 21:06 回答
  • 楼主说的Cordova就是之前的PhoneGap吧?

    2022-10-31 21:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有