아이폰 OS NFC 기능 개발

A, NDEF 형식

使用 NFCNDEFReaderSession.Delegate 为 : NFCNDEFReaderSessionDelegate

한 개체가 초기화

@property ( 강한 , 비 원자 )의 NFCNDEFReaderSession * 세션;

@property ( 강한 , 비 원자 ) ID <NFCNDEFTag> cuurentTag;

셀프 .session = [NFCNDEFReaderSession ALLOC를] initWithDelegate : 자기 큐 : invalidateAfterFirstRead : YES ]; // 읽기 전용 YES 일절 복수의 읽기, 태그 끝나지

자기 .session.alertMessage = @ "전화 근처에 카드를 놓고 카드를 읽기";

[ 셀프 .session BeginSession] 식별 풍선 팝업을 인식 시작 //

프록시 방법

- ( 무효 ) readerSession : (NFCNDEFReaderSession *) 세션 didDetectTags : (NSArray를 < __kindof ID <NFCNDEFTag >> *) API_AVAILABLE을 (IOS (13.0)) {태그

  자기 .cuurentTag은 = [태그 firstObject];

}

방법은 태그를 얻을 수있다이 과정에서 다시 신분증을 호출합니다.

(2)가 카드의 내용을 읽어 취득한 카드 ID는 비어 있으며, 두 번째 방법은 다음 획득 카드 ID가 필요하다.

2.1 연결을 설정해야

[_SESSION connectToTag : 자기 .cuurentTag completionHandler ^ (NSError * _Nullable의 오차) {}];

2.2 연결 후 메서드를 호출, 당신은 카드의 내용을 얻을 수 있습니다

[태그 readNDEFWithCompletionHandler ^ (NFCNDEFMessage * ndefMessage, 오류 NSError *) {}];

3, NDEF 내용을 쓰기

3.1 연결을 설정해야

[_SESSION connectToTag : 자기 .cuurentTag completionHandler ^ (NSError *  _Nullable의  오차) {}];

연결 방법 호출 후에 3.2 성공적 카드의 상태를 취득한다 : 기록 가능 여부를 판단

[ 자기 .cuurentTag queryNDEFStatusWithCompletionHandler ^ (NFCNDEFStatus 상태 NSUInteger 용량 NSError * _Nullable의 오차) {}];

당신이 쓸 수 주 상태 == NFCNDEFStatusReadWrite.

3.3 쓰기

[ 자기 .cuurentTag writeNDEF : myMessage completionHandler ^ (NSError * _Nullable의 오차) {}];

NFCPollingISO14443 NFCPollingISO15693 NFCPollingISO15693 : 두, iOS13 새로운 유형을 지원

NFCTagReaderSession를 사용합니다. 위임은 다음과 같습니다 NFCTagReaderSessionDelegate

1. 개체 초기화

자기 .session = [NFCTagReaderSession의 ALLOC]

                    initWithPollingOption : (NFCPollingISO14443 | NFCPollingISO15693 | NFCPollingISO15693) 대표 : 자기 큐 : dispatch_get_main_queue ()];

자기 .session.alertMessage = @ "전화 근처에 카드를 놓고 카드를 읽기";

[ 셀프 .session BeginSession] 식별 풍선 팝업을 인식 시작 //

프록시 방법

- ( 무효 ) tagReaderSession : (NFCTagReaderSession *) 세션 didDetectTags : (NSArray를 < __kindof ID <NFCTag >> *) 태그 {

  자기 .cuurentTag은 = [태그 firstObject];

}

도 2는, 콘텐츠 취득 방법은 전술 한 (카드 타입은 예를 들어 다음 중 하나에서 결정)의 ID를 판독하여

경우 ( 자기 .currentTag.type == NFCTagTypeMiFare) {

        ID <NFCMiFareTag> mifareTag = 자기 .currentTag asNFCMiFareTag];

    *을 NSData 데이터 = mifareTag.identifier

}

사용 태그 3. 작성 방법은 특정 유형의 태그를 수를로 필요합니다 NFCMiFareTag

[mifareTag writeNDEF : ndefMsg completionHandler ^ (NSError * 에러) {}];

 

추천

출처www.cnblogs.com/lxh123/p/11687301.html