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
Extending Xcode 8 - try! Swift NYC 2016
Search
Daniel Jalkut
September 01, 2016
Programming
3
13k
Extending Xcode 8 - try! Swift NYC 2016
Daniel Jalkut's talk about the new extension support in Xcode 8.
Daniel Jalkut
September 01, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
今、知っておきたい! 生成AIエージェントの世界
elith
3
340
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
39
18k
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
350
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
310
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
180
Designing for tomorrow's programming workflows
honnibal
PRO
2
110
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
220
Ruby Pattern Matching
bkuhlmann
0
920
受託開発でGitLab CI を活用していく
xiombatsg
1
270
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
CQRS/ES avec Symfony, c’est (trop) bien !
jeremyfreeagent
1
630
本格ローグライク制作にEbitengineを選んでみた
nagainaganawa
0
290
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Bash Introduction
62gerente
604
210k
10 Git Anti Patterns You Should be Aware of
lemiorhan
646
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Clear Off the Table
cherdarchuk
83
310k
Building Effective Engineering Teams - LeadDev
addyosmani
27
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
Transcript
daniel jalkut @danielpunkass Extending Xcode 8
A Good Developer…
Source Editor Extensions
Source Editor Extensions ⊕ Debuting with Xcode 8 ⊕ Extend
Xcode’s source text editor only ⊕ Only Apple-supported mechanism
Bad News ⊕ Alcatraz is dead ⊕ Scope of extension
impact is limited ⊕ Delivery is by host-application only
Good News ⊕ Apple approved ⊕ Designed for security and
stability ⊕ Signal of things to come?
World of Possibilities…
World of Possibilities… ⊕ Transform text and selection ⊕ Access
web resources ⊕ Display rudimentary UI ⊕ Anything the host app can do…
… and Impossibilities ⊕ Anything outside the text editor ◦
Project manipulation ◦ Leveraging Xcode’s compiler state ⊕ Dynamic responses to user actions ◦ Only menu and keyboard shortcut
Build & Run
Build & Run ⊕ Built upon App Extensions ⊕ Delivered
by host application ⊕ Debuggable within Xcode itself
New Project ⊕ Create a new Mac application ⊕ Add
a new extension target ⊕ Build & Run ⊕ Select Xcode as the target
None
None
None
None
None
None
None
None
None
None
Caveats ⊕ Additional setup for 10.11 ⊕ You must sign
your app and extension! ⊕ Run app to nudge extension registration ⊕ Wait a few moments after launching
Hot Tips
Hot Tips ⊕ Select Xcode as the debug target
None
Hot Tips ⊕ Select Xcode as the debug target ⊕
Pass a source file path to Xcode
None
None
Hot Tips ⊕ Select Xcode as the debug target ⊕
Pass a source file path to Xcode ⊕ Give your command a keyboard shortcut
None
Hot Tips ⊕ Select Xcode as the debug target ⊕
Pass a source file path to Xcode ⊕ Give your command a keyboard shortcut ⊕ Keep an eye on Apple’s own extensions
Try! Harder
Try! Harder ⊕ github.com/danielpunkass/tryharder ⊕ Standalone project with example extensions
Try! Harder ⊕ Manipulate text efficiently ⊕ Open a web
page ⊕ Display rudimentary UI ⊕ Insert placeholder text ⊕ More?
As Good As Your Tools
None