Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Extending Xcode 8 - try! Swift NYC 2016
Daniel Jalkut
September 01, 2016
Programming
3
12k
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
ring
1
350
syumai
5
740
jlkiri
0
390
y__mattu
1
410
currylike37
0
430
temoki
1
160
shiz
6
790
inamiy
7
740
chocoyama
4
360
hirokiabe
0
230
monoqlo
0
190
vixentael
0
390
Featured
See All Featured
colly
69
3.2k
gr2m
86
11k
tmm1
64
10k
michaelherold
227
8.9k
searls
207
38k
jacobian
260
20k
carmenhchung
43
2k
addyosmani
1352
200k
bryan
35
3.8k
mongodb
25
4.1k
afnizarnur
180
14k
tanoku
91
8.9k
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