扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以的,只要接口调用跟native一样就可以了。
创新互联技术团队十多年来致力于为客户提供成都做网站、网站制作、成都外贸网站建设、成都品牌网站建设、全网整合营销推广、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了千余家网站,包括各类中小企业、企事单位、高校等机构单位。
方法一、,速度完成与H5类似iOS 版本的APP,然后至少还需要招聘一名iOS开发人员,以解决iOS版本的更新迭代。(工作量和成本都很高)
方法二、针对AppStore进行包装。将HTML5应用用phonograph打包,取消HTML5中的弹簧效果等,让其看起来更像是一个原生应用。(适合刚开始进行HTML5开发人员,用phonegrap开发然后打包)
方法三、针对AppStore的规则,隐藏webview,在审核期间,展示APP的外壳,以供AppStore审核用。在审核通过后,可以通过后台,对其布局进行配置。这个时候,用户后打开的就是你在后台配置的布局了。。。
如果使用第三种,要注意几个地方。
1、APP审核期间要保证你的后台布局是为了给AppStore审核人员看的布局。
2、APP审核通过之后,其实也是有几率会被发现及下架的,做好最坏的打算。
3、试用与应急或者对APP体验要求不高的应用,一般服务类APP。
优酷之类的其实是支持HTML5的,但是仅仅针对iOS设备而已。
你知道浏览器都有一个参数叫做“user-agent”,网站就根据user-agent以及其他一些特性来判断用户所使用的。浏览器和设备,如果确定是
用的iOS设备上的safari,就会调用HTML5版本的页面;说白了,也就是直接用HTML5的media标签嵌入H264编码的视频,在你点击之
后,下载到本地,调用本地的播放器来播放。
至于Android设备,因为支持flash,网站也就乐得不改用HTML5版本了,你知道的,HTML5版的时候,不会强制播放广告的哦!
我曾经试过用海豚浏览器的“iPad模式”,但是没法播放视频,不知道是不是Android的自带播放器不支持这种调用(自带浏览器似乎可以播放H264编码的视频的吧?不确定)
在PC上,我也用Firefox的ua switcher插件把浏览器伪装成iOS设备上的safari,能访问到HTML5版本的优酷,只是浏览器没法调用本地播放器,所以还是不行。
参考:
技术难度也应该能差不多能了解了吧
这种方法是利用拦截webView响应的url,对url进行处理,同时把需要执行的方法名和参数都放入url中,实现app和H5之前的方法交互:
这个属性是WKWebView才有的属性,主要是通过WKScriptMessageHandler的代理方法 - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message 进行交互。
注意:
这两个方法是成对出现的,每次调用了add就必须调用remove。
1.建立 WebViewJavaScriptBridge 和 WebView 之间的关系。
_jsBridge = [WebViewJavascriptBridge bridgeForWebView:_webView];
2.方法调用
1)oc调js方法(通过data可以传值,通过 response可以接受js那边的返回值 )
2)js调oc方法(可以通过data给oc方法传值,使用responseCallback将值再返回给js)
最后:iOS调用H5方法
UIWebView: NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"javascript:add(3,5);"];
WKWebView: [self.webView evaluateJavaScript:@"show()" completionHandler:^(id _Nullable response, NSError * _Nullable error) { //TODO }];
iOS调用H5方法
UIWebView:NSString *result = [webView stringByEvaluatingJavaScriptFromString:@"javascript:add(3,5);"];
WKWebView:[self.webView evaluateJavaScript:@"show()" completionHandler:^(id _Nullable response, NSError * _Nullable error) { //TODO }];
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流