Apache Cordova

IOS Cordova嵌套Cocos Creator的坑

送分小仙女□ 提交于 2020-05-01 16:20:39
最近在看如何把H5游戏嵌套发布在app上,于是用Cordova作为工具。 然而之前Cordova在IOS上是用UIWebview,但是IOS新版本上强制要用wkwebview。还好新版Cordova也支持了,但是遇到了一个坑,加载不了: 原因: wkwebview对于文件的访问,也是认为是跨域的一种 解决办法: 一定要设置[configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"]; // 初始化webview - (void)viewDidLoad { [super viewDidLoad]; [self installStartTime]; WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; self.webview = [[JSBWebView alloc] initWithFrame:self.view.bounds configuration:config]; self.webview.navigationDelegate = self; self.webview.UIDelegate = self; } - (instancetype)initWithFrame:(CGRect

app跨平台开发框架以及技术选型如何选择?

孤人 提交于 2020-04-29 15:11:06
作者:刘望舒 链接:https://www.zhihu.com/question/55714900/answer/665044650 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 跨平台技术的诞生 我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在“摸着河底过河”,项目更没有第三方框架一说,大都是自己写的,不像现在各种的框架满天飞。随着移动开发的发展,互联网公司也是层出不穷,有些公司迫于竞争,想要更迅速的更省成本的进行开发,就不再满足Android端一套代码,iOS端一套代码。与此同时,其他技术领域和各大公司也都觊觎着这份大蛋糕,纷纷推出相关的技术,这样跨平台技术应运而生,并且开始在公司中生根发芽。 Android和iOS生态太大了,我们可以把它们比作第一级生态,想要颠覆这两个系统的曾经出现过,但都失败了,因此建立次级生态是最稳妥的策略,Android平台更加开放,因此次级生态的中心就是Android,次生态的形式多种多样,比如在Android系统的基础上魔改建立自己的生态,再或者推出各种跨平台技术建立生态。跨平台技术产生的框架实在太多了,很多还没等我们去学去了解,它们就没落了,成为了跨平台技术的发展的一个过度产物。跨平台技术的产物是不靠谱还是趋势,我想读完本篇文章你会有自己的理解。

Ionic混合移动app框架学习

前提是你 提交于 2020-04-28 09:56:31
第一章 绪论 创建移动app有三种 安卓原生App,使用java语言,目前推荐kotlin语言,开发工具Android studio IOS原生App,使用Objective-C或者Swift语言,开发工具Xcode 混合移动App,使用web通用语言(HTML,css,js)+开发框架(Ionic) 了解三个独立的App编写Ionic应用程序 Ionic框架: 一个用HTML,css,js构成的用户界面框架,专门用于混合移动app的开发, 包含一个强大的命令行接口(CLI)和一套附属服务(如Ionic View和Ionic Creator) 最上层是Ionic框架自身--中间层是AngularJS(web应用框架)--最下层是Apache Cordova(允许web应用程序调用设备原生能力并将APP转换成原生App) 使用原生app的优劣势 优点: 开发工具和设备平台紧密绑定,IDE明确; 所有的原生api和功能对开发者都可用,不需要桥接方案; app性能尽可能优化,没有中间层的性能开销; 缺点: 开发语言只能使用一种或几种;主要是因为部署app到IOS和Android,需要熟悉多种语言和工具 最早的app是没有app商店的,属于移动web App应用,通过设备上的web浏览器进行加载,只使用web技术创建App并通过设备浏览器进行发布 优点:可以部署到多个平台

Cordova热更新和App升级

风格不统一 提交于 2020-04-28 08:23:42
原文: Cordova热更新和App升级 - 简书 公司的cordova项目前段时间增加了热更新功能,自己第一次做的时候在网上查找了很多资料,有的资料写的并不全面遇到了很多坑。因此总结一些在开发过程中遇到了问题和解决办法。 cordova项目热更新分为两个部分,网页内容(web content)更新和Cordova插件(native side)更新。前者是网页内容,后者是 cordova 插件。web content 的运行是基于 native side。如:登录页面的微信登录,需要在项目中集成微信的插件才能实现登录。 web代码的更新 此更新方式,只需要更新web前段代码,不需要更新android的原生代码。只是对js、html等的更新。 1、添加插件 Cordova Hot Code Push cordova plugin add cordova-hot-code-push-plugin 2、添加热更新工具 cordova-hot-code-push-cli npm install -g cordova-hot-code-push-cli 3、添加cordova-hcp.json文件 此文件是用于方便生成www文件下chcp.json文件的内容。 执行命令(必须在项目根目录执行更新工具的命令) cordova-hcp init 生成的默认应用程序配置文件(cordova-hcp

使用Cordova创建第一个App和Cordova构建环境的配置

删除回忆录丶 提交于 2020-04-28 08:23:15
引言 通过上一篇文章我们已经对 Hybrid App 有了一定的了解,并且根据实际业务情况选择了 Cordova 来开发我们的APP, 如果对这些还不了解的话请查看上一篇文章,那么接下来我们就开始Cordova 之旅把! 安装Cordova CLI 由于Cordova命令行工具作为npm包发布,这对于我们前端开发的同学来说实在是太方便了! #全局安装Cordova $ npm install -g cordova 注 :对于在OS X和Linux上, npm命令前加sudo 是因为 cordova 需要安装在您的当前用户没有写入权限的目录或其他受限制目录比如 /usr/local/share。如果你使用像nvm/nave或者具有安装目录的写入权限,那么你可以省略sudo前缀。 创建App 创建一个APP只需要执行: $ cordova create hello com.example.hello HelloWorld 让我们来一起剖析下 cordova create 到底做了些什么?根据官方描述该命令支持四个参数: path :也就是项目的目录名称 ID :项目的ID,用于写入config.xml的widget中,通常格式为 com.example.hello name :应用程序的显示名称 options :项目的可选配置项 --template:可执行项目的模版文件 -

iOS-Cordova集成开发,已有项目集成cordova

邮差的信 提交于 2020-04-28 07:43:13
iOS-Cordova集成开发,已有项目集成cordova 项目组准备开发一个APP,要求Android和iOS端页面完全一致,除了一个页面跟业务相关的不同,其他界面基本一致,因此,萌生一个想法,关于webAPP的想法。于是乎苦逼的我们开始调研可行性以及整体的方案流程。为了达到除了业务数据页面用web,其他页面全是原生APP的作用。其中,关于业务的web页面需要调用原生的相机,相册,地理位置,麦克风,扬声器,扫描二维码等一系列功能,这就涉及到js与原生交互的问题了。 我们iOS端提出的方案是直接用WebView或者用WKWebView嵌套在实现web与原生的交互就可以了,不过安卓同事说安卓因为其平台多样性和特殊性这个就不兼容而且可行性交差,列出了集中方案,最终确定双方都用Cordova实现该功能。然后,开始了iOS端关于Cordova的学习之路(如果已经集成,请下翻到5节) 1 Cordova简介 Cordova前身是phonegap,而PhoneGap是Nitobi软件公司2008年推出的一个框架,旨在弥补web和iOS之间的不足,使得web和iPhone SDK之间的交互更容易。后来又加入了Android SDK 和BlackBerry SDK,再然后又陆续加入了更多的平台。但是在2011年,Nitobi公司被Adobe收购,PhoneGap也被提交到Apache

Ionic01 简单介绍、环境搭建、创建项目、项目结构、创建组件、创建页面、子页面跳转

亡梦爱人 提交于 2020-04-26 06:33:09
1 Ionic 基本介绍    Ionic 是一款基于 Angular、Cordova 的强大的 HTML5 移动应用开发框架 , 可以快速创建一个跨平台的移动应用。可以快速开发移动 App、移动端 WEB 页面、微信公众平台应用,混 合 appweb 页面。    Ionic官网   1.1 ionic、cordova、angular之间的关系     ionic=Cordova+Angular+ionicCSS     Ionic 是完全基于谷歌的 Angular 框架,在 Angular 基础上面做了一些封装,让我们可以更快 速和容易的开发移动的项目。Ionic 调用原生的功能是基于 Cordova,Cordova 提供了使用 JavaScript 调用 Native 功能,ionic 自己也封装了一套漂亮的 CSSUI 库。 2 Ionic环境搭建   2.1 安装Node.js     详情参见度娘     技巧01:安装完node.js后就可以使用npm命令了          2.2 安装 cordova、ionic     技巧01:利用 npm 安装cordova和ionic,如果安装失败请换cnpm进行安装     技巧02:使用cnpm前需要利用npm进行安装 -> npminstall-gcnpm--registry=https://registry.npm

cordova+vue

允我心安 提交于 2020-04-16 21:30:31
【推荐阅读】微服务还能火多久?>>> cordova+vue Cordova 的环境搭建: https://blog.csdn.net/lucky541788/article/details/89462223 cordova + Vue 开发 APP 上手指南: https://www.jianshu.com/p/2e9bebb73d37 官方文档: http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html cordova源码分析: https://www.jianshu.com/p/504bf478e1cc 如何使用IntelliJ IDEA创建并运行Android程序: https://jingyan.baidu.com/article/7908e85ce158e4af481ad2e1.html 来源: oschina 链接: https://my.oschina.net/u/4406269/blog/3236864

java.lang.NoSuchMethodError: org.springframework.web.accept.ContentNegotiationManager.getMediaTyp...

匆匆过客 提交于 2020-04-16 08:04:27
【推荐阅读】微服务还能火多久?>>> org.springframework.web.servlet.resource.ResourceHttpRequestHandler.setContentNegotiationManager(ContentNegotiationManager) as of 5.2.4 in favor of using ResourceHttpRequestHandler.setMediaTypes(Map) with mappings possibly obtained from ContentNegotiationManager.getMediaTypeMappings() . SpringMVC访问静态资源 <mvc:resources mapping="/wav/**" location="/wav/" /> <mvc:resources mapping="/images/**" location="/images/" /> <mvc:resources mapping="/include/**" location="/include/" /> <mvc:resources mapping="/js/**" location="/js/" /> <mvc:resources mapping="/css/**" location="/css/" />

Access-Control-Allow-Origin不允许起源

99封情书 提交于 2020-03-08 17:07:13
我在 Sencha Touch 2应用程序(包装在 PhoneGap中 )中向远程PHP服务器发出 Ajax.request 。 服务器的响应如下: XMLHttpRequest无法加载 http://nqatalog.negroesquisso.pt/login.php 。 Access-Control-Allow-Origin不允许使用来源 http://localhost:8888 。 我该如何解决这个问题? #1楼 这是由于 同源政策 。 在 Mozilla Developer Network 或 Wikipedia上 查看更多 内容 。 基本上,在您的示例中,您仅需要从 nqatalog.negroesquisso.pt 而不是 localhost 加载 http://nqatalog.negroesquisso.pt/login.php 页面。 #2楼 不久前,我写了一篇有关此问题的文章 Cross Domain AJAX 。 如果您控制响应服务器,最简单的方法是为以下项添加响应标头: Access-Control-Allow-Origin: * 这将允许跨域 Ajax 。 在PHP中,您将需要像这样修改响应: <?php header('Access-Control-Allow-Origin: *'); ?> 您可以将 Header set Access