1. 操作步骤参考以下网址:
https://www.jianshu.com/p/90605320bb28
2. 使用插件时,需要以下操作:
(1)复制 platforms/ios/<项目名称>/ 里的Plugins目录到原生ios项目的/<项目名称>/下,
(2) 然后 “Add Files to ... -> Plugins”
如果是在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
(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增加以下配置,来设置网址访问白名单,否则内部浏览器打不开
<allow-navigation href="你允许的网址(比如*,允许访问所有网址)">
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,比如
<script type="text/javascript" src="static/js/cordova/index.js">
<script type="text/javascript" src="static/js/cordova/deviceReady.js"></script>
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:递归查
这里我们要选择递归查找,和字面意思一样,如果当前路径找不到,会自动到当前路径的下级目录继续找。