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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
swiftty
July 23, 2024
Programming
970
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
150
iOS 18 から追加された SwiftUI の傾向について調べてみる
swiftty
3
1.3k
Flutter アプリのリリースフローを考える
swiftty
0
460
Meet BrowserEngineKit
swiftty
0
2.3k
同じアプリを Flutter と SwiftUI で書いてみる
swiftty
0
700
Swift Package Manager へ移行した話
swiftty
0
990
SwiftLint にコントリビュートする
swiftty
1
4.8k
SwiftUI でリスト要素のインプレッションを計測する
swiftty
0
720
個人開発アプリでの Swift Macros 紹介
swiftty
0
760
Other Decks in Programming
See All in Programming
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.8k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.1k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
200
Simple Storage Service(S3) is not simple
iwatsukayura
0
320
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
Railsバージョンを4倍にした話
optim
0
570
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
150
気持ちぃ〜角丸 Squircle
ryu1013
0
330
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
580
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
610
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating Weather and Climate Data
rabernat
0
560
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 で管理 • まだベストな運用が定まっていないので懇親会で ぜひ情報交換しましょう