App: NFC-Fehler kurz statt "Stack Error", Knopf weg nach Erfolg
Apples localizedDescription kam unveraendert durch und lieferte beim
Beschreiben von Tags wiederholt "Stack Error" - ein Text, der niemandem
sagt, was zu tun ist. Jetzt uebersetzt NFCDienst.kurz die CoreNFC-Codes
in kurze Meldungen ("Tag zu frueh entfernt.", "NFC gerade belegt."); ein
unbekannter Code behaelt seine Nummer, damit der fehlende Fall beim
naechsten Auftreten feststeht.
Die Meldung steht jetzt auch in Apples Systemblatt: im Fehlerfall wurde
die Sitzung wortlos beendet, deshalb las man sie erst danach in der App.
Nach einem erfolgreichen Schreibvorgang verschwinden Knopf und
Schreibschutz-Schalter - sie standen vorher weiter da und waren aktiv,
ein weiterer Tipp hat das Tag ein zweites Mal beschrieben. Stattdessen
steht dort jetzt "Fertig".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
04f8c1fccd
commit
8c752e3d1f
+26
-16
@@ -33,30 +33,40 @@ struct NFCSchreibenView: View {
|
||||
Text("Auf das Tag wird geschrieben: \(nutzlast)")
|
||||
}
|
||||
|
||||
Section {
|
||||
Toggle("Tag dauerhaft schreibschützen", isOn: $sperren)
|
||||
} footer: {
|
||||
if sperren {
|
||||
Text("Das lässt sich nicht rückgängig machen. Das Tag gehört danach "
|
||||
+ "für immer zu diesem Einzelstück und kann nicht neu beschrieben werden.")
|
||||
.foregroundStyle(.orange)
|
||||
} else {
|
||||
Text("Ohne Schreibschutz kannst du das Tag später einem anderen "
|
||||
+ "Einzelstück zuweisen.")
|
||||
// Nach dem Erfolg hat das Tag seinen Inhalt. Knopf und Schalter
|
||||
// stehenzulassen hiesse, es noch einmal beschreiben zu wollen.
|
||||
if !erfolg {
|
||||
Section {
|
||||
Toggle("Tag dauerhaft schreibschützen", isOn: $sperren)
|
||||
} footer: {
|
||||
if sperren {
|
||||
Text("Das lässt sich nicht rückgängig machen. Das Tag gehört danach "
|
||||
+ "für immer zu diesem Einzelstück und kann nicht neu beschrieben werden.")
|
||||
.foregroundStyle(.orange)
|
||||
} else {
|
||||
Text("Ohne Schreibschutz kannst du das Tag später einem anderen "
|
||||
+ "Einzelstück zuweisen.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Section {
|
||||
Button(laeuft ? "Tag anhalten…" : "Tag beschreiben") {
|
||||
Task { await schreiben() }
|
||||
Section {
|
||||
Button(laeuft ? "Tag anhalten…" : "Tag beschreiben") {
|
||||
Task { await schreiben() }
|
||||
}
|
||||
.disabled(laeuft)
|
||||
}
|
||||
.disabled(laeuft)
|
||||
}
|
||||
|
||||
if erfolg {
|
||||
Section {
|
||||
Label("Tag beschrieben.", systemImage: "checkmark.circle")
|
||||
Label(sperren ? "Tag beschrieben und gesperrt." : "Tag beschrieben.",
|
||||
systemImage: "checkmark.circle")
|
||||
.foregroundStyle(.green)
|
||||
// Hier ist nichts mehr zu tun; „Fertig" gehoert deshalb in
|
||||
// den Inhalt und nicht nur oben in die Leiste. Ohne das
|
||||
// stuende man im Anlege-Ablauf vor einem fast leeren Blatt.
|
||||
Button("Fertig") { if let onFertig { onFertig() } else { dismiss() } }
|
||||
.buttonStyle(.borderedProminent)
|
||||
}
|
||||
}
|
||||
if let fehler {
|
||||
|
||||
Reference in New Issue
Block a user