跨平台应用开发进阶(十六) :uni-app实现URLScheme方式唤醒APP_uniapp url scheme(1)

跨平台应用开发进阶(十六) :uni-app实现URLScheme方式唤醒APP_uniapp url scheme(1)文末 逆水行舟不进则退 所以大家要有危机意识 同样是干到 35 岁 普通人写业务代码划水 榜样们深度学习拓宽视野晋升管理 这也是为什么大家都说 35 岁是程序员的门槛 很多人迈不过去 其实各行各业都是这样都会有个坎 公司永远都缺的高级人才 只用这样才能在大风大浪过后

大家好,我是讯享网,很高兴认识大家。

文末

逆水行舟不进则退,所以大家要有危机意识。

同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。

为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。

内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

269页《前端大厂面试宝典》

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】


讯享网

前端面试题汇总

然后配置ios,在由其他APP跳转uni-app时,ios配置跟android不一样,ios需要配置一个白名单,这样才能唤醒你的app。在由H5跳转至uni-app时,无需配置白名单。

有关白名单的配置需求如下:

iOS9开始系统安全策略更新,加入对用户隐私以及禁止扫描系统信息的控制,限制了应用对scheme协议的访问。需要将其它App注册的scheme添加到应用访问白名单。(LSApplicationQueriesSchemes)中才能实现以下功能:

  • 通过scheme检查其它App是否安装,不添加到白名单则检测结果为未安装(即使应用已经安装);
  • 通过scheme协议调用其它App,不添加到白名单则会弹出提示框,用户确认后才能启动应用,添加到白名单列表后则无需用户确认直接启动应用。

注意⚠️:iOS15及以上系统限制每个应用最多只能配置50个白名单列表,超过50个的白名单会失效,在配置白名单时需要注意以下问题:

  • 部分模块使用的三方SDK(如微信登录)需要添加白名单列表,三方SDK添加的白名单优先级高于manifest.json中配置的白名单。
  • uni原生插件可能也会添加白名单列表,uni原生插件添加的白名单优先级高于manifest.json中配置的白名单。

白名单配置步骤如下:
配置H5白名单,ios app才能去跳转app,白名单写的是app的urlschemes
找到manifest.json,在 "app-plus"->"distribute"->"ios" 节点的 schemes 属性配置UrlSchemes,示例如下:

 "app-plus": { "distribute": { "ios": { "urltypes": "test,myuniapp" //... }, //... }, //... }, //... 

讯享网

manifest.json文件的"app-plus"->"distribute"->"ios"下添加urlschemewhitelist节点数据如下:

讯享网"plus": { "distribute": { "ios": { "urlschemewhitelist": "baidumap,iosamap", //... }, //... }, //... }, //... 
2.3 H5 跳转 uni-app

兼容(通用)性处理。

// 兼容 var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, /\*IE内核\*/ presto: u.indexOf('Presto') > -1, /\*opera内核\*/ webKit: u.indexOf('AppleWebKit') > -1, /\*苹果、谷歌内核\*/ gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, /\*火狐内核\*/ mobile: !!u.match(/AppleWebKit.\*Mobile.\*/), /\*是否为移动终端\*/ ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), /\*ios终端\*/ android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, /\*android终端或者uc浏览器\*/ iPhone: u.indexOf('iPhone') > -1, /\*是否为iPhone或者HD浏览器\*/ iPad: u.indexOf('iPad') > -1, /\*是否iPad\*/ webApp: u.indexOf('Safari') == -1, /\*是否web应该程序,没有头部与底部\*/ souyue: u.indexOf('souyue') > -1, superapp: u.indexOf('superapp') > -1, weixin: u.toLowerCase().indexOf('micromessenger') > -1, Safari: u.indexOf('Safari') > -1 }; }(), language: (navigator.browserLanguage || navigator.language).toLowerCase() }; 

然后去唤醒app,苹果手机直接进入appStore打开和下载

讯享网if (browser.versions.ios) { window.location.href = "https://a.app..com/o/simple.jsp?pkgname=xxxx"; } else if (browser.versions.android) { window.location.href = "test://"; } 

完整代码如下:

<template> <view class="btnWrap"> <view class="btn" @click="handleBtnDlown">立即下载</view> </view> </view> </template> <script> // 兼容 var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, /\*IE内核\*/ presto: u.indexOf('Presto') > -1, /\*opera内核\*/ webKit: u.indexOf('AppleWebKit') > -1, /\*苹果、谷歌内核\*/ gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, /\*火狐内核\*/ mobile: !!u.match(/AppleWebKit.\*Mobile.\*/), /\*是否为移动终端\*/ ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), /\*ios终端\*/ android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, /\*android终端或者uc浏览器\*/ iPhone: u.indexOf('iPhone') > -1, /\*是否为iPhone或者HD浏览器\*/ iPad: u.indexOf('iPad') > -1, /\*是否iPad\*/ webApp: u.indexOf('Safari') == -1, 自学几个月前端,为什么感觉什么都没学到?? ---------------------------------------------------------------------------------- 这种现象在很多的初学者和自学前端的同学中是比较的常见的。 因为自学走的弯路是比较的多的,会踩很多的坑,学习的过程中是比较的迷茫的。 最重要的是,在学习的过程中,不知道每个部分该学哪些知识点,学到什么程度才算好,学了能做什么。 很多自学的朋友往往都是自己去找资料学习的,资料上有的或许就学到了,资料上没有的或许就没有学到。 这就会给人一个错误的信息就是,我把资料上的学完了,估计也-就差不多的了。 但是真的是这样的吗?非也,因为很多人找的资料就是很基础的。学完了也就是掌握一点基础的东西。分享给你一份前端分析路线,你可以参考。 [开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/) ![](https://img-blog.csdnimg.cn/img_convert/15be8206a9f6e5bd9e8eb613ee.png) 还有很多的同学在学习的过程中一味的追求学的速度,很快速的刷视频,写了后面忘了前面,最后什么都没有学到,什么都知道,但是什么都不懂,要具体说,也说不出个所以然。 所以学习编程一定要注重实践操作,练习敲代码的时间一定要多余看视频的时间。 
小讯
上一篇 2025-02-27 14:28
下一篇 2025-03-10 11:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58294.html