uni-app 苹果16+ios18系统无法使用uni.chooseVideo?
uni-app 苹果16+ios18系统无法使用uni.chooseVideo?
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Windows10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:4.24
手机系统:iOS
手机系统版本号:iOS 18
手机厂商:苹果
手机机型:苹果16
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
示例代码:
uni.chooseVideo({
count: 1,
camera: "front",
maxDuration: 3,
sourceType: ['camera'],
compressed: true,
success: res => {
console.log(res)
const file = res;
that.uploadFile(file, num, id);
},
fail: (err) => {
console.log(err)
}
});
uploadFile(file, num, id, which) {
uni.showLoading({
title: '加载中'
});
let url = this.requestUrl + "/file/videoFileUpload";
console.log("file----" + file.tempFilePath)
console.log('url:-----0', url)
uni.uploadFile({
url: url,
fileType: "video",
filePath: file.tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",
"authorization": "Bearer " + uni.getStorageSync("user_token"),
},
success: (uploadFileRes) => {
console.log(uploadFileRes)
let result = JSON.parse(uploadFileRes.data);
console.log('result=====', result)
if (num == 2 || num == 4) {
setTimeout(() => {
uni.showLoading({
title: '加载中...'
});
this.punchClock2(objectBody, which)
}, 300);
}
},
fail: (err) => {
console.log('chooseImage fail', err)
uni.showToast({
title: "视频上传失败!",
icon: "none",
});
},
complete: () => {
uni.hideLoading();
}
});
}
操作步骤:
点击录制视频确定使用视频后未走uni.chooseVideo组件里面的方法
预期结果:
uni.chooseVideo组件里面的that.uploadFile(file, num, id);
方法正常运行
实际结果:
点击录完视频后uni.chooseVideo组件里面的that.uploadFile(file, num, id)
没有正常走到
bug描述:
苹果16使用uni.chooseVideo组件来录制视频点击录完却没走里面的代码逻辑是为什么,别的苹果机正常走
uni.chooseVideo 的回调走了么
是的,没有回调
该问题在IOS18中出现,我们原生App也遇到这个问题,修改后就OK了
回复 FireFlyTest: 原生怎么改的
回复 FireFlyTest: 咋修改的
回复 DCloud_iOS_WZT: ios18系统是正常的 但是使用苹果16调用没有反应 这是啥情况
回复 DCloud_iOS_WZT: 我们也是遇到这情况,把iphone14升级到ios18是正常的,但是iphone16就是不走回调
回复 h***@163.com: 你到找解决的办法了嘛 是不是uni.chooseVideo 不兼容 还是什么
回复 nnnullll: 没解决啊
没有解决