iOS原生项目(oc)集成cordova


1. 操作步骤参考以下网址:

    https://www.jianshu.com/p/90605320bb28

2. 使用插件时,需要以下操作:

    (1)复制 platforms/ios/<项目名称>/ 里的Plugins目录到原生ios项目的/<项目名称>/下,

    (2) 然后 “Add Files to ... -> Plugins”


步骤(2)的截图

      如果是在oc项目下引入swift编写编写的cordova插件,才会进行以下操作,否则忽略

    (3)复制platforms/ios/<项目名称>/Bridging-Header.h 到原生ios项目的/<项目名称>/下

    (4)修改build setting里的Swift Language Version为swift的相应版本

    (5)Objective-C Bridging Header 填入以下内容:

                $(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h


步骤(4),(5)的截图

(6)访问手机设备需要配置权限,在info.plist文件中进行配置,具体操作请参考以下网站

        https://www.jianshu.com/p/daa77194175e        

        https://www.jianshu.com/p/90959ac6c0e3

3. 加载远程网站,需要以下操作:

    (1)继承CDVViewController的控制器(也就是浏览器控制器)初始化完成,控制器跳转之前,给予以下配置:

    vc.wwwFolderName = @"";

    vc.startPage = @"网址url"; 例如vc.startPage = @"https://www.baidu.com"

    (2) config.xml增加以下配置,来设置网址访问白名单,否则内部浏览器打不开

     

4. 远程网站怎么做,才能使用原生app通过cordova安装的插件呢?    

    (1)在远程网站项目中建立一个目录,比如cordova

    (2)复制platforms/ios/<项目名称>/www中的 Plugins文件夹,      cordova.js,   cordova_plugins.js到新建目录(cordova)中

    (3)复制platforms/ios/<项目名称>/www/js/中的 index.js到新建目录(cordova)中,并改名为deviceReady.js

    (4)在html中引入cordova.js和改名后的deviceReady.js,比如

        

5. 出现的问题,以及解决方案

   (1)archive时,出现错误"‘Cordova/CDV.h’ file not found",解决方案:

        添加 "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" 到 Build Settings -> Header Search Paths下

    (2)添加工程文件CordovaLib.xcodeproj到项目后,导入该工程下的所有类文件都会出错(找不到),原因是该工程并没有关联路径,解决方案如下:

       当前工程的target => Build Settings下,搜索Header Search找到Header Search Paths双击,在弹出框里点有下角的+号,添加导入的工程路径$(SRCROOT)/CordovaLib("$(SRCROOT)"表示工程根目录)这里要注意,右侧的选项

non-recursive:非递归查找 (默认)

recursive:递归查

这里我们要选择递归查找,和字面意思一样,如果当前路径找不到,会自动到当前路径的下级目录继续找。

你可能感兴趣的:(iOS原生项目(oc)集成cordova)