Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Enjoy Breakpoint
Shingo Tamaki
February 11, 2017
Technology
8
1.3k
Enjoy Breakpoint
Swiftのビルドが遅いのでBreakpointを活用して、
アプリを止めずにできるだけデバッグ作業しようという話です。
Shingo Tamaki
February 11, 2017
Tweet
Share
More Decks by Shingo Tamaki
See All by Shingo Tamaki
詳解xcresult.pdf
tamaki
0
140
メルペイでのリグレッションテスト自動化推進のこれまでとこれから
tamaki
0
340
What do you want to test with UI Test v2
tamaki
2
600
JPQRによって変わる日本のQRコード決済
tamaki
0
110
What's New in Testing
tamaki
1
58
What do you want to test with UI Test
tamaki
5
1.3k
How to control state in UI Test
tamaki
4
2.2k
Asynchronous Testing in XCTest
tamaki
0
290
What is iOSSnapshotTestCase
tamaki
1
760
Other Decks in Technology
See All in Technology
今 SLI/SLO の監視をするなら Sloth が良さそうという話
shotakitazawa
1
280
漫画で使えそうな背景画像をblenderを使って作ってみた!
nokonoko1203
1
260
Step-by-Step MLOps and Microsoft Products
shisyu_gaku
1
530
hey BOOK
heyinc
26
290k
塩漬けにしているMySQL 8.0.xxをバージョンアップしたくなる、ここ数年でのMySQL 8.0の改善点 / MySQL Update 202208
yoshiakiyamasaki
1
630
cobra は便利になっている
nwiizo
0
140
ECS on EC2 で Auto Scaling やってみる!
sayjoy
1
150
質の良い”カイゼン”の為の質の良い「振り返り」
shirayanagiryuji
0
120
DevelopersIO 2022 俺のTerraform Pipeline
takakuni
0
430
20220731 如何跟隨開源技術保持你的職涯發展
pichuang
0
120
ソフトバンクaPaaS領域への挑戦
sbtechnight
0
310
DBRE 活動と information_schema
_awache
0
260
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
213
7.6k
Producing Creativity
orderedlist
PRO
334
37k
4 Signs Your Business is Dying
shpigford
169
20k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Done Done
chrislema
174
14k
Building Applications with DynamoDB
mza
84
4.8k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Why Our Code Smells
bkeepers
PRO
324
55k
A designer walks into a library…
pauljervisheath
196
16k
Design by the Numbers
sachag
271
17k
Building an army of robots
kneath
298
40k
Documentation Writing (for coders)
carmenintech
48
2.6k
Transcript
ENJOY BREAKPOINT
ࣗݾհ
ࣗݾհ ۄ৴ޛ iOS Engineer! झຯ" ిࢠ࡞⚡ ےτϨ$ ΨδΣοτ%
! SWIFTͷϏϧυ ͍Ͱ͢ΑͶ "
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPS ࣄલ४උ > xcprofilerͳͲͰܭଌ https://github.com/giginet/xcprofiler
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPS ઃఆϨϕϧ > Optimization Level >
ϏϧυฒྻԽ > SWIFTWHOLEMODULE_OPTIMIZATION
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPS ίʔυϨϕϧ > ܕਪͤ͞ͳ͍! > +ΑΓappend
> ??(nil݁߹ԋࢉࢠ)Λ༻͠ͳ͍
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPS http://qiita.com/you_matz/items/e95f30023eccc8d96357 http://sssslide.com/speakerdeck.com/naoto0n2/ buildshi-jian-gai-shan
ରԠ͢ΔͭΓɺ Ͱ༏ઌλεΫ͕ɻ
ͦΜͳ࣌ظͷ ։ൃʹཱͭ BREAKPOINTͷTIPS
جຊత ͳ͍ํ
جຊతͳ͍ํ > ࢭΊ͍ͨॲཧͷߦͷࠨଆΛΫϦοΫͯ͠ϒ ϨΠΫϙΠϯτΛՃ
লུ
EDIT BREAKPOINT
EDIT BREAKPOINT Condition ࣮ߦ݅ ex) foo == bar Ignore ϒϨΠΫͷແࢹճ
ex) ϧʔϓॲཧͰ5ճͷ͚࣌ͩࢭΊ͍ͨ Action ޙड़ Options Action࣮ߦޙʹϒϨΠΫͤ͞ͳ͍ ex) ActionͰϩάग़ྗͳͲΛͤ͞ଓ͚͍ͨ࣌ͳͲ
ACTION Apple Script Apple Scriptͷ࣮ߦ͕Մೳ ex) ௨ηϯλʔʹNotificationΛඈ͢ Capture GPU Frame
OpenGL ESͷඳըঢ়گͷ֬ೝͳͲʹ͏ Debugger Command LLDBίϚϯυͷ࣮ߦ͕Մೳ Log Message γϯϓϧͳςΩετͷϩάग़ྗ͕Մೳ Shell Command γΣϧʹΑΔίϚϯυͷ࣮ߦ͕Մೳ Sound αϯυͷ࠶ੜ͕ઃఆՄೳ
ACTION ΞΫγϣϯෳՃՄೳ
LOG MESSAGE ୯७ͳϩάग़ྗΛߦ͍͍ͨ࣌ ͳͲʹศར ίϯιʔϧͷग़ྗ ಡΈ্͛ԻͰग़ྗͰ͖Δ ίʔυ্ͷมΛ@hoge@ͷΑ͏ͳ ܗͰࢦఆͰ͖ͨΓɺ%BͰϒϨΠΫϙΠϯτ໊ɺ %HͰϒϨΠΫϙΠϯτͷ࣮ߦճ͕දࣔ͞Ε·͢ɻ Title:
"Books" viewDidLoad() 1
DEBUG COMMAND po foo po bar = foo env DEBUG=1
bt ..etc https://lldb.llvm.org/lldb-gdb.html
DEBUG COMMAND CHISEL facebookͷLLDBίϚϯυू https://github.com/facebook/chisel pvc : ViewController֊Λίϯιʔϧʹग़ྗ pviews :
View֊Λίϯιʔϧʹग़ྗ border/unborder : ରͷViewʹϘʔμʔΛඳը ...etc
APPLE SCRIPT osascript -e 'display notification "Hello World"'
APPLE SCRIPT MAC AUTOMATION SCRIPTING GUIDE https://developer.apple.com/library/ content/documentation/ LanguagesUtilities/Conceptual/ MacAutomationScriptingGuide/
index.html#//apple_ref/doc/uid/ TP40016239-CH56-SW1
BREAKPOINTͷڞ༗ Share BreakpointͰνʔϜͰڞ༗ Մೳ ׂͱαΫοͱফ͞ΕΔࣄ͋ ΔͷͰॏ༻͢Δ͜ͱগͳ͍ ͔ͳͱࢥ͍·͢...
BREAKPOINTͷڞ༗ READINGMARKER.XCWORKSPACE/XCSHAREDDATA/XCDEBUGGER/ BREAKPOINTS_V2.XCBKPTLIST <?xml version="1.0" encoding="UTF-8"?> <Bucket type = "3"
version = "2.0"> <Breakpoints> <BreakpointProxy BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> <BreakpointContent shouldBeEnabled = "Yes" ignoreCount = "0" continueAfterRunningActions = "Yes" filePath = "ReadingMarker/ViewControllers/HomeViewController.swift" timestampString = "508462948.98439" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" startingLineNumber = "21" endingLineNumber = "21" landmarkName = "viewDidLoad()" landmarkType = "7"> <Actions> <BreakpointActionProxy ActionExtensionID = "Xcode.BreakpointAction.Log"> <ActionContent message = "Log Message" conveyanceType = "0"> </ActionContent> </BreakpointActionProxy> </Actions> </BreakpointContent> </BreakpointProxy> </Breakpoints> </Bucket>
BREKPOINTΛ׆༻͢Δͱྑ͍ ࠶ϏϧυͷճΛݮΒͤΔ⤵ ɾσόοάͷͨΊͷίʔυΛॻ͍ͯ࠶Ϗϧυ͠ͳͯ͘ྑ͍ ɾ࣮ߦதͰϩάͷࠩ͠ࠐΈՄೳ
ΑΓָʹͳΔϓϥάΠϯ Tuna https://speakerdeck.com/dealforest/mada-nslog- dexiao-hao-siteirufalse
ࢀߟจݙ ΄΅શ෦ࡌͬͯ·͢!
એ
2/21 FASTLANEษڧձ https://fastlane.connpass.com/event/49623/
3/13 IOS TEST NIGHT https://testnight.connpass.com/event/49561/
YAHOO HACK DAYग़͠·ͨ͠ɻ ʮͻͱ͖ʯ 3:30:11~3:31:49 https://www.youtube.com/watch?v=oJKTYEJkasU ※ ikesyo/Himotokiಋೖ͍ͯ͠·ͤΜ!
Ҏ্