Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flutter/SwiftでNFC読み取り
Search
eita
June 21, 2025
19
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutter/SwiftでNFC読み取り
Flutter/Swiftをつかって交通系ICの残高読み取りを行います
2025.06.21 DroidKaigi.collect { #19@Osaka }
eita
June 21, 2025
More Decks by eita
See All by eita
Googleの新AIエディタを使ってみた
ironmax123
0
180
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Balancing Empowerment & Direction
lara
6
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Speed Design
sergeychernyshev
33
2.2k
GitHub's CSS Performance
jonrohan
1033
470k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Transcript
Flutter/SwiftͰNFCಡΈऔΓ ަ௨ܥICΛಡΈऔΖ͏ʂ
Who I am? - େࡕେֶ σʔλαΠΤϯεֶ෦ B2 - ΞϓϦ։ൃαʔΫϧΆͪΆͪͷͭͲ͍ -
ale engineer - ͜͜1͘Β͍Flutterத৺ - ϞόΠϧΛ࢝Ίͨͷ3͘Β͍લʹJava,XMLͰAndroidΞϓϦ։ൃ - Swiftͷܦݧ΄΅φγ ΆͪΆͪͷͭͲ͍ Publication(zenn)
࣮ - AndroidFlutterύοέʔδΛ༻ - iOSMethodChannelΛ͔ͭͬͯSwiftΛݺͼग़ͯ͠ಡΈऔΔ ཧ༝: - AndroidύοέʔδΛ͑؆୯ʹͰ͖ͨ - iOSύοέʔδόʔδϣϯͷࠩͳͷ͔ݪҼ͕͔ͭΊͣఘΊͯSwiftͰ࣮
- ͜ͷ࣌͋ΔϓϩδΣΫτͰMethodChannelΛͬͯͨͷͰΖ͏ͱࢥͬͨ
ࠓճͷඪ ަ௨ܥICΛεϚϗͰಡΈऔͬͯߴ͕දࣔ͞ΕΔ
༻ύοέʔδ[android/ios] ʲFlutterʳ - nfc_manager : https://pub.dev/packages/nfc_manager ʲSwiftʳ - CoreNFC :
https://developer.apple.com/documentation/corenfc
ަ௨ܥICͷ༷ ཁٻʹରͯ͠16BͰؼͬͯ͘Δ ࠷৽ͷར༻ཤྺͷ10,11BΛ10ਐʹมͯ͢͠ͱֹ͕ۚग़ͯ͘Δ
Android(Flutter) - 16BͰͬͯ͘ΔσʔλΛ16B+ϔομͷ 29Bʹม - ޙΖ13Bʙͷσʔλ16Bͷ[10][11]Λ͢ͱ ߴʹͳΔ - ίϚϯυΛૹ৴ͯ͠ཁٻΛૹΓฦΛresponseมʹ֨ೲ -
blockData[10]ɿߴͷԼҐόΠτʢLSBʣ - blockData[11] << 8ɿ্ҐόΠτʢMSBʣΛ8Ϗοτࠨγϑτ
FlutterΞϓϦͰ͍͚Δ ϓϥοτϑΥʔϜΛఆͯ͠iOSͳΒ showSwiftView()ϝιουΛ࣮ߦ͠ɺͦΕ Ҏ֎ͳΒnfcσΟϨΫτϦͷը໘ʹભҠ͢Δ
MethodChannel SwiftଆͱFlutterଆͰಉ͡νϟϯωϧΛఆٛͯ͠ invokeMethodͰSwiftͰ࣮ߦ͢Δ༰Λࢦఆ ࠓճshowSwiftUIView͕ݺΕͨ࣌iOS15Ҏ্ ͳΒNFCView()Λ࣮ߦ͢Δ
iOS AndroidͱͬͯΔ͜ͱಉ͡ - SwiftͰ͖ͳ͗ͯ͢͞΄΅AI - ύοέʔδͱαϯϓϧΛ୳͢ͷࣗ Ͱͬͨ
ࠓޙͷ՝ શࠃڞ௨ަ௨ܥIC͕ICOCA͔͍࣋ͬͯ͠ͳ͍ͷͰଞͷݕূͰ͖͍ͯͳ͍ →ؔ౦ʹߦͬͨࡍʹSuicaΛൢച͓ͯ͠ΒͣߪೖͰ͖ͳ͔ͬͨ JR౦ຊͳͲʹΑΔͱ”ੈքతͳಋମෆͷӨڹ” ISOن֨(ISO/IEC 18092) ͳͷͰଟಡΈऔΕΔϋζ... https://www.jreast.co.jp/press/2023/20230731_ho02.pdf
ࠓޙͷ՝ શࠃڞ௨Ҏ֎ͷͷ(OKICAͳͲ) →12B͔͠ͳ͘ղੳͰ͖ͳ͔ͬͨ ࣋ͬͯΔͷ͕ར༻ྺͳ͍ͷͰͦΕ͕ݪҼʁ ԭೄʹߦ͔ͳ͍ͱݕূͰ͖ͳ͍... ࠓճͷ࣮ͩͱར༻ྺ͕͋ΕಡΈऔΕΔՄೳੑ͕͋Δ ࣮ࡍGoogle Playʹ͋ͬͨΞϓϦ͔ΒಡΈऔΔ͜ͱ͕Ͱ͖ͨ
·ͱΊ - FlutterͰNFCಡΈऔΓ͕Ͱ͖Δ - ަ௨ܥIC͔Βฦ͞ΕΔ16όΠτͷσʔλΛ29όΠτʹม͢Δ͜ͱͰߴΛ ܭࢉͰ͖Δ - iOSFlutterύοέʔδ͔Βಈ͔͢ΑΓSwiftΛͬͨ΄͏͕࣮֬ - OKICAͳͲͷڞ௨ICΧʔυҎ֎Ͱͷݕূ͕՝
ίʔυͱهࣄ Flutterίʔυ(❌iOS) https://github.com/pochipochi-tudoi/nfc_app/blob/main/lib/main.dart ৄ͘͠Zennͷهࣄʹॻ͍ͯ·͢ [Flutter]NFCಡΈऔΓͰ༡Ϳ: https://zenn.dev/pochipochitudoi/articles/5c69b76747cb56
None