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
スクショから始まるデバッグについて
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Toshihiro Morimoto
September 27, 2014
Technology
3.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スクショから始まるデバッグについて
yidev#16 の発表です
Toshihiro Morimoto
September 27, 2014
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.6k
魅せるデバッグ技術
dealforest
4
1.6k
LLDB の世界からみた Swift
dealforest
4
5.6k
Xcode で快適なデバッグライフを追い求める
dealforest
29
25k
Intrducing debug in WWDC2016
dealforest
3
840
swift build と Xcode での Build の違い
dealforest
3
2.2k
RIP Xcode Plugin 🙏
dealforest
0
4.9k
Introducing Xcode Editor Extension
dealforest
2
4.7k
Introducing Anglerfish
dealforest
2
3.6k
Other Decks in Technology
See All in Technology
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
240
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
120
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.3k
AI de Idea
kawaguti
PRO
2
130
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
340
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
事業課題から技術的負債に向き合う
sansantech
PRO
2
2k
What the customer really needed
kawaguti
PRO
3
210
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.5k
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
170
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.4k
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
A Tale of Four Properties
chriscoyier
163
24k
Practical Orchestrator
shlominoach
192
12k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Producing Creativity
orderedlist
PRO
348
41k
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3k
Writing Fast Ruby
sferik
630
63k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Unsuck your backbone
ammeep
672
58k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Transcript
εΫγϣ͔Β࢝·Δσόοάʹ͍ͭͯ 2014/09/27 yidev #16 @dealforest Toshihro Morimoto
ࣗݾհ http://about.me/dealforest ! ! iOS App / Web Application(perl, ruby)
@dealforest Toshihro Morimoto
ͦͦ σόοά͢Δ࣌ͲΜͳͱ͖ʁ
ҙਤͨ͠ڍಈͱҧ͏ͱ͖ʂʂ
։ൃͷαΠΫϧ 1. iPhone Simulator 2. ࣮ػ 3. CI 4. Adhock
Ͱ 5. TestFlight ͰϦϦʔεલʹΠϯετʔϧ 6. AppStore ͔ΒΠϯετʔϧ
։ൃͷαΠΫϧ 1. iPhone Simulator 2. ࣮ػ 3. CI 4. Adhock
Ͱ 5. TestFlight ͰϦϦʔεલʹΠϯετʔϧ 6. AppStore ͔ΒΠϯετʔϧ
։ൃͷαΠΫϧ 1. iPhone Simulator 2. ࣮ػ 3. CI 4. Adhock
Ͱ 5. TestFlight ͰϦϦʔεલʹΠϯετʔϧ 6. AppStore ͔ΒΠϯετʔϧ қ
σόοάͷαΠΫϧ
σόοάͷαΠΫϧ 1. σόοάͷͨΊͷใΛݩʹͯ͠ όάͷݪҼΛਪଌ͢Δ
σόοάͷαΠΫϧ 1. σόοάͷͨΊͷใΛݩʹͯ͠ όάͷݪҼΛਪଌ͢Δ 2. όάΛ࠶ݱͤ͞Δ
σόοάͷαΠΫϧ 1. σόοάͷͨΊͷใΛݩʹͯ͠ όάͷݪҼΛਪଌ͢Δ 2. όάΛ࠶ݱͤ͞Δ 3. Let’s debug…debug…debug!!!
όάͷݪҼΛਪଌ͠Α͏ʹ ใ͕Կͳ͍ͱצͰௐΔ͔͠ͳ͍
Δؾ͕͓͖ͳ͍…
ͨ࣌͠ σόοάͷͨΊͷใ͕ ͞Βʹগͳ͍ʂʂʂ
ͨ࣌͠ͷσόοάͷΈ
ͨ࣌͠ͷσόοάͷΈ • print debug break point ʹΑΔσόο ά͕΄΅ෆՄೳ
ͨ࣌͠ͷσόοάͷΈ • print debug break point ʹΑΔσόο ά͕΄΅ෆՄೳ •
ใʹґଘ͍ͯ͠Δ߹ɺঢ়گΛ ਪଌͯ͠σόοά͠ͳ͍ͱ͍͚ͳ͍
ͨ࣌͠ͷσόοάͷΈ • print debug break point ʹΑΔσόο ά͕΄΅ෆՄೳ •
ใʹґଘ͍ͯ͠Δ߹ɺঢ়گΛ ਪଌͯ͠σόοά͠ͳ͍ͱ͍͚ͳ͍ • όά͕࠶ݱՄೳͳͰσόοάͰ͖ ΔΘ͚Ͱͳ͍
ͭΒ͍…
ͱ͍͑ ใ͕গͳ͍͚Ͳόά͕ ࠶ݱͰ͖ΕͲ͏ʹ͔ͳΔʂ
ͨͩʹґଘͨ͠ΓͰ ࠶ݱ͠ͳ͔ͬͨΓ͢Δͷ͕ݱ࣮
ͨ͠ࡍʹͲ͏ͬͯ σόοάͷͨΊͷใΛऩू͢Δ͔
Crash Report ͷऩू
Crash Report ͷऩू • Crash Report ղੳαʔϏεΛָ͑ʹूΊΕΔ
Crash Report ͷऩू • Crash Report ղੳαʔϏεΛָ͑ʹूΊΕΔ • Clashlitics, Bugsnag
ͳͲ
Crash Report ͷऩू • Crash Report ղੳαʔϏεΛָ͑ʹूΊΕΔ • Clashlitics, Bugsnag
ͳͲ • ͱ͍͑ΞϓϦ͕ Crash ͠ͳ͍ͱू·Β͍ͷ͕ ։ൃऀͱͯ͠ Crash ͯ͠΄͘͠ͳ͍
iOS ͷ Framework Ͱൃੜͨ͠ NSError, NSException ͷऩू
iOS ͷ Framework Ͱൃੜͨ͠ NSError, NSException ͷऩू • Social.framework
IAP Λར༻͍ͯ͠Δ߹ɺ ଆʹ͔͠ใ͕ͳ͍ͷͰ͋Εͱͯॿ͔Δ
iOS ͷ Framework Ͱൃੜͨ͠ NSError, NSException ͷऩू • Social.framework
IAP Λར༻͍ͯ͠Δ߹ɺ ଆʹ͔͠ใ͕ͳ͍ͷͰ͋Εͱͯॿ͔Δ • Ͳͧ͜ͷ SDK ͕ Crash ͢ΔͷͰ Try-Catch ͯ͠ Crash ͠ͳ͍Α͏ʹͯ͠ใΛूΊΔ
iOS ͷ Framework Ͱൃੜͨ͠ NSError, NSException ͷऩू • Social.framework
IAP Λར༻͍ͯ͠Δ߹ɺ ଆʹ͔͠ใ͕ͳ͍ͷͰ͋Εͱͯॿ͔Δ • Ͳͧ͜ͷ SDK ͕ Crash ͢ΔͷͰ Try-Catch ͯ͠ Crash ͠ͳ͍Α͏ʹͯ͠ใΛूΊΔ • Crash Report ղੳαʔϏεͰҙͷλΠϛϯάͰϨ ϙʔτΛૹ৴Ͱ͖Δػೳ͕͋Ε؆୯ʹूΊΕΔ
iOS ͷ Framework Ͱൃੜͨ͠ NSError, NSException ͷऩू • Social.framework
IAP Λར༻͍ͯ͠Δ߹ɺ ଆʹ͔͠ใ͕ͳ͍ͷͰ͋Εͱͯॿ͔Δ • Ͳͧ͜ͷ SDK ͕ Crash ͢ΔͷͰ Try-Catch ͯ͠ Crash ͠ͳ͍Α͏ʹͯ͠ใΛूΊΔ • Crash Report ղੳαʔϏεͰҙͷλΠϛϯάͰϨ ϙʔτΛૹ৴Ͱ͖Δػೳ͕͋Ε؆୯ʹूΊΕΔ • ։ൃऀ͕໌ࣔతʹઃఆ͢ΔͷͰͲ͜ͰΤϥʔ͕ى͖ ͯΔ͔͕Ѳ͍͢͠
εΫγϣΛࡱͬͯڞ༗
εΫγϣΛࡱͬͯڞ༗ • σβΠφʔͷσβΠϯͱҧ͏
εΫγϣΛࡱͬͯڞ༗ • σβΠφʔͷσβΠϯͱҧ͏ • Ϣʔβʔ͕ҙਤͨ͠ڍಈͱζϨ͕ੜͯ͡Δ
εΫγϣΛࡱͬͯڞ༗ • σβΠφʔͷσβΠϯͱҧ͏ • Ϣʔβʔ͕ҙਤͨ͠ڍಈͱζϨ͕ੜͯ͡Δ • σʔλͷෆ߹͕ى͖ͯΔ
εΫγϣΛࡱͬͯڞ༗ • σβΠφʔͷσβΠϯͱҧ͏ • Ϣʔβʔ͕ҙਤͨ͠ڍಈͱζϨ͕ੜͯ͡Δ • σʔλͷෆ߹͕ى͖ͯΔ • Τϥʔϝοηʔδ(ίʔυ)ΛΈͤΔͨΊ
ͦͷଞ
ͦͷଞ • ࣾͰޱ಄νϟοτͰݴΘΕΔ
ͦͷଞ • ࣾͰޱ಄νϟοτͰݴΘΕΔ • Ϣʔβʔ͔Βͷ͍߹Θͤ(Helpshiftͱ͔)
ͦͷଞ • ࣾͰޱ಄νϟοτͰݴΘΕΔ • Ϣʔβʔ͔Βͷ͍߹Θͤ(Helpshiftͱ͔) • AppStore ͷϨϏϡʔ
ͦͷଞ • ࣾͰޱ಄νϟοτͰݴΘΕΔ • Ϣʔβʔ͔Βͷ͍߹Θͤ(Helpshiftͱ͔) • AppStore ͷϨϏϡʔ • SNS
ͰΤΰαʔν
ݱঢ়͜Μͳײ͔͡ͳͱ
ͯ͞ɺ͔͜͜Β͕ຊͰ͢
͋ͳͨ Twitter ࣾͰ ΞϓϦΛ࡞͍ͯ͠·͢
◦◦͕όάͬͯΜ͚ͩͲͬͯ ͜ΜͳεΫγϣΛૹΒΕ͖ͯ·ͨ͠
͜Ε͔Βਪଌ͠ͳ͍ͱ͍͚ͳ͍
͜Ε͔Βਪଌ͠ͳ͍ͱ͍͚ͳ͍ • ͓·͑ɺͩΕʁ (Identifier తͳҙຯͰ)
͜Ε͔Βਪଌ͠ͳ͍ͱ͍͚ͳ͍ • ͓·͑ɺͩΕʁ (Identifier తͳҙຯͰ) • API ଆ͕ݪҼʁ ͦΕͱΞϓϦଆʁ
͜Ε͔Βਪଌ͠ͳ͍ͱ͍͚ͳ͍ • ͓·͑ɺͩΕʁ (Identifier తͳҙຯͰ) • API ଆ͕ݪҼʁ ͦΕͱΞϓϦଆʁ •
͍·Έ͑ͯΔ Cell Λߏஙͯ͠ Δσʔλ͕Έ͍ͨ
͜Ε͔Βਪଌ͠ͳ͍ͱ͍͚ͳ͍ • ͓·͑ɺͩΕʁ (Identifier తͳҙຯͰ) • API ଆ͕ݪҼʁ ͦΕͱΞϓϦଆʁ •
͍·Έ͑ͯΔ Cell Λߏஙͯ͠ Δσʔλ͕Έ͍ͨ • ͜Ε࠶ݱͰ͖Δ͔ͳ…
ਪଌͯ͠ใΛूΊͳ͍ͱ͍͚ͳ͍
ͭΒ͍…
ͦͦϢʔβʔͷͨΊʹ ද͍ࣔͯ͠Δը໘ͳΜ͔ͩΒ σόοάʹඞཁͳใ΄΅ͳ͍
σόοάͷαΠΫϧ 1. όάͷݪҼਪଌ 2. όάͷ࠶ݱ 3. debug…debug…debug!!!
σόοάͷαΠΫϧ 1. όάͷݪҼਪଌ͢ΔͨΊͷใΛը૾ ͔ΒಡऔΔ 2. όάͷݪҼਪଌ 3. όάͷ࠶ݱ 4. debug…debug…debug!!!
εΫγϣ͔ΒۭؾΛಡΜͰ Կσόοά͢Δ͕ ຊʹΊΜͲ͏͍͘͞ʂʂʂʂ
print debug break point Λ ͑ΔͳΒ؆୯ʹ ใΛूΊΕΔͷʹ…
ʂʂʂʂʂʂʂʂʂʂʂʂʂʂʂ
ͦΕͳΒεΫγϣΛࡱͬͨ࣌ʹ σόοάʹඞཁͳใΛ Ұॹʹը૾ͱͯ͠ग़ྗ͢Ε͍͍ʂ
! DFTDebugScreenshot http://github.com/dealforest/DFTDebugScreenshot
Install pod ‘DFTDebugScreenshot’
Usage
DEMO
Ԡ༻
Ԡ༻ • AutoLayout Ͱ UIView ʹઃఆ͍ͯ͠Δ Constraints Λ ग़ྗ͢Δ͜ͱͰ͖Δ
Ԡ༻ • AutoLayout Ͱ UIView ʹઃఆ͍ͯ͠Δ Constraints Λ ग़ྗ͢Δ͜ͱͰ͖Δ •
UIWebView Ͱ࡞͍ͬͯΔΞϓϦͰɺjs ͷใ(ม , ϒϥβͷใ)Λग़ྗ͢Δ͜ͱͰ͖Δ
Ԡ༻ • AutoLayout Ͱ UIView ʹઃఆ͍ͯ͠Δ Constraints Λ ग़ྗ͢Δ͜ͱͰ͖Δ •
UIWebView Ͱ࡞͍ͬͯΔΞϓϦͰɺjs ͷใ(ม , ϒϥβͷใ)Λग़ྗ͢Δ͜ͱͰ͖Δ • completionBlock ΛࠐΜͰ͓͘ͱεΫγϣΛࡱΔͱ εΫγϣͱσόοΫใΛ Slack S3 ϝʔϧͰ ࣗಈతʹૹ৴͜ͱͰ͖Δ
Ԡ༻ • AutoLayout Ͱ UIView ʹઃఆ͍ͯ͠Δ Constraints Λ ग़ྗ͢Δ͜ͱͰ͖Δ •
UIWebView Ͱ࡞͍ͬͯΔΞϓϦͰɺjs ͷใ(ม , ϒϥβͷใ)Λग़ྗ͢Δ͜ͱͰ͖Δ • completionBlock ΛࠐΜͰ͓͘ͱεΫγϣΛࡱΔͱ εΫγϣͱσόοΫใΛ Slack S3 ϝʔϧͰ ࣗಈతʹૹ৴͜ͱͰ͖Δ • ಛఆͷϢʔβʔ͚ͩσόοάใΛग़ྗ͢Δ͜ͱ Մೳ
TODO
TODO • ݱࡏදࣔ͞Ε͍ͯΔ UIViewController ͷ debugObject Λ͍ͭͰऔಘͰ͖ΔΑ͏ͳ interface ΛՃ͢ΔͭΓ
TODO • ݱࡏදࣔ͞Ε͍ͯΔ UIViewController ͷ debugObject Λ͍ͭͰऔಘͰ͖ΔΑ͏ͳ interface ΛՃ͢ΔͭΓ •
dealforest/DFTAwesomePrint Λ࡞͍ͬͯͯ debugObject Λ colorize ͯ͠ը૾ʹ͢ΔͭΓ
TODO • ݱࡏදࣔ͞Ε͍ͯΔ UIViewController ͷ debugObject Λ͍ͭͰऔಘͰ͖ΔΑ͏ͳ interface ΛՃ͢ΔͭΓ •
dealforest/DFTAwesomePrint Λ࡞͍ͬͯͯ debugObject Λ colorize ͯ͠ը૾ʹ͢ΔͭΓ • AccessToken cookie Λग़ྗͨ࣌͠ͷͨΊʹ҉߸Խ ͍ͨ͠(QRίʔυͱ͔ʁ)
TODO • ݱࡏදࣔ͞Ε͍ͯΔ UIViewController ͷ debugObject Λ͍ͭͰऔಘͰ͖ΔΑ͏ͳ interface ΛՃ͢ΔͭΓ •
dealforest/DFTAwesomePrint Λ࡞͍ͬͯͯ debugObject Λ colorize ͯ͠ը૾ʹ͢ΔͭΓ • AccessToken cookie Λग़ྗͨ࣌͠ͷͨΊʹ҉߸Խ ͍ͨ͠(QRίʔυͱ͔ʁ) • σόοΫ༻ը૾ͷσβΠϯ୭͔͍͍ײ͡ʹͯ͠w
·ͱΊ εΫγϣ͔Βσόοάʹ ඞཁͳใΛਪଌͤͣʹ ͙͢ʹݪҼಛఆʹͱΓ͔͔ΕΔ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠