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
ライブラリとSwiftLintの辛いお話
Search
Kohei Tabata
February 14, 2017
Programming
2
1.1k
ライブラリとSwiftLintの辛いお話
Kohei Tabata
February 14, 2017
Tweet
Share
More Decks by Kohei Tabata
See All by Kohei Tabata
営業活動なしで継続的に案件を受注する方法 / how to get a contract without sales as a freelance
nerd0geek1
2
880
生体データを取り扱うアプリ開発の勘所
nerd0geek1
1
84
動線改善とステータス可視化で家庭内のストレスを軽減した話
nerd0geek1
3
4.1k
家庭をプロジェクトとして運営した話
nerd0geek1
2
4.1k
fastlaneの勉強会を主催して学んだこと、得たこと、悩んだこと
nerd0geek1
1
980
みんなで育てるprecheck
nerd0geek1
1
670
matchとは?match導入のメリット
nerd0geek1
4
540
Improve your workflow with Sketch plugin
nerd0geek1
3
1.3k
Looking back try! Swift 2017
nerd0geek1
0
570
Other Decks in Programming
See All in Programming
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
9
1k
Identifying User Idenity
moro
6
7.9k
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
150
Vue.js学習の振り返り
hiro_xre
2
130
デプロイを任されたので、教わった通りにデプロイしたら障害になった件 ~俺のやらかしを越えてゆけ~
techouse
52
32k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
270
macOS でできる リアルタイム動画像処理
biacco42
7
1.9k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
920
Server Driven Compose With Firebase
skydoves
0
400
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
140
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1k
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Code Reviewing Like a Champion
maltzj
519
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
Docker and Python
trallard
40
3.1k
Statistics for Hackers
jakevdp
796
220k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
A designer walks into a library…
pauljervisheath
202
24k
Why Our Code Smells
bkeepers
PRO
334
57k
Transcript
ϥΠϒϥϦͱSwiftLintͷ ਏ͍͓ 2017/02/14 SwiftѪձ@21Cafe
ࣗݾհ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/MacOS/tvOS Developer ɾWAmazingɹɹ ͱ͍͏ελʔτΞοϓͰ
ɹiOSΞϓϦ։ൃͷ͓ख͍ Said Studio LLC Kohei Tabata Next! Remote quick-zip plus
Έͳ͞Μɺ Swift͖Ͱ͢ΑͶʁ
ϥΠϒϥϦ ॻ͍ͨΓ͠·͢ΑͶʁ
ͦͯ͠ɺ SwiftLint͖Ͱ͢ΑͶʁ
Agenda ɾSwiftLintͱ ɾϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ ɾͭΒΈ ɾAggregateΛ׆༻ͯ͠ ɾ·ͱΊ
SwiftLintͱ ɾSwiftLintͱɺRealm͕ࣾ։ൃɾӡ༻͍ͯ͠ΔSwift༻ͷLintπʔϧ ɾSwiftʹର͔ͯ͠ͳΓଟ͘ͷछྨͷLintΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ ɹɾforce_unwrapΛߦ͍ͬͯΔՕॴΛΤϥʔͱ͢Δ ɹɾΫϥεɺϑΝΠϧͷߦʹԠͯ͡ܯࠂɺΤϥʔΛදࣔ ɹɾetc… ɾৄ͍͠ΧελϚΠζ.swiftlint.ymlΛฤू͢Δ͜ͱͰՄೳ
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ)
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.16.0 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ϥΠϒϥϦಋೖ͢Δࡍͷམͱ݀͠ SwiftLintΛϥΠϒϥϦಋೖ͢Δࡍʹɺ௨ৗͷΞϓϦͱಉ༷ͷํ๏Ͱಋೖͯ͠͠·͏ͱ ϥΠϒϥϦͷར༻ऀ͕ਏ͘ͳΔέʔε͕ଘࡏ͢Δ(mixpanel-swiftͰମݧ) ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.13.2 ϥΠϒϥϦɿ0.13.2 Ϣʔβʔɹɿ0.16.0 ϥΠϒϥϦͷSwiftLintͷόʔδϣϯͱϢʔβʔͷSwiftLintͷόʔδϣϯ͕ҟͳΔ߹
ͭΒΈͷݪҼ ઌఔͷͳͥൃੜͯ͠͠·͔ͬͨʁ →Ϗϧυ࣌ʹͷΈ࣮ߦ͍ͨ͠Script͕Archive࣌ʹ࣮ߦ͞Εͯ͠·͍ͬͯͨ͜ͱ ཧ ݱঢ়
None
Aggregateͱʁ ɾBuild PhaseΛཧ͢ΔͨΊͷͷ ɹAdd Target > Cross-platform > Aggregate͔ΒՃՄೳɻ
Aggregateͷ׆༻๏ ɾRealmͷϓϩδΣΫτͰɺSwiftLintͷScriptͷΈΛؚΉAggregateΛՃ͠ɺ ɹͦΕΛݺͼग़͢Α͏ʹͯ͠ར༻͍ͯ͠Δɻ
Aggregateͷ׆༻๏ ɾϥΠϒϥϦຊମͷBuild SchemeΛฤू͠ɺϏϧυ࣌(ΞʔΧΠϒ࣌)ʹͷΈ ɹSwiftLint͕ΔΑ͏ʹ͢Δ͜ͱͰ͖Δ
·ͱΊ ɾSwiftLintʹΑΓɺιʔείʔυΛखܰʹ੍ޚ͢Δ͜ͱ͕Ͱ͖Δ ɾͦͷ໘ɺࠓճͷΑ͏ͳʹ໘͢Δ͜ͱɻ ɾAggregateΛར༻͢Δ͜ͱͰରԠՄೳ ɾAggregateࠓճͷҎ֎ʹ෯͘Ԡ༻Ͱ͖ΔͷͰɺ ɹࠓޙͦͷΛௐ͍͖͍ͯͨɻ
࠷ޙʹએ 2/21ʹOrigami͞ΜͰfastlaneษڧձΓ·͢ʂ
WAmazingͰiOSΤϯδχΞΛืू͍ͯ͠·͢ʂ We are hiring!! They
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
ࢀߟ ɾManaging Xcode ɹ(https://pewpewthespells.com/blog/managing_xcode.html#target-agg) ɾSwiftLint ɹ(https://github.com/realm/SwiftLint) ɾmixpanel-swift ɹ(https://github.com/mixpanel/mixpanel-swift/issues/57) ɾrealm-cocoa ɹ(https://github.com/realm/realm-cocoa)