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
Cloud-managed certificates へ移行した話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
swiftty
July 23, 2024
Programming
910
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
130
iOS 18 から追加された SwiftUI の傾向について調べてみる
swiftty
3
1.2k
Flutter アプリのリリースフローを考える
swiftty
0
440
Meet BrowserEngineKit
swiftty
0
2.2k
同じアプリを Flutter と SwiftUI で書いてみる
swiftty
0
680
Swift Package Manager へ移行した話
swiftty
0
950
SwiftLint にコントリビュートする
swiftty
1
4.8k
SwiftUI でリスト要素のインプレッションを計測する
swiftty
0
700
個人開発アプリでの Swift Macros 紹介
swiftty
0
740
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
霧の中の代数的エフェクト
funnyycat
1
490
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
620
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
「人を評価する AI」の設計と実装
ryoyanara
0
180
Cloudflare is Agents
chimame
0
150
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.1k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
870
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
WENDY [Excerpt]
tessaabrams
11
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The SEO Collaboration Effect
kristinabergwall1
1
520
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Writing Fast Ruby
sferik
630
63k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
790
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 で管理 • まだベストな運用が定まっていないので懇親会で ぜひ情報交換しましょう