Swiftのビルドが遅いのでBreakpointを活用して、 アプリを止めずにできるだけデバッグ作業しようという話です。
ENJOYBREAKPOINT
View Slide
ࣗݾհ
ࣗݾհۄ৴ޛiOS Engineer!झຯ"ిࢠ࡞⚡ےτϨ$ΨδΣοτ%
! SWIFTͷϏϧυ͍Ͱ͢ΑͶ "
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPSࣄલ४උ> xcprofilerͳͲͰܭଌhttps://github.com/giginet/xcprofiler
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPSઃఆϨϕϧ> Optimization Level> ϏϧυฒྻԽ> SWIFTWHOLEMODULE_OPTIMIZATION
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPSίʔυϨϕϧ> ܕਪͤ͞ͳ͍!> +ΑΓappend> ??(nil݁߹ԋࢉࢠ)Λ༻͠ͳ͍
Α͘( ฉ | ޮ )͘SWIFTͷϏϧυߴԽTIPShttp://qiita.com/you_matz/items/e95f30023eccc8d96357http://sssslide.com/speakerdeck.com/naoto0n2/buildshi-jian-gai-shan
ରԠ͢ΔͭΓɺͰ༏ઌλεΫ͕ɻ
ͦΜͳ࣌ظͷ։ൃʹཱͭBREAKPOINTͷTIPS
جຊతͳ͍ํ
جຊతͳ͍ํ> ࢭΊ͍ͨॲཧͷߦͷࠨଆΛΫϦοΫͯ͠ϒϨΠΫϙΠϯτΛՃ
লུ
EDIT BREAKPOINT
EDIT BREAKPOINTCondition࣮ߦ݅ ex) foo == barIgnoreϒϨΠΫͷແࢹճex) ϧʔϓॲཧͰ5ճͷ͚࣌ͩࢭΊ͍ͨActionޙड़OptionsAction࣮ߦޙʹϒϨΠΫͤ͞ͳ͍ex) ActionͰϩάग़ྗͳͲΛͤ͞ଓ͚͍ͨ࣌ͳͲ
ACTIONApple ScriptApple Scriptͷ࣮ߦ͕Մೳex) ௨ηϯλʔʹNotificationΛඈ͢Capture GPU FrameOpenGL ESͷඳըঢ়گͷ֬ೝͳͲʹ͏Debugger CommandLLDBίϚϯυͷ࣮ߦ͕ՄೳLog MessageγϯϓϧͳςΩετͷϩάग़ྗ͕ՄೳShell CommandγΣϧʹΑΔίϚϯυͷ࣮ߦ͕ՄೳSoundαϯυͷ࠶ੜ͕ઃఆՄೳ
ACTIONΞΫγϣϯෳՃՄೳ
LOG MESSAGE୯७ͳϩάग़ྗΛߦ͍͍ͨ࣌ͳͲʹศརίϯιʔϧͷग़ྗಡΈ্͛ԻͰग़ྗͰ͖Δίʔυ্ͷมΛ@hoge@ͷΑ͏ͳܗͰࢦఆͰ͖ͨΓɺ%BͰϒϨΠΫϙΠϯτ໊ɺ%HͰϒϨΠΫϙΠϯτͷ࣮ߦճ͕දࣔ͞Ε·͢ɻTitle: "Books" viewDidLoad() 1
DEBUG COMMANDpo foopo bar = fooenv DEBUG=1bt..etchttps://lldb.llvm.org/lldb-gdb.html
DEBUG COMMANDCHISELfacebookͷLLDBίϚϯυूhttps://github.com/facebook/chiselpvc : ViewController֊Λίϯιʔϧʹग़ྗpviews : View֊Λίϯιʔϧʹग़ྗborder/unborder : ରͷViewʹϘʔμʔΛඳը...etc
APPLE SCRIPTosascript -e 'display notification "HelloWorld"'
APPLE SCRIPTMAC AUTOMATION SCRIPTINGGUIDEhttps://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.XCBKPTLISTtype = "3"version = "2.0">BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">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">ActionExtensionID = "Xcode.BreakpointAction.Log">message = "Log Message"conveyanceType = "0">
BREKPOINTΛ׆༻͢Δͱྑ͍࠶ϏϧυͷճΛݮΒͤΔ⤵ɾσόοάͷͨΊͷίʔυΛॻ͍ͯ࠶Ϗϧυ͠ͳͯ͘ྑ͍ɾ࣮ߦதͰϩάͷࠩ͠ࠐΈՄೳ
ΑΓָʹͳΔϓϥάΠϯTunahttps://speakerdeck.com/dealforest/mada-nslog-dexiao-hao-siteirufalse
ࢀߟจݙ΄΅શ෦ࡌͬͯ·͢!
એ
2/21 FASTLANEษڧձhttps://fastlane.connpass.com/event/49623/
3/13 IOS TEST NIGHThttps://testnight.connpass.com/event/49561/
YAHOO HACK DAYग़͠·ͨ͠ɻʮͻͱ͖ʯ3:30:11~3:31:49https://www.youtube.com/watch?v=oJKTYEJkasU※ ikesyo/Himotokiಋೖ͍ͯ͠·ͤΜ!
Ҏ্