Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Introducing Xcode Editor Extension
Toshihiro Morimoto
June 22, 2016
Technology
2
4k
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
dealforest
10
4.9k
dealforest
4
1.3k
dealforest
4
3.9k
dealforest
29
17k
dealforest
3
680
dealforest
3
1.7k
dealforest
0
4.3k
dealforest
2
2.6k
dealforest
0
3.4k
Other Decks in Technology
See All in Technology
kazeburo
2
130
you
0
150
oracle4engineer
0
110
htomine
0
170
waka
5
2.8k
kota2and3kan
2
350
tsuyo
0
490
caori_t
0
140
lmt_swallow
0
210
nnstt1
2
120
tutsunom
1
170
oracle4engineer
0
150
Featured
See All Featured
shpigford
166
19k
brad_frost
157
6.5k
trishagee
24
3k
caitiem20
311
17k
aarron
258
36k
kastner
54
2k
chriscoyier
146
20k
jasonvnalue
81
8.2k
malarkey
392
61k
davidbonilla
70
3.6k
colly
66
3k
vanstee
118
4.9k
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 Ͱ͖ Δ͜ͱ͕ݶΒΕ·͢ ͱ͍͑ɺ͜ͷΈૉΒ͍͠ͱࢥ͏ ͷͰ͍ͰݟकΓ·͠ΐ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠