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
Xcode 8のCI事情/xcode-8-ci-with-fastlane
Search
Fumiya Nakamura
September 28, 2016
Programming
1
1.6k
Xcode 8のCI事情/xcode-8-ci-with-fastlane
potatotips #33
- OS X CIの最新Xcodeへの対応の早さの違いなどCI毎の差異
- Fastlane利用時のTips
Fumiya Nakamura
September 28, 2016
Tweet
Share
More Decks by Fumiya Nakamura
See All by Fumiya Nakamura
Encouragement of Firebase
nafu
1
3.5k
Player! Meetup#1 - Player! Overviews/player-meetup-1-player-overviews
nafu
1
500
三位一体GitHub駆動開発/github-driven-development
nafu
0
3.4k
How we develop working software and respond to change at ookami.
nafu
0
87
Fastlane for Androidによる継続的デリバリー/continuous-delivery-with-fastlane-for-android
nafu
0
280
Other Decks in Programming
See All in Programming
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
350
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
850
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
230
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
480
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
390
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
XSLTで作るBrainfuck処理系
makki_d
0
210
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
Featured
See All Featured
Side Projects
sachag
455
42k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Code Reviewing Like a Champion
maltzj
524
40k
Being A Developer After 40
akosma
90
590k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Docker and Python
trallard
44
3.4k
Why Our Code Smells
bkeepers
PRO
337
57k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Transcript
Xcode 8ͷCIࣄ גࣜձࣾookami! @nafu003 2016/09/28 potatotips #33
ookami !!!?
εϙʔπΛ௨ͯ͠ ਓʑͷੜ׆Λ๛͔ʹ
None
Xcode 8ͷCIࣄ
Goal ֤Ϣʔεέʔεʹ߹ͬͨCIΛબͰ͖Δ Xcode 8ͰͷϏϧυࣗಈԽΛ؆୯ʹ͢Δ
࠷৽Beta͕Beta 6ͷ࣌ CIରԠঢ়گ
Travis CI Beta 6
Bitrise Beta 6
Cicle CI Beta 3
Beta 3 ( 'ω') ;͊ͬʂʁ
Xcode 8 GMϦϦʔε࣌ - Travis CI -> GM - Bitrise
-> GM - Circle CI -> Beta 6
Circle CI ࠷৽XcodeͷରԠ 1ʙ2िؒΕ
Compare CI Plans
CI্ͰͷXcode 8Ϗϧυ
CI্ͰͷXcode 8Ϗϧυ with fastlane
Xcode 8 - Swift 2.3 - Swift 3.0 Xcode 8
has multiple toolchains
Fastlane didn't have toolchain option !
fastlane/fastlane#5864
toolchain option gym(toolchain: 'com.apple.dt.toolchain.Swift_2_3') gym(toolchain: :Swift_2_3) # Next Version use_legacy_build_api
option gym(use_legacy_build_api: true) # Use old API gym(use_legacy_build_api: false) # Use new API after Xcode 7
Do not use Automatic Signing https://docs.fastlane.tools Although Apple recommends it
in WWDC 2016
register_devices fastlane run register_devices devices_file:$DEVICES_FILE_PATH fastlane match --app_identifier "$BUNDLE_IDENTIFIER" \
--type "adhoc" --force_for_new_devices multiple-device-upload-ios.txt Device ID Device Name A123456789012345678901234567890123456789 NAME1 B123456789012345678901234567890123456789 NAME2
Fastlane Plugins # List all available plugins using fastlane search_plugins
# Add a plugin to your project fastlane add_plugin [name] # Create your own plugin fastlane new_plugin [plugin_name] docs.fastlane.tools/plugins
ensure_xcode_build_version nafu/fastlane-plugin-ensure_xcode_build_version
Fastlane docs docs.fastlane.tools
Summary → Circle CIXcodeʹଈରԠͯ͘͠Εͳ͍ͷͰҙ → ಛʹSwift 2.3ʹؔͯ͠Xcode 8ͰͷϏϧυʹҙ → toolchain,
use_legacy_build_apiͳͲ → Automatic SigningΘͳ͍ → ศརͳActionpluginsͰެ։͠Α͏ʂ
None