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
Enjoy Breakpoint
Search
Shingo Tamaki
February 11, 2017
Technology
8
1.7k
Enjoy Breakpoint
Swiftのビルドが遅いのでBreakpointを活用して、
アプリを止めずにできるだけデバッグ作業しようという話です。
Shingo Tamaki
February 11, 2017
Tweet
Share
More Decks by Shingo Tamaki
See All by Shingo Tamaki
AIエージェントを使ったiOSアプリ開発を試してみた
tamaki
0
26
沖縄モバイルアプリ開発勉強会#1
tamaki
0
97
iOSアプリ開発を始めよう
tamaki
0
150
詳解xcresult.pdf
tamaki
0
330
メルペイでのリグレッションテスト自動化推進のこれまでとこれから
tamaki
0
710
What do you want to test with UI Test v2
tamaki
2
870
JPQRによって変わる日本のQRコード決済
tamaki
0
270
What's New in Testing
tamaki
1
58
What do you want to test with UI Test
tamaki
5
1.9k
Other Decks in Technology
See All in Technology
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
140
AIエージェント元年
shukob
0
150
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
310
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
6
2.5k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
170
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
実は強い 非ViTな画像認識モデル
tattaka
2
1.2k
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
短縮URLをお手軽に導入しよう
nakasho
0
140
クラウドサービス事業者におけるOSS
tagomoris
4
1k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.4k
Featured
See All Featured
Fireside Chat
paigeccino
34
3.2k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Navigating Team Friction
lara
183
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Faster Mobile Websites
deanohume
306
31k
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ಋೖ͍ͯ͠·ͤΜ!
Ҏ্