Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WWDCに学ぶライブコーディングwithCoreNFC/livecoding_with_wwd...
Search
fromkk
June 30, 2017
Programming
2
3.2k
WWDCに学ぶライブコーディングwithCoreNFC/livecoding_with_wwdc_and_corenfc
LIFULLさんのWWDC - Developer's Livingというイベントで発表した内容です。
fromkk
June 30, 2017
Tweet
Share
More Decks by fromkk
See All by fromkk
note社の全員野球で品質向上活動について / note_qa_challenge #iOS_test_teatime
fromkk
3
1.8k
1年分のデータが見たいと言われてやったこと/yearly_data_with_note
fromkk
0
890
note iOSチームの自動化 ver.2021/automation_with_iOS_team_on_note_ver2021
fromkk
0
1.9k
Bitrise体験会説明資料/bitrise_explore
fromkk
1
1k
noteのiOSアプリで実装したアクセシビリティの全て #iosdc #a /a11y_with_iOS_App_on_note
fromkk
2
3.4k
dSYMのアップロードで SPMを活用する/use_spm_with_upload_dsyms
fromkk
1
2.6k
Bitriseのリモートアクセス機能 #bitrise_meetup/remote_access_of_bitrise
fromkk
1
520
note社でのMagic Pod活用事例 #af_iosdc/magicpod_with_note
fromkk
2
10k
iOSには無いmacOS独自機能をCatalystで実装する #iosdc #d/make_macos_apps_with_catalyst
fromkk
9
2k
Other Decks in Programming
See All in Programming
初めてDefinitelyTypedにPRを出した話
syumai
0
410
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
610
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Statistics for Hackers
jakevdp
796
220k
Building Adaptive Systems
keathley
38
2.3k
What's in a price? How to price your products and services
michaelherold
243
12k
The Invisible Side of Design
smashingmag
298
50k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Navigating Team Friction
lara
183
14k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Designing for humans not robots
tammielis
250
25k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Transcript
WWDCʹֶͿϥΠϒίʔ σΟϯά (+CoreNFC) WWDC - Developer's Living 2017/06/30 1
Profile Kazuya Ueoka Timers inc.ͷiOSΤϯδχΞ Twitter: @fromkk Github: fromkk Qiita:
fromkk 2
օ͞Μ͏WWDCͰൃද ͞Εͨ৽ػೳνΣοΫ ͯ͠·͢ΑͶʁ 3
طʹຊޠͰͷࢿྉ͔ ͳΓଟ͍ͷͰԿൃද͢Ε ྑ͍Μͩ 4
͍͔ͭ͘ൃද͖ͯ͠·ͨ͠ 4 Swift 4͔Β࣮͞ΕΔCodable at AKIBA.swift 4 # Type ʹDrag
and Dropͷ࣮Λͯ͠Έͨ at WWDC After Party @Ebisu 4 Depth APIͰ؆қΫϩϚΩʔ߹ at GEEK GARAGE iOS vol3 5
͕ 6
ϥΠϒίʔσΟϯάͬͯ ϋʔυϧߴ͍ 7
۩ମతʹ 4 ొஃͬͯۓு͢Δ 4 ϛε͖ͭͷ 4 ൃද͢Δ͔Βʹ͏·͘Γ͍ͨ 8
ϥΠϒίʔσΟϯά͢Δ࣌ͬͯ 4 Ұ୴खݩͷXcodeͰͤ͞Δ 4 ͍ͨ͠༰ʹԊͬͯଞͷςΩετΤσΟλʹΧοτˍ ϖʔετ 4 ొஃ͢Δ࣌ʹॱ൪ʹίϐϖ Έ͍ͨͳΠϝʔδʢθϩ͔Βॻ͍͍ͯΔํଞͷํ๏ͷํ ͨ͘͞Μ͍Βͬ͠Ό͍·͢ʣ
9
WWDCϥΠϒίʔσΟϯάͰͷൃදͷๅݿ Ή͠Ζ͜ΜͳʹϥΠϒίʔσΟϯάͷൃද͕ଟ͍ΧϯϑΝϨϯ ε͍͠ؾ͕͢Δ 10
ͦͷதͰ 227 Data Delivery with Drag and Drop ͷTanu Singhal͞ΜͷϥΠϒίʔσΟϯάͷํ๏ʹײΛड
͚ͨͷͰհ͠·͢ 11
ख๏؆୯ 12
ίϝϯτʹ൪߸ΛৼͬͯίʔυεχϖοτͷγϣʔτΧοτʹಉ͡൪߸Λৼ͓͚ͬͯͩ͘ 13
Xcodeͷίʔυεχϖοτͷొํ ๏ 4 ͍͔ͭ͋͘Δ͕ઌʹίʔυΛॻ͍ͯίʔυεχϖοτͷ ॴʹυϥοά&υϩοϓ͕؆୯ 4 Completion shortcut Λઃఆ͢Εݺͼग़͠؆୯ 14
͓·͚ 15
CoreNFC 4 WWDCظؒதεέδϡʔϧʹະܝࡌ͕ͩηογϣϯಈը ͷΈެ։ 4 iOS 11͔Βղ์͞ΕͨಡΈऔΓͷػೳͷΈͷframework 4 ରԠܗࣜ: NDEF
4 λά1ʙ5ʹରԠ 4 ݱ࣌ͰiPhone 7ͱ7 PlusͷΈରԠ 16
ར༻ํ๏ 4 iTunes ConnectͰAppIDͷNFC Tag ReadingΛONʹ͢ Δ 17
ར༻ํ๏ 4 EntitlementsʹҎԼΛՃ <key>com.apple.developer.nfc.readersession.formats</key> <array> <string>NDEF</string> </array> 18
ར༻ํ๏ 4 Info.plistʹҎԼΛՃͯ͠ϢʔβʔʹڐՄΛಘΔ <key>NFCReaderUsageDescription</key> <string>Scan NFC tags message!</string> 19
ར༻ํ๏ import CoreNFC let session = NFCNDEFReaderSession(delegate: self, queue: nil,
invalidateAfterFirstRead: true) session.begin() 20
ར༻ํ๏ extension NFCViewController: NFCNDEFReaderSessionDelegate { func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs
messages: [NFCNDEFMessage]) { messages.forEach { (message) in message.records.forEach { let payload: String = String(data: $0.payload, encoding: .utf8) ?? "" print("payload", payload) } } } func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) { print(error) } } 21
Recap 4 ϥΠϒίʔσΟϯάʹXcodeͷίʔυεχϖοτΛ׆༻ ! 4 ίϝϯτʹॱ൪Λهࡌͯ͠ίʔυεχϖοτͷγϣʔτ Χοτͱ߹ΘͤΔͱϛε͠ʹ͍͘" 4 ίϝϯτΛಡΉ͚ͩͰ؆୯ͳઆ໌͕ग़དྷΔ# 4
CoreNFCλάΛಡΉ͚ͩͳΒ؆୯$ 22
͜ΕͰϥΠϒίʔσΟϯάා͘ͳ͍! 23
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠! 24