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.5k
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
5.9k
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
4.9k
Xcode で快適なデバッグライフを追い求める
dealforest
29
22k
Intrducing debug in WWDC2016
dealforest
3
750
swift build と Xcode での Build の違い
dealforest
3
2k
RIP Xcode Plugin 🙏
dealforest
0
4.7k
Introducing Anglerfish
dealforest
2
3.2k
音声ガイダンスを導入した話
dealforest
0
3.8k
Other Decks in Technology
See All in Technology
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Platform Engineering for Software Developers and Architects
syntasso
1
520
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
540
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
630
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
100
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
65
4.4k
Practical Orchestrator
shlominoach
186
10k
A Philosophy of Restraint
colly
203
16k
Code Reviewing Like a Champion
maltzj
520
39k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Producing Creativity
orderedlist
PRO
341
39k
Navigating Team Friction
lara
183
14k
Faster Mobile Websites
deanohume
305
30k
For a Future-Friendly Web
brad_frost
175
9.4k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
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 Ͱ͖ Δ͜ͱ͕ݶΒΕ·͢ ͱ͍͑ɺ͜ͷΈૉΒ͍͠ͱࢥ͏ ͷͰ͍ͰݟकΓ·͠ΐ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠