В виджете iOS 17.4.1 QRCode не отображается, до iOS 17 он работал нормально [закрыто]IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 В виджете iOS 17.4.1 QRCode не отображается, до iOS 17 он работал нормально [закрыто]

Сообщение Anonymous »

У меня возникла проблема с виджетом в моем приложении для iOS, из-за которой QRCode не отображается правильно на iOS 17.4.1. Эта функция отлично работала во всех версиях до iOS 17. После обновления до iOS 17.4.1 QRCode больше не отображается в виджете. Остальная часть содержимого виджета отображается должным образом, но представление QRCode отсутствует. Я подтвердил, что код генерации QRCode отлично работает в самом приложении и не работает только в виджете последней версии iOS.
Я также пробовал разные подходы, чтобы убедиться, что он работает правильно. это не проблема рендеринга, но, похоже, ничего не работает. Кто-нибудь еще сталкивался с этой проблемой с виджетами на iOS 17.4.1 и существует ли известный способ обхода или исправления этой проблемы?
вот код QRCodeSmallWidgetView:
import SwiftUI
import WidgetKit

struct QRCodeSmallWidgetView: View {

// Create the UserDefaults suites for Widget
let appWidgetSuite = UserDefaults(suiteName: "group.zxc.asd.app.Abc-Widget")

var body: some View {

ZStack {

// widget content
if let userURL = appWidgetSuite?.string(forKey: "UserWidgetQRCode") {

let imgQR = UIImage().generateQRCodeFromString(barcode: userURL)

let qrImage = UIImage().convert(imgQR)

let qrImageWithAppLogo = UIImage().addAppLogoToQRCodeInWidget(qrCodeImage: qrImage, logoImage: UIImage(named: "ic_qr_logo"))

// Here Pass qrImage | qrImageWithAppLogo
Image(uiImage: qrImageWithAppLogo)
.resizable()
.aspectRatio(contentMode: .fit)
} else {
Text("Add APP QR")
}
}
.widgetBackground(Color(UIColor.systemBackground))
}
}

struct QRCodeSmallWidgetView_Previews: PreviewProvider {
static var previews: some View {
QRCodeSmallWidgetView()
.previewContext(WidgetPreviewContext(family: .systemSmall))
}
}

extension View {
func widgetBackground(_ backgroundView: some View) -> some View {
if #available(iOSApplicationExtension 17.0, *) {
return containerBackground(for: .widget) {
backgroundView
}
} else {
return background(backgroundView)
}
}
}


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

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

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

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

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

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

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