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
630
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.7k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
600
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
3.9k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
350
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
89
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
300
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
310
Other Decks in Technology
See All in Technology
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
1
160
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
300
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
340
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
1
310
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
150
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
930
Connect 100+を支える技術
kanyamaguc
0
150
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
140
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
220
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
170
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
0
150
ビギナーであり続ける/beginning
ikuodanaka
2
240
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
4 Signs Your Business is Dying
shpigford
184
22k
How GitHub (no longer) Works
holman
314
140k
A Modern Web Designer's Workflow
chriscoyier
694
190k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Bash Introduction
62gerente
614
210k
The Invisible Side of Design
smashingmag
300
51k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Unsuck your backbone
ammeep
671
58k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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