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.7k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
610
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
4k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
350
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
97
大企業の最前線でコードを書き続けるためにやってきたこと
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
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
260
Language Update: Java
skrb
2
300
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
170
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
「Linux」という言葉が指すもの
sat
PRO
4
140
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
AWSで始める実践Dagster入門
kitagawaz
1
620
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.3k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
560
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
120
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
70
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
4 Signs Your Business is Dying
shpigford
184
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Bash Introduction
62gerente
615
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Balancing Empowerment & Direction
lara
3
620
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Site-Speed That Sticks
csswizardry
10
820
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
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