Приложение, к которому пытаются получить доступ, имеет биометрическую аутентификацию в качестве опции для предоставления доступа пользователю.
Проблема в том, что у приложения нет разрешения на доступ к биометрическим данным. учетные данные, и я не знаю, как их предоставить. Я добавил возможности входа во все этапы (выпуск, отладка и профиль) в xcode, а также NSFaceIDUsageDescription в Info.plist.
Это ошибка, которую xcode показывает, когда нажав на активацию в приложении Flutter.
ASAuthorizationController credential request failed with error: Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1004 "(null)"
Ошибка приложения
Ожидаемое поведение, вот что происходит при попытке доступа из обычного браузера и нажатии «активировать»

Это флаттер-код для запуска inappwebview
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'dart:io' show Platform;
class HomePageWidget extends StatefulWidget {
const HomePageWidget({super.key});
@override
_HomePageWidgetState createState() => _HomePageWidgetState();
}
class _HomePageWidgetState extends State {
late MyInAppBrowser browser;
final settings = InAppBrowserClassSettings(
browserSettings: InAppBrowserSettings(
hideToolbarBottom: true,
hideCloseButton: true,
hideUrlBar: true,
hideTitleBar: true,
hideDefaultMenuItems: true,
presentationStyle: ModalPresentationStyle.OVER_FULL_SCREEN),
webViewSettings: InAppWebViewSettings(
userAgent: Platform.isAndroid
? "Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.82 Mobile Safari/537.36"
: "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Mobile/15E148 Safari/604.1",
cacheEnabled: true,
javaScriptEnabled: true,
isElementFullscreenEnabled: true,
));
// Assuming this is the correct type
@override
void initState() {
super.initState();
browser = MyInAppBrowser(onBrowserExit: () {
setState(() {
// Handle browser exit if needed
});
});
openBrowser();
}
void openBrowser() async {
await browser.openUrlRequest(
urlRequest: URLRequest(
url: WebUri(
"https://linktowebapp")),
settings: settings);
// Additional logic if necessary
}
@override
Widget build(BuildContext context) {
// Your build method as before, but replace the onPressed method:
return const Scaffold(
body: Center(),
);
}
}
// Modify the MyInAppBrowser class to accept a callback
class MyInAppBrowser extends InAppBrowser {
final VoidCallback onBrowserExit;
MyInAppBrowser({required this.onBrowserExit});
@override
void onExit() {
super.onExit();
print("Browser closed!");
onBrowserExit(); // Call the provided callback
}
// The rest of your MyInAppBrowser implementation...
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... -trying-to