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
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
20260315 AWSなんもわからん🥲
chiilog
2
160
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
150
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
340
TipKitTips
ktcryomm
0
170
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
300
Understanding Apache Lucene - More than just full-text search
spinscale
0
130
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
390
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
450
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Building Adaptive Systems
keathley
44
3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Exploring anti-patterns in Rails
aemeredith
2
290
The Curse of the Amulet
leimatthew05
1
10k
Evolving SEO for Evolving Search Engines
ryanjones
0
160
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Done Done
chrislema
186
16k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
480
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