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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
TypeScript入門 2026
recruitengineers
PRO
3
500
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
170
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
2
550
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
システム思考で問題に対処する
yussak
0
210
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
210
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
450
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
660
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
制約理論(ToC)入門 2026版
recruitengineers
PRO
7
2.1k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
140
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Bash Introduction
62gerente
615
220k
Accessibility Awareness
sabderemane
1
170
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
850
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Product Roadmaps are Hard
iamctodd
55
12k
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 ʹͯ͠ఏڙ͢Δ͔͠Ε·ͤΜ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠