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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Daniel Jalkut
September 01, 2016
Programming
13k
3
Share
Extending Xcode 8 - try! Swift NYC 2016
Daniel Jalkut's talk about the new extension support in Xcode 8.
Daniel Jalkut
September 01, 2016
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
120
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
210
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
330
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
150
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
650
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
990
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
2
1.7k
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
110
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
HDC tutorial
michielstock
2
650
Design in an AI World
tapps
1
210
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Cult of Friendly URLs
andyhume
79
6.9k
Designing Experiences People Love
moore
143
24k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
270
Why Our Code Smells
bkeepers
PRO
340
58k
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