Я хочу открыть модальное окно для внешней ссылки во Flutter iOS, но оно не работаетIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Я хочу открыть модальное окно для внешней ссылки во Flutter iOS, но оно не работает

Сообщение Anonymous »

Я пытаюсь открыть модальное окно с помощью Учетной записи внешней ссылки на устройствах iOS 16.0+ в моем приложении Flutter. Однако когда я вызываю externalLinkAccount.open(), ничего не происходит и я не получаю никаких ошибок. Я пробую следующий код Swift:

Код: Выделить всё

import UIKit
import Flutter
import StoreKit

func openExternalLink() async throws {
if #available(iOS 16.0, *) {
if ExternalLinkAccount.canOpen {
try await ExternalLinkAccount.open()
} else {
throw NSError(domain: "ExternalLinkError", code: -1, userInfo: [NSLocalizedDescriptionKey: "Cannot open external link."])
}
} else {
throw NSError(domain: "ExternalLinkError", code: -1, userInfo: [NSLocalizedDescriptionKey: "Unsupported iOS version."])
}
}

@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
self.window?.makeSecure() // Secure the window to prevent sensitive data leakage
GeneratedPluginRegistrant.register(with: self)
setupMethodChannel(controller: window?.rootViewController as! FlutterViewController)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

func setupMethodChannel(controller: FlutterViewController) {
let methodChannel = FlutterMethodChannel(name: "external_link_account", binaryMessenger: controller.binaryMessenger)

methodChannel.setMethodCallHandler { (call: FlutterMethodCall, result: @escaping FlutterResult) in
if call.method == "openLinkout" {
if #available(iOS 16.0, *) {
Task {
do {
try await ExternalLinkAccount.open() // Await here
result("Link opened successfully!")
} catch {
result(FlutterError(code: "ERROR", message: "Failed to open link", details: nil))
}
}
} else {
result(FlutterError(code: "OS_TOO_OLD", message: "iOS version too old", details: nil))
}
} else {
result(FlutterMethodNotImplemented)
}
}
}
Я пытаюсь открыть внешнюю ссылку, но модальное окно не появляется. Я убедился, что функция ExternalLinkAccount.open() вызывается с ожиданием, но все равно ничего не происходит. Вопросы: • Может ли возникнуть проблема с вызовом ExternalLinkAccount.open()? • Нужно ли мне что-то еще делать при вызове этой функции? • С какими версиями iOS мне следует обеспечить совместимость? • Есть ли какие-либо дополнительные ресурсы или примеры по этому модулю? Всем, кто сможет помочь, будем очень признательны! Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... ot-working
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»