uni-app 【已解决】wap2app 打开其他应用IOS端失败
uni-app 【已解决】wap2app 打开其他应用IOS端失败
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
HBuilderX | Alpha 3.1.15.20210518-alpha | - |
示例代码:
标准基座 真机调试
iPhone XR ios 14
试过的方法如下:
已经在 document.addEventListener('plusready', () => {})
里面的,这点不用质疑。
提示:
唤起失败{"code":-3,"message":"此功能不支持"}
无效
if(plus.os.name =='iOS'){
plus.runtime.launchApplication({action: "snssdk1128://"}, function(e) {
console.log('唤起失败'+JSON.stringify(e))
})
}
无效
if(plus.os.name =='iOS'){
plus.runtime.openURL( "snssdk1128://", function(res) {
console.log(SON.stringify(res));
});
}
无效
location.href = "snssdk1128://";
window.location.href = "snssdk1128://";
window.open("snssdk1128://", "_self");
然后在M站中的 a 标签上直接 href 也还是不行。
<a href="//ask.dcloud.net.cn/snssdk1128://">打开抖音</a>
如果是在 手机 Safari 浏览器
地址栏输入 snssdk1128://
正常打开抖音,浏览器点击页面的 <a href="//ask.dcloud.net.cn/snssdk1128://">打开抖音</a>
也能够唤起 抖音。或者 用 window.location.href = "snssdk1128://";
也能打开抖音,
反正在安卓端和浏览器都正常, wap2app 任何方式都不无效的,不知道是IOS问题还是 wap2app问题。麻烦技术测试一下。
操作步骤:
都写了
预期结果:
唤起抖音
实际结果:
唤起无效
bug描述:
在安卓端 无论是 用 plus.runtime.launchApplication
还是 location.href
都能正常的唤起 抖音应用,但是在IOS端 无论是用那种办法都是不行,
更多关于uni-app 【已解决】wap2app 打开其他应用IOS端失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
manifest.json–app其他常用配置–应用白名单—添加下 snssdk1128
然后打包,再试试这几种方法
更多关于uni-app 【已解决】wap2app 打开其他应用IOS端失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
感谢,已经可以可!!
这个问题是iOS系统对WAP2APP应用内调用第三方应用URL Scheme的限制导致的。在iOS的WebView环境中,直接通过JavaScript调用URL Scheme会受到更严格的安全限制。
解决方案:
- 使用plus.runtime.openURL方法,但需要确保URL格式正确:
plus.runtime.openURL("snssdk1128://", function(e){
console.log('唤起结果:', JSON.stringify(e));
if(e.code){
// 唤起失败后跳转AppStore
plus.runtime.openURL("https://apps.apple.com/cn/app/id1142110895");
}
});
- 如果是iOS 9+系统,可以尝试使用Universal Links代替URL Scheme:
plus.runtime.openURL("https://www.douyin.com/share/user/...");
- 确保在manifest.json中配置了白名单:
"plus": {
"whitelist": {
"scheme": ["snssdk1128"]
}
}
- 如果以上方法都不行,可以考虑使用中间页跳转方案:
window.location.href = "https://yourdomain.com/redirect?target=snssdk1128://";