NFC: Entitlement TAG statt NDEF, Tag-Session statt NDEF-Session
Der Upload nach App Store Connect scheiterte an der Entitlement-Pruefung: "NDEF is disallowed" und "TAG is missing in the entitlement". Apple hat den Wert NDEF zugunsten von TAG abgeloest; mit dem SDK von iOS 26/27 wird er abgelehnt. TAG ist der Wert fuer NFCTagReaderSession, deshalb laeuft der Lese- und Schreibweg jetzt darueber statt ueber NFCNDEFReaderSession. Die NDEF-Befehle bleiben dabei vollstaendig erhalten: alle vier Tag-Protokolle (MiFare, ISO7816, ISO15693, FeliCa) erben laut SDK-Header von NFCNDEFTag, also gibt es weiterhin queryNDEFStatus, readNDEF, writeNDEF und writeLock. Gepollt wird iso14443 (die ueblichen NTAG-Aufkleber) und iso15693 (Waeschetags mancher Hersteller). Die eigene Klasse hiess NFCTag und kollidierte damit mit dem gleichnamigen CoreNFC-Protokoll, das der neue Weg braucht - sie heisst jetzt NFCDienst. Info.plist enthaelt ausserdem die Neuformatierung durch Xcode (Schluessel sortiert, Kommentare entfernt). Inhaltlich unveraendert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
09a763a823
commit
140b81798c
@@ -71,9 +71,9 @@ struct NFCSchreibenView: View {
|
||||
erfolg = false
|
||||
defer { laeuft = false }
|
||||
do {
|
||||
try await NFCTag.schreiben(nutzlast, sperren: sperren)
|
||||
try await NFCDienst.schreiben(nutzlast, sperren: sperren)
|
||||
erfolg = true
|
||||
} catch NFCTag.Fehler.abgebrochen {
|
||||
} catch NFCDienst.Fehler.abgebrochen {
|
||||
// Kein Fehler, sondern eine Entscheidung – nichts anzeigen.
|
||||
} catch {
|
||||
fehler = error.localizedDescription
|
||||
@@ -93,7 +93,7 @@ struct NFCLesenButton: View {
|
||||
@State private var laeuft = false
|
||||
|
||||
var body: some View {
|
||||
if NFCTag.verfuegbar {
|
||||
if NFCDienst.verfuegbar {
|
||||
Button {
|
||||
Task { await lesen() }
|
||||
} label: {
|
||||
@@ -107,7 +107,7 @@ struct NFCLesenButton: View {
|
||||
laeuft = true
|
||||
defer { laeuft = false }
|
||||
do {
|
||||
let roh = try await NFCTag.lesen()
|
||||
let roh = try await NFCDienst.lesen()
|
||||
// Ein selbst beschriebenes Tag darf auch die nackte UID tragen – anders
|
||||
// als bei der Kamera droht hier keine Verwechslung mit einem Barcode.
|
||||
guard let uid = einzelstueckCode(aus: roh, nackteUidErlauben: true) else {
|
||||
@@ -115,7 +115,7 @@ struct NFCLesenButton: View {
|
||||
return
|
||||
}
|
||||
onUid(uid)
|
||||
} catch NFCTag.Fehler.abgebrochen {
|
||||
} catch NFCDienst.Fehler.abgebrochen {
|
||||
// Nutzer hat abgebrochen – keine Meldung.
|
||||
} catch {
|
||||
onFehler(error.localizedDescription)
|
||||
|
||||
Reference in New Issue
Block a user