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
vs スクリーンレコーディング
Search
kazuhiro4949
February 16, 2018
Technology
0
640
vs スクリーンレコーディング
Mobile Act NAGOYA での発表資料
https://mobileact.connpass.com/event/77509/
kazuhiro4949
February 16, 2018
Tweet
Share
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.8k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
610
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
4.1k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
360
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
100
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
310
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
320
Other Decks in Technology
See All in Technology
re:Inventに行くまでにやっておきたいこと
nagisa53
0
750
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
14
82k
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
8
3.4k
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
640
DSPy入門
tomehirata
6
620
Retrospectiveを振り返ろう
nakasho
0
140
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
200
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
8
4.5k
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
190
Azure Well-Architected Framework入門
tomokusaba
1
150
AIを使ってテストを楽にする
kworkdev
PRO
0
290
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
490
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Why Our Code Smells
bkeepers
PRO
340
57k
How GitHub (no longer) Works
holman
315
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Faster Mobile Websites
deanohume
310
31k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Transcript
WTεΫϦʔϯϨίʔσΟϯά ,B[VIJSP)":"4)* .PCJMF"DU/"(0:"
ࣗݾհ w ྛ߂ w 5XJUUFSɿLB[VIJSP w (JUIVCɿLB[VIJSP w 2JJUBɿLB[VIJSP w
:BIPP+BQBO$PSQ w J04ΞϓϦΤϯδχΞ w J04ΞϓϦࠇଳ w /BHPZBJ04NFFUVQͱ͍͏ϛʔτΞοϓΛӡӦ͍ͯ͠·͢
εΫϦʔϯϨίʔσΟϯά w J04͔Βಋೖ͞Εͨ04ͷػೳ w ίϯτϩʔϧηϯλʔͷϘλϯ͔ Βɺը໘ૢ࡞ΛϫϯλοϓͰը Ͱ͖Δ εΫϦʔϯϨίʔσΟϯάϘλϯ ը໘ը͕։࢝͞ΕΔ
ศརͩʜ
͍ͪΐͬͱͯ
ϏσΦΦϯσϚϯυ 70% ʹ͓͚Δը w εΫϦʔϯϨίʔσΟϯά04ػೳͳͨΊεΫγϣͱಉ͡ ͘ΞϓϦͰ੍ޚෆೳ w ༗ྉίϯςϯπͰखܰʹըɾγΣΞͰ͖ͯ͠·͏
өը൪ͷࢹௌதըΛ ͯ͠΄͘͠ͳ͍߹Ͳ͏͢Δ͔
ίϯςϯπͷըΛ͙ํ๏ 6*4DSFFOͷ"1*Ͱݕग़͢Δ )551-JWF4USFBNJOHʢ)-4ʣͰ$POUFOU1SPUFDUJPOΛ࣮
ίϯςϯπͷըΛ͙ํ๏ 6*4DSFFOͷ"1*Ͱݕग़͢Δ )551-JWF4USFBNJOHʢ)-4ʣͰ$POUFOU1SPUFDUJPOΛ࣮
6*4DSFFOΛͬͯνΣοΫ w εΫϦʔϯ͕Ωϟϓνϟ͞Ε͍ͯΔͱϑϥάཱ͕ͭ w J04Ќ൛ͷ్த͔Βಋೖ͞Εͨ UIScreen.main.isCaptured // -> true or
false
/PUJpDBUJPO$FOUFSͰࢹ w εΫϦʔϯͷΩϟϓνϟ͕։࢝ɾऴྃ͞ΕΔͱ͜ͷ௨͕ඈͿ w J04Ќ൛ͷ࠷ޙͷํʹಋೖ͞Εͨ Notification.Name.UIScreenCapturedDidChange
όονϦͩͱࢥͬͨΒʜ w ͜ΕͰࢹௌதʹըͨ͠Β࠶ੜ ΛࢭΊͯΞϥʔτΛग़ͤΔɺΑ ͔ͬͨ w ʜͱࢥ͍ͬͯΔͱ"JS1MBZ$BTU ͕Ͱ͖ͳ͘ͳ͍ͬͯͨ IUUQTEFWFMPQFSTHPPHMFDPNDBTU IUUQTEFWFMPQFSBQQMFDPNBJSQMBZ
IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJTDSFFOJTDBQUVSFE ͖ͬ͞ͷJT$BQUVSFEʹҙॻ͖͕ w "1*%PDʹϛϥʔϦϯά"JS1MBZϑϥάΛཱͯΔͱॻ͍ͯ͋Δ w ·͔͞ͷըҎ֎ಓ࿈Εʹʜ
"JS1MBZɾ$BTUΛݕग़͢Δ w "71MBZFSͰ࠶ੜ͍ͯ͠ΔͷͰ͋Εɺ"JS1MBZ$BTUΛݕग़Մೳ w ͦͷ"1*ͱΈ߹Θͤͯʮϑϥάཱ͍ͬͯΔ͕ͦΕ"JS1MBZͰ ͳ͍ʯঢ়ଶΛݕग़ // player: AVPlayer UIScreen.main.isCaptured
&& !player.isExternalPlaybackActive
ϛϥʔϦϯάΛݕग़͢Δ w ϛϥʔϦϯά6*4DSFFOͷNJSSPSFEͰݕग़Մೳ w ࢼͯ͠ΈͨΒϛϥʔϦϯάதʹ6*4DSFFOͷΦϒδΣΫτ͕த ʹೖ͍ͬͯͨ UISCreen.screens.map { $0.mirrored }
ϛϥʔϦϯάத͔ͭըதͷݕग़͍͠ʁ w ͨͩ͠ϛϥʔϦϯά্Ͱಉ ࣌ʹ࠶ੜ͕͞ΕΔ w ઌͷϑϥάΛΈ߹Θͤͯϛϥʔ ϦϯάதͷըPOP⒎Θ͔Βͳ͍ JT$BQUVSFEৗʹUSVFʹͳΔͷͰ w
ํ๏͕ݟ͚ͭΒΕͣɺϛϥʔϦϯά ෆڐՄʹ͢Δ͔͠ͳ͍ʜ "JS1MBZ$BTU ϛϥʔϦϯά "JS1MBZத IUUQXXXTBNQMFWJEFPTDPN
ͱࢥ͍ͬͯͨΒ w J04͙Β͍͔ΒϛϥʔϦϯάதͦͦϨίʔσΟϯάϘλϯΛԡͤͳ ͍Α͏ʹมߋ͞Ε༷ͨ w ͬͯ͜ͱઌͷϑϥάΛݟͯϛϥʔϦϯάΛڐՄ͢Εେৎʜ
ίϯςϯπͷըΛ͙ํ๏ 6*4DSFFOͷ"1*Ͱݕग़͢Δ )551-JWF4USFBNJOHʢ)-4ʣͰ$POUFOU1SPUFDUJPOΛ࣮
͜͜·ͰͰͨͬͯͨΒʜ w IUUQTEFWFMPQFSBQQMFDPNTUSFBNJOHGQT ͜ͷެࣜࢿྉ͕શͯͰ͢ʂʂʂ
·ͩ࣌ؒ͋Γͦ͏ͩͬͨΒ
'BJS1MBZ4USFBNJOH '14 w '14ͱ͍͏ͷ͏ͱ)-4ͷίϯςϯπΛϓϩςΫτͰ͖Δ w ίϯςϯπΛ҆શʹ҉߸Խɾෳ߹Խ͢Δ伴ͷΓऔΓͷͨΊͷΈ w ըͨ͠'14ͷίϯςϯπΛ࠶ੜͨ͠߹ɺͦͷ෦͚ͩը͕Ͱ͖͍ͯͳ ͍ঢ়ଶʹͳΔͬΆ͍
ਖ਼֬ʹ͙ʹ͜Ε͕Ұ൪͍͍ʁ w ͿͬͪΌ͚͜Ε͕Ұ൪ਖ਼͍͠બ w ͨͩ͠ɺ͙͢৴Λ༻ҙͰ͖ͳ͍߹ΫϥΠΞϯτଆͰରԠ͢Δͷ͕ݱ࣮త ʹָ
҉߸ԽͷͨΊʹ,FZ4FSWFSΛ༻ҙ͢Δ w ίϯςϯπΛऔಘͯ͠"7'PVOEBUJPO ʹ͢ͱ伴Λཁٻ͞ΕΔ w ,FZTFSWFS伴ΛϦΫΤετ w 04͕ɺͦͷ伴Ͱ$POUFOU4FSWFSͷ҉ ߸ԽίϯςϯπΛ%FDSZQU w
ৄࡉIUUQTEFWFMPQFSBQQMFDPN TUSFBNJOHGQT '14ରԠΞϓϦ 04 ,FZ4FSWFS $POUFOU4FSWFS
ͦͯ͠Βͳ͍͏ͪʹຊ͕݅ 5FDIOJDBM2"ʹͳ͍ͬͯͨ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOURBRB@JOEFYIUNM
ΑΓཧͨ͠༰2JJUBॻ ͖·ͨ͠ J04͔Βࡌ͞ΕΔεΫϦʔϯϨίʔσΟϯάͰͷըΛݕग़͢Δํ๏ 2JJUB IUUQTRJJUBDPNLB[VIJSPJUFNTFGECCFDBDFF
IUUQTOBHPZBJPTNFFUVQDPOOQBTTDPN ݄ʹ/BHPZBJ04NFFUVQͷୈ̎ճΛ։࠵͢Δ༧ఆͳͷͰੋඇάϧʔϓʹ͝ࢀՃ͍ͩ͘͞ʂ એ
ࢀߟࢿྉ w <>JT$BQUVSFE6*4DSFFO "QQMF%FWFMPQFS%PDVNFOUBUJPO IUUQTEFWFMPQFSBQQMFDPN EPDVNFOUBUJPOVJLJUVJTDSFFOJTDBQUVSFE w <>JT&YUFSOBM1MBZCBDL"DUJWF"71MBZFS "QQMF%FWFMPQFS%PDVNFOUBUJPO IUUQT
EFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBWGPVOEBUJPOBWQMBZFSJTFYUFSOBMQMBZCBDLBDUJWF w <>6*4DSFFO$BQUVSFE%JE$IBOHF/PUJpDBUJPO6*,JU "QQMF%FWFMPQFS IUUQTEFWFMPQFSBQQMFDPN EPDVNFOUBUJPOGPVOEBUJPOOTOPUJpDBUJPOOBNFVJTDSFFODBQUVSFEEJEDIBOHF w <>$POUFOU1SPUFDUJPOGPS)551-JWF4USFBNJOH 88%$ IUUQTEFWFMPQFSBQQMFDPN WJEFPTQMBZXXED UJNF w <>5FDIOJDBM2"2"3FTQPOEJOHUPTDSFFODBQUVSFJOJ04 "QQMF%FWFMPQFS IUUQT EFWFMPQFSBQQMFDPNMJCSBSZDPOUFOURBRB@JOEFYIUNM w <>'BJS1MBZ4USFBNJOH "QQMF%FWFMPQFS IUUQTEFWFMPQFSBQQMFDPNTUSFBNJOHGQT