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
長生きするために心臓に悪いリリースはもうやめよう
Search
tokorom
February 14, 2015
Technology
21
34k
長生きするために心臓に悪いリリースはもうやめよう
iOSのアプリをリリースする前の確認についてのまとめ
tokorom
February 14, 2015
Tweet
Share
More Decks by tokorom
See All by tokorom
CursorでアプリをBuild/Lint
tokorom
0
190
続・SharePlayの歴史と進化 iOS18とApple Vision Proにおける新展開
tokorom
3
930
SharePlayの歴史と進化 そしてvisionOSへ (iOSDC 2023)
tokorom
3
1k
5分でSharePlay入門
tokorom
3
1.5k
HomeKit 2020
tokorom
7
2.6k
Advanced Segue 2019年のSegue事情
tokorom
9
6.1k
tvOSアプリUIの勘所
tokorom
1
2.2k
カッコ悪くリアクティブじゃダメですか?
tokorom
7
13k
古き良きsendAction (in potatotips #26)
tokorom
1
3.7k
Other Decks in Technology
See All in Technology
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
900
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
220
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
420
Grafana Meetup Japan Vol. 6
kaedemalu
1
190
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
420
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
150
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.6k
実践AIガバナンス
asei
3
280
Kiroと学ぶコンテキストエンジニアリング
oikon48
5
3.7k
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
240
2025年になってもまだMySQLが好き
yoku0825
2
640
Flutterでキャッチしないエラーはどこに行く
taiju59
0
210
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
70
11k
Making Projects Easy
brettharned
117
6.4k
Typedesign – Prime Four
hannesfritz
42
2.8k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Invisible Side of Design
smashingmag
301
51k
GraphQLとの向き合い方2022年版
quramy
49
14k
Raft: Consensus for Rubyists
vanstee
140
7.1k
For a Future-Friendly Web
brad_frost
179
9.9k
How GitHub (no longer) Works
holman
315
140k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Transcript
ϦϦʔεલͷ֬ೝํ๏·ͱΊ ~ ੜ͖͢ΔͨΊʹ৺ଁʹѱ͍ϦϦʔε͏ΊΑ͏ ~ Yuta ToKoRo iOS App Programer @
cookpad iOSΦʔϧελʔζษڧձ
ॴ༑ଠ @tokorom
AppStoreͰϦϦʔε •Appleͷ৹͕ࠪऴΘͬͯɺ͋ͱϘλϯΛԡͨ͠Β ެ։͞ΕΔஈ֊
ϦϦʔεͬͯා͍ •ReleaseϘλϯԡ͢ͱ͖ʹण໋͕ॖ·Δ •In App PurchaseͪΌΜͱಈ͍ͯΔʁ •ձࣾͷചΓ্͕͛ ԯԁ ݮΔ͔ʂʂ
ࠓ͢Δ͓ •ࣾͰͷςετͬͪΓʂͰ࣮ࡍʹ AppStoreͰެ։͞ΕΔΞϓϦେৎʁ •Internal TestersͰ࠷ऴνΣοΫ͠Α͏ •ӡѱ͘ࣄނ͕ىͬͯ͜͠·ͬͨͱ͖ͷͨΊʹ…
ࠓ͠ͳ͍͓ •CIࣗಈԽͷΓ͔ͨ •ςετίʔυςετࣗମͷ࣮ࢪͷ͔ͨ͠ •External Testersʹ͍ͭͯ
ΞϓϦͷαϒϛοτલޙͰͲΜͳ֬ ೝΛ͍ͯ͠·͔͢ʁ LV 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ LV 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ LV 3
ϓϩϞʔγϣϯίʔυΛͬͯςετ LV 4 iTunes ConnectͷInternal TestersͰςετ
ΞϓϦͷαϒϛοτલޙͰͲΜͳ֬ ೝΛ͍ͯ͠·͔͢ʁ LV 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ LV 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ LV 3
ϓϩϞʔγϣϯίʔυΛͬͯςετ LV 4 iTunes ConnectͷInternal TestersͰςετ
ΞϓϦͷαϒϛοτલޙͰͲΜͳ֬ ೝΛ͍ͯ͠·͔͢ʁ LV 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ LV 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ LV 3
ϓϩϞʔγϣϯίʔυΛͬͯςετ LV 4 iTunes ConnectͷInternal TestersͰςετ AppStoreʹެ։͞ΕΔͷͱ ಉ͡ ΞϓϦ AppStoreʹެ։͞ΕΔͷͱ ҧ͏ ΞϓϦ
ΞϓϦͷαϒϛοτલޙͰͲΜͳ֬ ೝΛ͍ͯ͠·͔͢ʁ LV 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ LV 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ LV 3
ϓϩϞʔγϣϯίʔυΛͬͯςετ LV 4 iTunes ConnectͷInternal TestersͰςετ
ΞϓϦͷαϒϛοτલޙͰͲΜͳ֬ ೝΛ͍ͯ͠·͔͢ʁ LV 3 ϓϩϞʔγϣϯίʔυΛͬͯςετ LV 4 iTunes ConnectͷInternal TestersͰςετ
Appleͷ৹͕ࠪ ࢝·Δલ Appleͷ৹͕ࠪ ऴΘͬͨޙ
Internal Testersͱ •ࡢͷळౙ͔ΒiTunes ConnectʹՃΘͬͨػೳ •Apple͕ങऩͨ͠TestFlightΛऔΓࠐΜͩͷ •iTunes Connectʹαϒϛοτͨ͠ΞϓϦ ʢAppStoreެ։༻ͷΞϓϦʣΛςετͰ͖Δ
Internal Testersͱ http://qiita.com/koogawa/items/6851669110aa522a088a
Internal Testers ͥͻ׆༻͖͢ •AppStoreͰެ։͞ΕΔͷͱಉ͡ΞϓϦͰςε τՄೳʢण໋͕ॖ·Βͳ͍ʣ •Appleͷ৹͕ࠪ։࢝͢ΔલʹςετՄೳʢػձଛ ࣦͷ؇ʣ •͜ΕΒ̎ͭͷ݅Λຬͨ͢།Ұͷํ๏ •શͯͷΞϓϦͰར༻ՄೳʢϓϩϞʔγϣϯίʔ υΛൃߦͰ͖ͳ͍ྨͷΞϓϦͰʣ
Internal Testersͷऑʁ •iOS 8 Ҏ߱Ͱ͔͑͠ͳ͍ •25ਓ·Ͱ͔͑͠ͳ͍ •શͳࣗಈԽ͕Ͱ͖ͳ͍
Internal Testersͷ͍Ͳ͜Ζʢݱ࣌ʣ •ςετϑΣʔζͰͳ͘ɺ͋͘·Ͱ࠷ऴ֬ೝ •ࣄલʹςετ͕͍ྃͯ͠Δ͏͑ͰɺiTunes Connectʹαϒϛοτ͞ΕͨΞϓϦ͕ਖ਼͍͜͠ ͱΛ໊Ͱ֬ೝ
ΞϓϦެ։·Ͱʹ࣮ࢪ͢Δ͜ͱ phase 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ phase 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ phase 3 iTunes
ConnectͷInternal TestersͰςετ phase 4 (ϓϩϞʔγϣϯίʔυΛͬͯςετ)
Internal Testers VS CI •Internal TestersͱCIʢJenkinsͱ͔Travis CIͰς ετ༻ΞϓϦΛࣗಈ৴ʣͲ͕ͬͪڧ͍ʁ
Internal Testers VS CI •྆ํ͏ͷ͕ڧ͍ʂ
phase 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ phase 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ phase 3 iTunes ConnectͷInternal
TestersͰςετ phase 4 (ϓϩϞʔγϣϯίʔυΛͬͯςετ) Internal Testers VS CI CIͰαϙʔτ͢Δ෦
͓͢͢ΊͷCIʢࣗಈԽʣ http://kishikawakatsumi.hatenablog.com/entry/20141022/1413963656
͜ͷํ๏ͷ͍͢͝ͱ͜Ζ •ςετ࣮ࢪ༻ͱAppStoreαϒϛοτ༻ͰϏϧυ ͠ͳ͓͞ͳ͍ •ςετ࣮ࢪͨ͠ͷͱಉ͡ΞϓϦͷॺ໊͚ͩΛ ม͑ͨͷΛαϒϛοτͰ͖Δ
͜ͷํ๏ͷ͍͢͝ͱ͜Ζ •αϒϛοτ͞ΕͨΞϓϦͷਖ਼ੑΛ୲อ͢Δͱ ͍͏෦ɺInternal TestersͰ࣮ݱ͍ͨ͜͠ͱ ͱ nearly equal
phase 1 ϓϩάϥϛϯά͠ͳ͕Βσόοά࣮ߦͯ֬͠ೝ phase 2 AdHoc൛ΛTestFlightͳͲͰ৴ͯ͠ςετ phase3 iTunes ConnectͷInternal TestersͰςετ
phase4 (ϓϩϞʔγϣϯίʔυΛͬͯςετ) CIͰαϙʔτ͢Δ෦ ͜ͷํ๏ͷ͍͢͝ͱ͜Ζ
Internal Testers࠷ޙͷ൪ •CIʢࣗಈԽʣ͕ᘳͳΒInternal Testers ෆཁͳ͘Β͍ •ສ͕ҰCIʹෆඋ͕͋ͬͨͱ͖ͷͨΊʹɺ೦ͷͨ ΊInternal TestersͰ࠷ऴνΣοΫ
ສ͕Ұͷࣄނͷͱ͖ͷͨΊʹ… •ޙ͔Βݟฦͤͳ͍ใόοΫΞοϓ͓ͯ͘͠ •AppStoreʹެ։͞Ε͍ͯͨաڈͷόʔδϣϯΛ ֬ೝͰ͖ΔΑ͏ʹ͓ͯ͘͠
Build Details •keychain-access- groups ͳͲ
AppStoreͰެ։͞ΕͨΞϓϦ •iTunesͰ࣮ࡍʹެ։͞ΕͨΞϓϦͷipaΛऔಘ •όʔδϣϯ͝ͱʹอ͓ͯ͘͠
ࠓͷ͓͞Β͍ •Internal TestersͰ࠷ऴνΣοΫ͠Α͏ •AppStoreʹެ։͞ΕΔͷͱ΄΅ಉ͡ΞϓϦͰςετՄೳ •Appleͷ৹ࠪલʹςετՄೳ •CIͱڝ߹͢ΔͷͰ͋Γ·ͤΜ •ສ͕ҰͷͨΊʹޙ͔ΒऔΓฦͤͳ͍σʔλอ ଘ͓ͯ͜͠͏
More Information Yuta ToKoRo iOS App Programer @tokorom http://www.tokoro.me/
ΦϚέ
SwiftͰiOSΞϓϦ։ൃ •̎ͭͷΞϓϦΛ։ൃ/ϦϦʔε͠·ͨ͠ •શ෦Ͱ̑ສߦ͘Β͍SwiftͰίʔυΛॻ͖·ͨ͠
SwiftͰॻ͍ͯͲ͏ͩͬͨʁ •ίʔυΛॻ͘ྔ͕Objective-CΑΓݮͬͨ •ϓϩάϥϛϯάͷεϐʔυ্͕͕ͬͨʢମײʣ •Ϋϥογϡόά͕ܶతʹݮΓ·ͨ͠ʢOptional ͷԸܙʣ
τʔλϧͷ։ൃεϐʔυʁ •ϓϩάϥϛϯάࣗମͷεϐʔυ͕͋ͬͨ… •ʹ͔͔ΘΒͣτʔλϧͷ։ൃεϐʔυམͪ ͨ
Swiftͷ࠷େͷऑ • Ϗϧυ͕࣌ؒ ܶ
Swiftͷ࠷େͷऑ Objective-C Swift ̍ߦमਖ਼ͨ͠ޙͷ Ϗϧυ࣌ؒ Xcode 6.1.1 10ສߦ͘Β͍ͷن 10ඵ 4ສߦ͘Β͍ͷن
300ඵ
Xcode 6.3 beta Ͱվળʂ Objective-C Swift ̍ߦमਖ਼ͨ͠ޙͷ Ϗϧυ࣌ؒ Xcode 6.3
10ສߦ͘Β͍ͷن 10ඵ 4ສߦ͘Β͍ͷن 10ඵ
Xcode 6.3 beta Ͱվળʂ •ͨͩ͠ɺͲͷΫϥεΛฤू͢Δ͔ʹΑͬͯϏϧ υ࣌ؒมΘΓ·͢ •ଟ͘ͷΫϥε͔Βґଘ͞Ε͍ͯΔΫϥεΛฤू ͢Δͱ͖͜Ε·ͰͲ͓Γܶʢ̑ʣͰ͢
Ϗϧυ࣌ؒΛ͘͢Δʹʁ •ϓϩάϥϛϯάͷͱ͖ʹແବͳґଘؔΛഉআ ͢ΔΑ͏৺͕͚Δ •XcodeͷόʔδϣϯΞοϓΛͭʢ͓ͦΒͩ͘ ΜͩΜͱվળ͞Ε͍ͯ͘ʣ •Mac ProΛങ͏ʂ
Ϗϧυ࣌ؒΛ͘͢Δʹʁ •Mac ProΛങ͏
None
·ͱΊ •΅͘Swiftେ͖ͳͷͰ͜Ε͔Β͍ଓ͚· ͢
More Information Yuta ToKoRo iOS App Programer @tokorom http://www.tokoro.me/