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.2k
Enjoy Breakpoint
Swiftのビルドが遅いのでBreakpointを活用して、
アプリを止めずにできるだけデバッグ作業しようという話です。
Shingo Tamaki
February 11, 2017
Tweet
Share
More Decks by Shingo Tamaki
See All by Shingo Tamaki
tamaki
2
440
tamaki
0
72
tamaki
1
58
tamaki
5
1.1k
tamaki
4
2k
tamaki
0
220
tamaki
1
650
tamaki
2
440
tamaki
0
1.1k
Other Decks in Technology
See All in Technology
line_developers
PRO
0
2.2k
asaju7142501
0
360
yutamakotaro
1
190
shirayanagiryuji
0
2.2k
kanaugust
PRO
0
240
kraj
0
5.4k
kentaro
1
430
opdavies
0
1.6k
neo_analytics
1
1.1k
viva_tweet_x
5
2.7k
layerx
1
950
muras
0
110
Featured
See All Featured
brad_frost
156
6.4k
jonyablonski
14
1.1k
chriscoyier
780
240k
notwaldorf
13
1.6k
zenorocha
297
40k
cromwellryan
101
5.9k
trallard
13
640
garrettdimon
287
110k
afnizarnur
176
14k
phodgson
87
3.9k
3n
163
22k
philnash
8
500
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ಋೖ͍ͯ͠·ͤΜ!
Ҏ্