[iOS 10] Xcode 8 の新しい Signing 機能について
What's New in Xcode App Signing
Xcode 8 から利用できる署名まわりに関する新機能。
WWDC 2016 で発表されたこの新機能の概要についてご紹介します。
- Xcode 8 automatically manages signing
- Multiple development certificates
- Dedicated customized signing mode
Xcode 8 automatically manages signing
なにができるの?
なにかができるようになった、と言うよりは今まで行っていた面倒な作業を行わなくてよくなった、というものです。
これらの作業は今後、Xcode が 自動で 行ってくれます。
Xcode が自動で行ってくれる作業
- 署名付き証明書の作成
- App ID の作成と更新
- プロビジョニングプロファイルの作成と更新
これらは Automatically manage signing
の設定を ON にするだけで、Xcode が適切なタイミングで実行してくれます。(Capabilities を追加した時など)
複雑な上に時間がかかる作業が自動化されることで、エンジニアは開発に集中することができるようになるでしょう。
Apple はこの機能を使用することを 推奨 しているため、過去のプロジェクトも早めに移行しましょう。
Multiple development certificates
こちらもなかなか嬉しい機能です。
複数の Mac で開発するときに鍵付き証明書のエクスポートやインポートが不要となりました。
これで以下のダイアログを見ることはもうなくなるそうです。
Reset ボタンを押して「誰だやったの!?」や「ビルドできなくなったー」なんて言われることがなくなるのかな?
Dedicated customized signing mode
Automatically manage signing
の設定を OFF にすることで、Build Configuration ごとにプロビジョニングプロファイルを設定できるようになります。
- 手動で作成したプロファイルのみ選択可能
- どのタイプのプロファイルでも OK
- 新たなビルド設定
PROVISIONING_PROFILE_SPECIFIER
- プロファイルは名前で参照する
これらを設定すると、たびたびエラーが発生します。
プロビジョニングプロファイルに Capabilities が含まれていなかったり、証明書が含まれていなかったりなど。
これまではこれらのエラーが発生しても Fix Issue
というボタンが付いたダイアログが表示されるだけで以下のことがわかりませんでした。
- 何が問題だった?
- Fix Issue で何をした?
- Fix Issue はなぜそれを行った?
- なぜ Fix Issue ボタンを押さなければならないの?
しかし、今後はこれらの詳細が確認できるようになったため、問題解決までにかかる時間が短くなることでしょう。
Best Practices
Apple はベストプラクティスとして以下のことを提案しています。
開発
Automatic
を使うteam
にすべての開発者を追加するCapabilities
タブを利用する
Signing の自動化は開発が容易になるように設計されており、それは個人開発者や大規模なチームにも素晴らしく作用します。
よって team
にはアプリに関わる全ての開発者を追加すべきです。
また Entitlements
を管理するために Capabilities
タブを利用しましょう。
そうすれば Developer のウェブサイトで設定作業を行う必要もなくなります。
手動
CODE_SIGN_IDENTITY
を設定してはいけない- 新しい
General
タブの UI を利用する Capabilities
タブを利用するAutomatic
に移行する
特定の署名付き証明書はアカウントにリンクしているため、それを設定してしまうと誰かがそのプロジェクトを pull した時にビルドできなくなってしまいます。
よってそれはデフォルト値のままにしておきましょう。
従来の Build Settings
タブではなく、新しい General
タブを利用しましょう。
こちらのほうがプロファイルについての情報をより多く確認することができます。
また Entitlements
を管理するために Capabilities
タブを利用しましょう。
こちらは先ほどと同じ理由です。
そして可能であれば自動化できるかを試してみましょう。
最後に
Xcode 8 になってこれまで理解することが難しかった部分が自動化され、とても開発がしやすくなりそうですね。
まだまだ触ってみないとわからない部分が多くありますが、Automatically manage signing
の設定は Apple が推奨しているため、徐々に慣れていきましょう。
リンク
ミレニアム・ファルコン製作日記 #31
31 号 表紙
パーツ
成果
今回の作業は以下の 2 つでした。
- 船体下部フレームを組み立てる
- 組立ジグを拡張する
前回と似たような内容です。
今回で組立ジグが完成し、完全な円となりました。
今後、船体を支えるために使います。
スター・ウォーズ 反乱者たち
みなさん観ましたか?
シーズン 2 の最終話。
個人的には最高でした!
これまで クローン・ウォーズ を見てきたかいがありました。
伏線張りまくりの内容は シーズン 3 に続きます。
エズラが成長してる〜
シーズン 2 から数年後という感じなので、もしかしたら ローグ・ワン にも絡んでくるかもしれないですね。
海外では今年の秋に放送されるそうなので、日本での放送は来年あたりでしょうか?
とても楽しみです。
それではまた次回。
May the Force be with you!