๐ŸŽ iOS

[iOS/NFC] CoreNFC๋กœ NFC ์ฝ๊ธฐ/์“ฐ๊ธฐ

gom1n 2024. 12. 29. 17:21

์š”์ฆ˜ ์œ ํ–‰ํ•˜๋Š” '๋„ค์žŽํด๋กœ๋ฒ„ ํ‚ค๋ง'์„ ์•„์‹œ๋‚˜์š”?!

๋„ค์žŽํด๋กœ๋ฒ„ ๋ชจ์–‘์œผ๋กœ ๋˜์–ด์žˆ๋Š” ๊ท€์—ฌ์šด ํ‚ค๋ง์„ iPhone๋””๋ฐ”์ด์Šค์— ํƒœ๊ทธํ•˜๋ฉด, ์˜ค๋Š˜์˜ ์šด์„ธ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

๊ท€์—ฌ์›Œ์„œ ์ € ๊ฐ™์•„๋„ ํ•œ๋ฒˆ ์‚ฌ๋ณผ ๊ฒƒ ๊ฐ™์•„์š”...

ํ•ด๋‹น ํ‚ค๋ง์˜ ์ฃผ์š” ๊ธฐ์ˆ ์€ NFC ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.

iOS ๊ฐœ๋ฐœ์ž๋กœ์จ, ํ•œ๋ฒˆ ์‹œ๋„ํ•ด๋ณผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? ์‹ถ์–ด ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

 

CoreNFC

iOS์—์„œ๋Š” CoreNFC๋กœ ์Šค์บ” ๋ฐ ์ฝ๊ธฐ/์“ฐ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ์ „์—, ์Šค์บ”์„ ํ•  ์ˆ˜ ์žˆ๋Š” NFCํƒœ๊ทธ๋ฅผ ๊ณต์ˆ˜ํ•ด์™€์•ผ๊ฒ ์ฃ ?

 

๋„ค์ด๋ฒ„์— 'NFC์Šคํ‹ฐ์ปค'๋ผ๊ณ  ์ณ์„œ ๋‚˜์˜ค๋Š” ์•„๋ฌด ์Šคํ‹ฐ์ปค๋ฅผ ๊ตฌ๋งคํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋ฌด๋ ค ๊ฐœ๋‹น 230์›?!

์‹ธ๋‹ค ์‹ธ

 

 

๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์•ฑ์„ ๋งŒ๋“ค์–ด๋ณผ๊ฒŒ์š”.

์—ฌ๋А ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ™์ด, ์ฝ”์–ดNFC๋ฅผ ์“ฐ๋ ค๋ฉด NFCTagReaderSession ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

 

์ผ๋‹จ ์ด ๊ธฐ๊ธฐ๊ฐ€ NFC๋ฅผ ์ง€์›ํ•˜๋Š” ์ง€๋ฅผ ๋จผ์ € ํ™•์ธํ•ด๋ณด๊ณ ์š”.

 

์ฒ˜์Œ์— NFCTagReaderSession์œผ๋กœ startScanning์„ ํ•ด๋ดค์„ ๋•Œ, "NFC ์ง€์› ๋ถˆ๊ฐ€๋Šฅ"ํ•œ ๊ธฐ๊ธฐ๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋–ด์Šต๋‹ˆ๋‹ค.

์ œ ํฐ์€ iOS version 17.0์ด์ƒ์ธ๋ฐ ๋ง์ด์ฃ .

๊ทธ๋ž˜์„œ NFCNDEFReaderSession์œผ๋กœ ๋ณ€๊ฒฝํ•ด ์‹œ๋„ํ•ด๋ณด์•˜๊ณ , ๊ทธ์ œ์„œ์•ผ ์ œ๋Œ€๋กœ ์ธ์‹์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์•„๋ž˜ ์ฝ”๋“œ๋Š” ํƒœ๊ทธ๋ฅผ ๊ฐ์ง€ํ•œ ํ›„, ํ•ด๋‹น ํƒœ๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋กœ๊ทธ๋กœ ์ฐ์–ด๋ณด๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

ํ•œ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์ ์€, 

์ œ๊ฐ€ ๋„ค์ด๋ฒ„์—์„œ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๊ตฌ๋งคํ–ˆ๋˜ NFC ์Šคํ‹ฐ์ปค๋Š” ISO ๋จธ์‹œ๊ธฐ ์–ด์ฉŒ๊ณ  ์ €์ฉŒ๊ณ ๋„ ์•„๋‹Œ MIFARE ์ข…๋ฅ˜์˜€๋‹ค๊ณ  ํ•˜๋„ค์š”.

์ œ๊ฐ€ ๊ฐ€์ง„ ์Šคํ‹ฐ์ปค๊ฐ€ ์•„๋งˆ ISO์ข…๋ฅ˜์ผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ์„ ํ–ˆ์–ด์„œ, ๋”์šฑ๋” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ์˜€์–ด์š”.

 

 

์•„์ง NFC ์„ธ๊ณ„์— ๋Œ€ํ•ด ์ž˜ ๋ชฐ๋ผ์„œ ์šฉ์–ด๊ฐ€ ์ƒ์†Œํ•˜๊ณ ,

๋˜ ์ด๋Ÿฐ ํ•˜๋“œ์›จ์–ด ์ œํ’ˆ์€ ๊ณต์žฅ ์ œ์กฐ์‚ฌ์— ๋”ฐ๋ผ ๊ทœ๊ฒฉ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœํ•˜๊ธฐ ๋” ๊นŒ๋‹ค๋กœ์šด ๊ฒƒ ๊ฐ™์•„์š”.

(ํšŒ์‚ฌ์—์„œ ์นด๋“œ ๋ธ”๋ฃจํˆฌ์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ๊ทœ๊ฒฉ์„œ๋ณด๊ณ  ์ •๋ง ์• ๋จน์—ˆ๋˜...)

 

 

๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ

์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ์ฝ์–ด๋ด…์‹œ๋‹ค.

๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ

๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ๊ฒƒ๋„ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ์žˆ์—ˆ์–ด์š”.

์™œ๋ƒํ•˜๋ฉด, ์ œ๊ฐ€ ์‚ฐ NFC ์Šคํ‹ฐ์ปค๋Š” ๊ฐ€๊ฒฉ์ด ์‹ธ๊ณ  ๊ทธ๋งŒํผ ์šฉ๋Ÿ‰๋„ ์ž‘๋””์ž‘์€ ์Šคํ‹ฐ์ปค์˜€๊ธฐ ๋•Œ๋ฌธ์ž…์ฃ .๐Ÿฅน

 

NFCํƒœ๊ทธ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ Page๋“ค์ด ์žˆ๊ณ ,

ํ†ต์ƒ์ ์œผ๋กœ 1~3ํŽ˜์ด์ง€ ๊นŒ์ง€๋Š” ํƒœ๊ทธ์— ๋Œ€ํ•œ ์ •๋ณด๋“ค์ด, ๊ทธ๋ฆฌ๊ณ  4ํŽ˜์ด์ง€~์ดํ›„๋ถ€ํ„ฐ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

(ํ‹€๋ฆฐ ๊ฒŒ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์‹ญ์‡ผ. ์•„์ง ์ž˜ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.)

 

๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ 4ํŽ˜์ด์ง€๋ถ€ํ„ฐ ์‹œ์ž‘๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฐ์ดํ„ฐ ์ฝ๊ธฐ

์ด์ œ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ๋ฅผ ํ•ด๋ณผ๊ฒŒ์š”.

 

๊ทธ๋Ÿฌ๋‚˜ ์ •๋ง ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์–ด์š”.

์˜์–ด 4๊ธ€์ž๋งŒ ์ฝ์–ด์˜ค๋Š” ๊ฑฐ ์•„๋‹ˆ๊ฒ ์–ด์š”!! ๐Ÿ˜ฆ

 

'HELLO WORLD'๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ, 'HELL' ๋งŒ ์ฝ์–ด์˜ค๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์ œ๊ฐ€ ์–ด์ฐŒ๋‚˜ ๋†€๋ž๋˜์ง€~

๋‚ด ์†๋งˆ์Œ์„ ์–˜๊ฐ€ ์ž๋™์œผ๋กœ ์ธ์‹ํ•˜๋Š” ๊ฑด๊ฐ€?! ์‹ถ๊ตฌ... ^__^

 

์• ํฌ์— ํ•œ ํŽ˜์ด์ง€๋‹น ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ด 4๊ธ€์ž๋ฐ–์— ์•ˆ๋œ ๊ฒƒ์œผ๋กœ ํŒŒ์•…๋ฉ๋‹ˆ๋‹ค.

ํ•œ๊ธ€์€ byte๊ฐ€ ์ปค์„œ์ธ์ง€ ์šฉ๋Ÿ‰ ๋•Œ๋ฌธ์— ๋”๋”์šฑ ์–ด๋ ต๋”๋ผ๊ณ ์š”.

 

๊ทธ๋ž˜์„œ ๊ฐ“์ง€ํ”ผํ‹ฐํ•œํ…Œ ๋ฌผ์–ด๋ณด๋‹ˆ, 4๊ธ€์ž๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์ž๋™์œผ๋กœ ๋‹ค์Œ ํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ์‹...์„ ์ถ”์ฒœํ•ด์คฌ๋Š”๋ฐ.

์ด๋Ÿด ์‹œ๊ฐ„์— ์„œ๋ฒ„์—๋‹ค๊ฐ€ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ํ›จ ๋น ๋ฅด๊ฒ ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

 

 

๊ทธ๋Ÿฌ๋‚˜ ์ €๋Š” ์•ฑ ๊ฐœ๋ฐœ์ž์ด๊ณ , ์„œ๋ฒ„๋Š” ๋ฌธ์™ธํ•œ์ด๊ธฐ ๋•Œ๋ฌธ์—,,,

์•„๋งˆ๋„ Firebase Realtime Database๋ฅผ ์“ฐ์ง€ ์•Š์„๊นŒ ์‹ถ์€๋ฐ์š”.

 

์ด ๋ถ€๋ถ„์€ ๋‹ค์Œ ํฌ์ŠคํŒ…๋•Œ ๋”๋”์šฑ ๋ฐœ์ „๋œ ๋ชจ์Šต์œผ๋กœ ๋‹ค์‹œ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ์˜ค๋Š˜์€ NFC์Šคํ‹ฐ์ปค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ /์“ฐ๋Š” ๊ฒƒ์„ ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๊ฒƒ์— ์˜์˜๋ฅผ ๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

 

REFERENCES

(ํ™๋ณด์•„๋‹˜)

๋„ค์žŽํด๋กœ๋ฒ„ ํ‚ค๋ง ์ถœ์ฒ˜

NFC์Šคํ‹ฐ์ปค ๊ตฌ๋งค์ฒ˜