我正在开发 Ionic 和 Angular 应用程序,并且添加了电容器。该应用程序适用于 iO、Android 和 Web。
我刚刚安装了 Capacitor Action Sheet 插件和 Capacitor 的 PWA。
它在网络上运行良好,但是当我尝试在 iOS 上打开操作表时,我得到以下信息:
ERROR {"code":"UNIMPLEMENTED"}
有人见过这个吗?
我正在使用版本6的电容器:
"@capacitor/ios": "^6.0.0",
"@capacitor/action-sheet": "^6.0.0",
我还有其他工作正常的 Capacitor 插件,如状态栏、键盘...但 ActionSheet 显示该错误。
这是实现:
import { Component, inject } from '@angular/core';
import { IonicModule } from '@ionic/angular';
import { ActionSheet, ActionSheetButtonStyle } from '@capacitor/action-sheet';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { lastValueFrom, take } from 'rxjs';
@Component({
selector: 'sol-profile-picture',
templateUrl: './profile-picture.component.html',
styleUrls: ['./profile-picture.component.scss'],
standalone: true,
imports: [
IonicModule,
TranslateModule
]
})
export class ProfilePictureComponent {
translationsService = inject(TranslateService);
constructor () { }
async showActions() {
await lastValueFrom( this.translationsService
.get([
'COMMON.uploadPhoto',
'COMMON.ALERTS.takePhoto',
'COMMON.ALERTS.uploadPhoto',
'COMMON.cancel']
)
.pipe(take(1)) );
const result = await ActionSheet.showActions({
title: this.translationsService.instant('COMMON.uploadPhoto') as string,
options: [
{
title: this.translationsService.instant('COMMON.ALERTS.takePhoto'),
},
{
title: this.translationsService.instant('COMMON.ALERTS.uploadPhoto'),
},
{
title: this.translationsService.instant('COMMON.cancel'),
style: ActionSheetButtonStyle.Cancel,
},
],
});
console.log(result)
}
}
谢谢!
如果有人遇到过这个问题,那是因为手动电容器更新错误。
为了解决这个问题,请运行:
npm i -D @capacitor/cli@latest
npx cap migrate
构建应用程序,一切都会完美运行。