离子+电容器 - iOS上的PWA移动相机访问 - 在Safari中工作 - 但不能从主屏幕图标



正如标题所说,从Safari中导航到应用程序URL时,相机在PWA中工作正常。

但是在使用"添加到主屏幕"创建桌面图标并从新图标启动PWA后,PWA在各个方面都按预期工作,但相机无法打开。

我还尝试在设备上使用 Chrome 浏览器,但不幸的是,通过 URL 启动时,相机甚至无法从 PWA 中打开。

从桌面启动PWA时,我假设iOS将使用Safari,而不是Chrome或其他浏览器。我错了吗?

但可以肯定的是,我已经卸载了Chrome,遗憾的是结果相同,即通过Safari中的URL,PWA可以正常打开相机。通过桌面图标,没有雪茄。

使用以下说明实现:https://capacitor.ionicframework.com/docs/guides/ionic-framework-app

这是相关的 html 文件:

<p>
  Click the Camera button at the bottom of the page to launch the device's 
  camera.
</p>
<ion-content>
  <img [src]="photo" *ngIf="photo">
  <ion-fab vertical="bottom" horizontal="center" slot="fixed">
    <ion-fab-button (click)="takePicture()">
      <ion-icon name="camera"></ion-icon>
    </ion-fab-button>
  </ion-fab>
</ion-content>

这是相关的组件文件:

import { Component, OnInit } from '@angular/core';
import { Plugins, CameraResultType, CameraSource } from '@capacitor/core';
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
@Component({
  selector: 'camera',
  templateUrl: './camera.component.html',
  styleUrls: ['./camera.component.scss'],
})
export class CameraComponent implements OnInit {
  photo: SafeResourceUrl;
  constructor(private sanitizer: DomSanitizer) { }
  ngOnInit() {}
  async takePicture() {
    const image = await Plugins.Camera.getPhoto({
      quality: 100,
      allowEditing: false,
      resultType: CameraResultType.DataUrl,
      source: CameraSource.Camera
    });
    this.photo = this.sanitizer.bypassSecurityTrustResourceUrl(image && (image.dataUrl));
  }
}

有什么建议吗?

经过进一步挖掘,我找到了一个相关的SO帖子:如何在iOS11主屏幕网络应用程序上访问相机?

看起来这是iOS和主页PWA的已知问题,目前Ionic + Capacitor无法解决。谢谢苹果。:(

相关内容

  • 没有找到相关文章

最新更新