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 Xcode Editor Extension
Search
Toshihiro Morimoto
June 22, 2016
Technology
2
4.6k
Introducing Xcode Editor Extension
2016/06/22 FiNC WWDC振り返り勉強会
Toshihiro Morimoto
June 22, 2016
Tweet
Share
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.1k
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
5.1k
Xcode で快適なデバッグライフを追い求める
dealforest
29
23k
Intrducing debug in WWDC2016
dealforest
3
760
swift build と Xcode での Build の違い
dealforest
3
2k
RIP Xcode Plugin 🙏
dealforest
0
4.7k
Introducing Anglerfish
dealforest
2
3.3k
音声ガイダンスを導入した話
dealforest
0
3.9k
Other Decks in Technology
See All in Technology
SREが実現する開発者体験の革新
sansantech
PRO
0
150
Beyond {shiny}: The Future of Mobile Apps with R
colinfay
1
310
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
280
【2025年度新卒技術研修】100分で学ぶ サイバーエージェントのデータベース 活用事例とMySQLパフォーマンス調査
cyberagentdevelopers
PRO
3
5.9k
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
230
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
21k
Langchain4j y Ollama - Integrando LLMs con programas Java @ Commit Conf 2025
deors
1
130
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
200
いつも初心者向けの記事に助けられているので得意分野では初心者向けの記事を書きます
toru_kubota
2
250
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
4
640
Creating Awesome Change in SmartNews
martin_lover
1
200
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming
tomzoh
0
190
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Visualization
eitanlees
146
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Agile that works and the tools we love
rasmusluckow
328
21k
Writing Fast Ruby
sferik
628
61k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How STYLIGHT went responsive
nonsquared
99
5.5k
Facilitating Awesome Meetings
lara
54
6.3k
Side Projects
sachag
452
42k
Transcript
Introducing Xcode Editor Extension 2016/06/22 FiNC WWDCৼΓฦΓษڧձ @dealforest Toshihro Morimoto
ࣗݾհ
None
Έͳ͞Μ iPhone Simulator Λ ͲΕ͘Β͍ೖΕ͍ͯ·͔͢ʁʁ
Xcode Editor Extension, Xcode Source Editor Extension ͷ ͓Λࠓ͠·͢
ͦͷલʹ
͠ͷ͍͍Έͳ͞Μ ͓͔Γ͔ͱࢥ͍·͢
RIP Xcode Plugin
൵͍͠ͷͰ ͚ञʹ͖߹͍ͬͯͩ͘͞
ஊ͓͖ͯ͞ ͦΕͰຊʹೖ͍͖ͬͯ·͢
Xcode Editor Extension ͞Θͬͨਓ͍·͔͢ʁ
Extension ͍ͬͯ͏໊લ͔Β ͓Θ͔Γ͍͚ͨͩΔΑ͏ʹ OS X Application ʹଐ͠·͢
͍ํ • App Store ͔ΒΠϯετʔϧͯ͠ىಈ • ࣗલͰ .app Λ build
͘͠ download ͯ͠ /Applications ͔ ~/Applications ʹ ஔͯ͠ىಈ
Application Ͱ͢Δ ͱ͍ͬͨײ͡Ͱ͢Ͷ
Extension ʹͨ͠ϝϦοτ • Stability • Security • Speed
ͭ·Δͱ͜Ζ XPC ʹͨ͠ͷͰ ҆શʹͳͬͨΑͬͯ͜ͱͰ͢Ͷ
ࡉ͔͍ͷϦϦʔεϊʔτΛ Έ͍ͯͩ͘͞ https://developer.apple.com/go/?id=xcode8-0-beta-release-notes
XPC ͱ Access a low-level (libSystem) interprocess communication mechanism that
is based on serialized property lists.
ཁ͢Δʹ binary plist Ͱ ϓϩηεؒ௨৴͢ΔΑ͏ʹͨ͠
Xcode XPC Source Editor Extension Application pid: 1xxxx pid: 2xxxx
࣮ߦ͞ΕΔλΠϛϯά • Add commands to the source editor • One
extension, several commands • Edit text • Change selections
࣮ߦ͞ΕΔλΠϛϯά • ϝχϡʔ͔Β࣮ߦ • ίʔυΛฤू
ϝχϡʔ͔Β࣮ߦ
ίʔυΛฤू #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
ίʔυΛฤू #imageLiteral(resourceName: "sun")
ίʔυΛฤूͨ͠ͷΛࢹͯ͠ Կ͔มߋ͢Δ Extension ͷ࡞Γํ ࣮·ͩΑ͘Θ͔ͬͯ·ͤΜ
SwiftLint for Xcode ͕ͦ͏ͳͷ͔ʁ ·ͩΩϟονΞοϓ͖͠Εͯ·ͤΜ https://github.com/norio-nomura/SwiftLintForXcode
macOS 10.11 El Capitan Ͱͷҙ sudo /usr/libexec/xpccachectl & reboot
Xcode Simulator
ࠇ͘ͳͬͨʂʂʂʂ
ͦͷଞ • widget Έ͍ͨʹ opt-out Ͱ͖ͳ͍ • shortcut Xcode
ͷઃఆը໘ͰࣗͰ͢Δ • cancel bunner ະ࣮
RIP Xcode Plugin
ͱݴ͍·͕࣮ͨ͑͠·͢
Xcode8͔Βcode sign ͞ΕΔΑ͏ʹͳͬͨͷ͕ ݪҼͰ Plugin ͕ load ͞Εͳ͘ͳΓ·ͨ͠
ͭ·Γ code sign Λফͤ ࠓ·Ͱ௨Γ͑Δͱ͍͏Θ͚Ͱ͢Ͷ
ͱ͍͏Θ͚Ͱͭ͘Γ·ͨ͠
※ Objective-C Ͱॻ͔Εͨ Plugin ͔͠ಈ͔ͳ͍͔ (ݕূத)
ࣗݾͰ࣮ߦ͍ͯͩ͘͠͞
https://gist.github.com/dealforest/c5a5362005bce1a4280c34d18a5bc893
͜ΕΛ࣮ߦ͢Ε ඇূ໌ͷόΠφϦʹͳΓ·͢
https://github.com/alcatraz/Alcatraz/issues/475#issuecomment-226090731
·ͱΊ ͠Β͘ͷؒ Xcode Editor Extension Ͱ͖ Δ͜ͱ͕ݶΒΕ·͢ ͱ͍͑ɺ͜ͷΈૉΒ͍͠ͱࢥ͏ ͷͰ͍ͰݟकΓ·͠ΐ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠