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
Introducing import Framework
Search
Toshihiro Morimoto
May 16, 2015
Technology
2.4k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introducing import Framework
2015/05/16 yidev#19
Toshihiro Morimoto
May 16, 2015
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.5k
魅せるデバッグ技術
dealforest
4
1.6k
LLDB の世界からみた Swift
dealforest
4
5.5k
Xcode で快適なデバッグライフを追い求める
dealforest
29
25k
Intrducing debug in WWDC2016
dealforest
3
830
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
AI時代の闇と光
tatsuya1970
0
110
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
380
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
430
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
420
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.5k
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
560
Type-safe IaC for Dart
coborinai
0
160
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
130
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.6k
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
260
AICoEでAIネイティブ組織への進化
yukiogawa
0
200
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
350
A Tale of Four Properties
chriscoyier
163
24k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Designing for Performance
lara
611
70k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Tell your own story through comics
letsgokoyo
1
1k
The Curious Case for Waylosing
cassininazir
1
430
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
What's in a price? How to price your products and services
michaelherold
247
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Transcript
Introducing @import Framework 2015/05/16 yidev#19 @dealforest Toshihro Morimoto
ࣗݾհ
Crying DFTDebugScreenshot cocoapods-browser Tuna
https://github.com/dealforest/Tuna
by AlcatrazTour
ࠓ Xcode 6.3 ͔ΒՃ͞Εͨ ػೳʹ͍ͭͯͷ͓Ͱ͢
Xcode 6 Release Notes
Έͳ͞Μͬͯ·͔͢ʁ
͍ํ
(lldb) p @import Foundation (lldb) p @import UIKit
͜Ε·ͫͰศརͰ͢
Ͱ͖Δ͜ͱ • Framework Ͱఆٛ͞Εͨఆ Enum ΛࢀরͰ͖Δ • ؔఆ͔ٛΒ࣮ߦ࣌ʹ҉తʹΩϟε τͯ͘͠ΕΔ
(lldb) po [[NSString alloc] initWithData:data encoding:4]
(lldb) p @import Foundation (lldb) po [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]
͞Α͏ͳΒ ϚδοΫφϯόʔ
(lldb) po (CGRect)[self.view frame]
(lldb) p @import UIKit (lldb) po [self.view frame]
͞Α͏ͳΒ use of undeclared identifier 'CGRect'
͕ͩ ੈͷதͦΜͳʹ͘ͳ͔ͬͨ…
@import ͢Δͱ ࠶ىಈ͢Δ·Ͱ༗ޮ
Μʁʁʁ
͜͜Ͱצͷ͍͍ਓ ؾ͍ͮͨͰ͠ΐ͏
͜Ε… Run ͢Δʹຖճ ࣮ߦ͠ͳ͍ͱ͍͚ͳ͍ͷʁ
ͦ͏Ͱ͢ ͠ͳ͍ͱ͍͚ͳ͍ΜͰ͢
/(^o^)\ Φϫλ
ࠓͦΕΛ Ͳ͏ʹ͔͓ͨ͠Ͱ͢
(ॏཁࣄ߲) ྦͳ͠ͰޠΕͳ͍ͳ͍ͷͰ ௐ͍ͯͬͨϓϩηεΛશͯࡽ͠·͢
1. lldbinit Ͱ࣮ߦ͢Δ lldbinit ʹॻ͚ಡΈࠐ·ΕΔ λΠϛϯάͰ ධՁ͞ΕΔ͔Β͍͚Δͣ
~/.lldbinit p @import Foundation p @import UIKit
ͬͪΌμϝʂʂʂ ઈରʂʂʂʂ
Δͱޙչ͔͠͠·ͤΜʂ ॻ͍ͯΔਓଈࠁফ͠·͠ΐ͏ʂ
@import ͷಛੑΛࢥ͍ฦ͍ͯͩ͘͠͞ ͍͜ͰҰಡΈࠐ·ΕΔͱ ೋͱಡΈࠐ·ΕΔ͜ͱ͕ͳ͍Ͱ͢
lldbinit ͕ಡΈࠐ·Εͨ࣌ʹධՁͯ͠ ͠·͏ͱɺͦͷධՁ͞Εͨ༰ϒ ϨΠΫͨ͠ࡍʹҾ͖ܧ͛ͳ͍ (ڍಈ͔Βਪଌ͢Δͱ͜Μͳײ͡)
/(^o^)\ Φϫλ
2. LLDB ͷίϚϯυΛ࡞ͯ͠ Ԇ࣮ߦ͢Δ
lldbinit Ͱ python ͷίʔυΛ import ͯ͠ɺpython ଆͰԆධՁͯ͠Ε @import Ͱ͖ΔͷͰͳ͍͔
import_framework.py #!/usr/bin/env python import lldb import time import threading def
import_framework(): for framework in [ 'Foundation', 'UIKit' ]: lldb.debugger.HandleCommand('p @import ' + framework) def __lldb_init_module(debugger,internal_dict): threading.Timer(3, import_framework).start() time.sleep(5) print"load ok" .lldbinit command script import import_framework.py
ࢼͨ͠ݶΓ Timer ͕ൃՐ͠ͳ͍Ͱ͢ sleep ͯ͠ແࢹ͞ΕΔ
͜Ε (1) ͱಉ༷ʹ ͙ʹޙչͯ͠͠·͏ͷͰ Ίͨ΄͏͕͍͍Ͱ͢
/(^o^)\ Φϫλ
ͭ·Γ LLDB ͕࣮ߦͰ͖Δ ४උ͕ͬͨޙʹ @import Λ͠ ͳ͍ͱ͍͚ͳ͍ʂ
3. Xcode Plugin ͳΒ͍͚ΔͷͰ…
DebuggerLLDB.ideplugin ͱ͍͏ͷΛ ͍͚͑ͦ͏…
͜Εͱͯ ͭΒ͍ಓͷΓͰͨ͠
ۤͷʹΑ͏͘ LLDB ىಈ࣌ʹධՁ͢Δ͜ͱʹ ޭ͠·ͨ͠
Tuna v0.9.4 Ͱαϙʔτ͍ͯ͠ΔͷͰ Πϯετʔϧ͢Δͱ ຖճೖྗ͢Δඞཁ͕ͳ͘ͳΓ·͢
·ͱΊ Tuna v0.9.4 Λ͑ࣗಈతʹ Foundation ͱ UIKit ͕ import ͞Εͨ
LLDB ϥΠϑΛ͓͘ Δ͜ͱ͕Ͱ͖·͢ʂ
·ͱΊ LLDB ͷىಈޙʹίϚϯυΛ࣮ߦ͢Δͷ धཁ͕͋Γͦ͏ͳͷͰ(͓ͦΒ͘ศར)ɺผ Plugin ʹͯ͠ఏڙ͢Δ͔͠Ε·ͤΜ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠