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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
820
swift build と Xcode での Build の違い
dealforest
3
2.1k
RIP Xcode Plugin 🙏
dealforest
0
4.9k
Introducing Xcode Editor Extension
dealforest
2
4.7k
Introducing Anglerfish
dealforest
2
3.5k
Other Decks in Technology
See All in Technology
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
300
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
970
2026-06-24_人とAIの責務分離に基づく開発プロセスの提案.pdf
takahiromatsui
0
120
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
23
7.5k
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
260
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
10
2.5k
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
120
Deep Data Security 機能解説
oracle4engineer
PRO
2
110
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
560
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
190
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
780
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Into the Great Unknown - MozCon
thekraken
41
2.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
How to build a perfect <img>
jonoalderson
1
5.7k
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 ʹͯ͠ఏڙ͢Δ͔͠Ε·ͤΜ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠