88import Foundation
99import CoreNFC
1010
11- protocol NFCManagerProtocol {
11+ protocol NFCManagerProtocol : Sendable {
1212 @MainActor var scanResult : Result < ItemTagData , Error > ? { get }
1313 @MainActor var isScanResultChanged : Bool { get }
1414 @MainActor var isScanResultChangedForTesting : Bool { get }
15-
15+
1616 func startReading( ) async
1717 func startReadingForTesting( ) async
1818
@@ -21,7 +21,7 @@ protocol NFCManagerProtocol {
2121
2222final class NFCManager : NSObject , ObservableObject , @unchecked Sendable {
2323 @MainActor static let shared = NFCManager ( )
24-
24+
2525 @MainActor @Published var scanResult : Result < ItemTagData , Error > ?
2626 @MainActor @Published var isScanResultChanged = false
2727 @MainActor @Published var isScanResultChangedForTesting = false
@@ -61,7 +61,7 @@ final class NFCManager: NSObject, ObservableObject, @unchecked Sendable {
6161 case readForTesting
6262 case write
6363 }
64-
64+
6565 var nfcSession : NFCNDEFReaderSession ?
6666 var nfcOperation = NFCOperation . read
6767 private var userNdefMessage : NFCNDEFMessage ?
@@ -85,7 +85,7 @@ extension NFCManager: NFCManagerProtocol {
8585 nfcOperation = . readForTesting
8686 startSesstion ( )
8787 }
88-
88+
8989 func startWriting( ndefMessage: NFCNDEFMessage , isLock: Bool ) async {
9090 nfcOperation = . write
9191 userNdefMessage = ndefMessage
@@ -102,22 +102,22 @@ extension NFCManager: NFCManagerProtocol {
102102extension NFCManager : NFCNDEFReaderSessionDelegate {
103103 func readerSession( _ session: NFCNDEFReaderSession , didDetectNDEFs messages: [ NFCNDEFMessage ] ) {
104104 }
105-
105+
106106 func readerSession( _ session: NFCNDEFReaderSession , didDetect tags: [ NFCNDEFTag ] ) {
107107 guard let tag = tags. first else { return }
108-
108+
109109 session. connect ( to: tag) { error in
110110 if let error = error {
111111 session. invalidate ( errorMessage: " Connection error: \( error. localizedDescription) " )
112112 return
113113 }
114-
114+
115115 tag. queryNDEFStatus { status, capacity, error in
116116 if let error = error {
117117 session. invalidate ( errorMessage: " Checking NDEF status error: \( error. localizedDescription) " )
118118 return
119119 }
120-
120+
121121 switch status {
122122 case . notSupported:
123123 session. invalidate ( errorMessage: String . tagIsNotNdefFormatted)
@@ -145,14 +145,14 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
145145
146146 self . write ( session: session, tag: tag)
147147 }
148-
148+
149149 @unknown default :
150150 session. invalidate ( errorMessage: String . unknownNdefStatus)
151151 }
152152 }
153153 }
154154 }
155-
155+
156156 private func read(
157157 session: NFCNDEFReaderSession ,
158158 tag: NFCNDEFTag ,
@@ -169,7 +169,7 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
169169 }
170170 return
171171 }
172-
172+
173173 guard let message else {
174174 session. invalidate ( errorMessage: String . noRecrodsFound)
175175 self ? . internalScanResult = . failure( ScanResultError . failed ( String . tagNotValid) )
@@ -194,10 +194,10 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
194194 session. invalidate ( )
195195 }
196196 }
197-
197+
198198 private func write( session: NFCNDEFReaderSession , tag: NFCNDEFTag ) {
199199 guard let userNdefMessage = self . userNdefMessage else { return }
200-
200+
201201 write (
202202 session: session,
203203 tag: tag,
@@ -208,7 +208,7 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
208208 print ( " >>> Write: \( userNdefMessage) " )
209209 }
210210 }
211-
211+
212212 private func write(
213213 session: NFCNDEFReaderSession ,
214214 tag: NFCNDEFTag ,
@@ -243,7 +243,7 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
243243
244244 private func setResultExtractedFrom( message: NFCNDEFMessage , isReadOnly: Bool , test: Bool ) {
245245 let itemTagInfo = Utility . extractItemTagInfoFrom ( message: message, test: test)
246-
246+
247247 if itemTagInfo. success {
248248 let itemTagData = ItemTagData (
249249 itemTagId: itemTagInfo. id,
@@ -258,7 +258,7 @@ extension NFCManager: NFCNDEFReaderSessionDelegate {
258258 }
259259
260260 func readerSessionDidBecomeActive( _ session: NFCNDEFReaderSession ) { }
261-
261+
262262 func readerSession( _ session: NFCNDEFReaderSession , didInvalidateWithError error: Error ) {
263263 print ( " readerSession error: \( error. localizedDescription) " )
264264 }
0 commit comments