Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloud-managed certificates へ移行した話
Search
swiftty
July 23, 2024
Programming
930
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud-managed certificates へ移行した話
Mobile勉強会 Wantedly × チームラボ × Sansan #15 で発表した内容です
https://sansan.connpass.com/event/321922/
swiftty
July 23, 2024
More Decks by swiftty
See All by swiftty
Wantedly Visit での SKIE の導入と振り返り
swiftty
0
140
iOS 18 から追加された SwiftUI の傾向について調べてみる
swiftty
3
1.3k
Flutter アプリのリリースフローを考える
swiftty
0
450
Meet BrowserEngineKit
swiftty
0
2.3k
同じアプリを Flutter と SwiftUI で書いてみる
swiftty
0
690
Swift Package Manager へ移行した話
swiftty
0
970
SwiftLint にコントリビュートする
swiftty
1
4.8k
SwiftUI でリスト要素のインプレッションを計測する
swiftty
0
710
個人開発アプリでの Swift Macros 紹介
swiftty
0
750
Other Decks in Programming
See All in Programming
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
540
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
220
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
160
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
0
130
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
340
Go のフラットな パッケージに 「ファイル単位の private」を 〜Linter “declscope” を作った話〜
mpyw
0
310
Java 27新機能 / Java 27 new features
kishida
2
130
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.8k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
230
アクセシビリティから考える情報設計
high_g_engineer
0
370
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Test your architecture with Archunit
thirion
2
2.4k
Writing Fast Ruby
sferik
630
63k
Scaling GitHub
holman
464
140k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Mind Mapping
helmedeiros
1
360
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Become a Pro
speakerdeck
PRO
31
6.3k
Designing Experiences People Love
moore
143
24k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Transcript
© 2024 Wantedly, Inc. Cloud-managed certificates へ 移行した話 Mobile勉強会 Wantedly
× チームラボ × Sansan #15 Jul. 23 2024 - 林達也
© 2024 Wantedly, Inc. 自己紹介 林達也 ウォンテッドリー株式会社 github swiftty x
_swiftty wantedly tatsuya_hayashi_ar Swift Package Manager へ移行した話 ハーモナイザー - 性格診断
© 2024 Wantedly, Inc. 前提
© 2024 Wantedly, Inc. 前提 • 今までは fastlane match で証明書を管理
• 開発者証明書は個々人、 CI 用にそれぞれ持っている • 開発時は Automatically manage signing を利用 チーム状況
© 2024 Wantedly, Inc. 前提 • 毎年の証明書・プロビジョニングプロファイル更新作業におい て一部自動化できない手順が存在 ◦ App
Store Connect 上で手動で entitlements を更新したあとに改めてプロファイル をリポジトリに保存 更新作業
© 2024 Wantedly, Inc. 前提 • 毎年の証明書・プロビジョニングプロファイル更新作業におい て一部自動化できない手順が存在 ◦ App
Store Connect 上で手動で entitlements を更新したあとに改めてプロファイル をリポジトリに保存 更新作業 → カイゼンしたい💪
© 2024 Wantedly, Inc. ちなみにみなさん 証明書どう管理していますか? クラウド管理 or Xcode Cloud、手動、…
© 2024 Wantedly, Inc. Cloud-managed certificates とは
© 2024 Wantedly, Inc. Cloud-managed certificates とは Cloud-managed certificates(クラウド管理証明書) •
アプリ配布のための署名がクラウドで行われる • 期限が近づいてきたら自動で更新される https://developer.apple.com/jp/help/account/create-certificates/cloud-managed-certificates/
© 2024 Wantedly, Inc. プロビジョニングプロファイルと 配布用証明書の管理が不要に👏
© 2024 Wantedly, Inc. 署名方法
© 2024 Wantedly, Inc. 署名方法 • 準備 ◦ Automatically manage
signing を有効化 ◦ App Store Connect API キーを発行 • xcodebuild にオプションを追加 -allowProvisioningUpdates -authenticationKeyIssuerID <issuer_id> -authenticationKeyID <key_id> -authenticationKeyPath <api_key_path>
© 2024 Wantedly, Inc. 移行の流れ
© 2024 Wantedly, Inc. 移行の流れ • 社内配布をクラウド署名に変更 • どの証明書が用いられたかを確認 ◦
DistributionSummary.plist ◦ *.ipa/*.app/*.mobileprovision ◦ → 証明書が「Cloud Managed Apple Distribution」となっていること 適切な entitlements が反映されていること • 問題ないことを確認してプロダクション配布にも適用 • (各アプリごとに検証・適用)
© 2024 Wantedly, Inc. ハマったこと
© 2024 Wantedly, Inc. ipa 作成の流れ ビルド/アーカイブ ➜ エクスポート ➜
© 2024 Wantedly, Inc. クラウド証明書は配布(エクスポート)時に署名に利用されるもの そのためアーカイブ時の署名を無効( CODE_SIGNING_ALLOWED=NO )とすれば開発者証明書も不要 ipa 作成の流れ
ビルド/アーカイブ ➜ エクスポート ➜
© 2024 Wantedly, Inc. クラウド証明書は配布(エクスポート)時に署名に利用されるもの そのためアーカイブ時の署名を無効( CODE_SIGNING_ALLOWED=NO )とすれば開発者証明書も不要 → entitlements
が反映されない ※プッシュ通知や Associated domains の設定など ipa 作成の流れ ビルド/アーカイブ ➜ エクスポート ➜
© 2024 Wantedly, Inc. クラウド証明書は配布(エクスポート)時に署名に利用されるもの そのためアーカイブ時の署名を無効( CODE_SIGNING_ALLOWED=NO )とすれば開発者証明書も不要 → entitlements
が反映されない ※プッシュ通知や Associated domains の設定など ipa 作成の流れ ビルド/アーカイブ ➜ エクスポート ➜ → 開発者証明書は必要 開発者証明書のみ fastlane match で管理することに
© 2024 Wantedly, Inc. ipa 作成の流れ ビルド/アーカイブ ➜ エクスポート ➜
※ Session Video の説明では部分署名と説明 https://developer.apple.com/videos/play/wwdc2021/10204/ 開発者証明書で署名 ※ クラウド証明書で署名
© 2024 Wantedly, Inc. まとめ
© 2024 Wantedly, Inc. まとめ • クラウド管理になり配布証明書とプロビジョニング プロファイルの更新から開放 ◦ ただし開発者証明書は
1 年ごとの更新は必要… ◦ そのため開発者証明書のみ引き続き fastlane match で管理 • まだベストな運用が定まっていないので懇親会で ぜひ情報交換しましょう