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
Universal Linksの実装方法と陥りがちな罠
kaitokudou
1
220
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
Pinia Colada が実現するスマートな非同期処理
naokihaba
2
160
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.4k
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
400
macOS でできる リアルタイム動画像処理
biacco42
7
1.9k
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
130
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
140
Vue.js学習の振り返り
hiro_xre
2
130
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
430
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
210
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Invisible Side of Design
smashingmag
297
50k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
A Modern Web Designer's Workflow
chriscoyier
692
190k
A Tale of Four Properties
chriscoyier
156
23k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Music & Morning Musume
bryan
46
6.1k
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)