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
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
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
300
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
270
システム思考で問題に対処する
yussak
0
210
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
210
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
160
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
210
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
2
520
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
500
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
630
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
関東Kaggler会発表資料
takoi
1
200
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Documentation Writing (for coders)
carmenintech
77
5.4k
Automating Front-end Workflow
addyosmani
1370
210k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Marketing to machines
jonoalderson
1
5.7k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Balancing Empowerment & Direction
lara
6
1.2k
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 ʹͯ͠ఏڙ͢Δ͔͠Ε·ͤΜ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠