iOSアプリケーションが開発用証明書または配布証明書で署名されているかどうかを知ることができるかどうかを知りたい。iOSアプリが開発証明書または配布証明書で署名されているかどうかを調べるにはどうすればいいですか?
iOSアプリは、バンドルの情報辞書にアクセスすることで、自分自身に関するメタ情報を取得できます。たとえば、辞書からCFBundleVersionキーを読み取ってバージョンを取得できます。証明書情報に署名するのに似たものがありますか?
私が尋ねる理由は、APNSのためです。私のアプリケーションがAPNSデバイストークンをクラウドサーバーに登録するとき、クラウドサーバーは、そのトークンのプッシュメッセージを作成する必要があるかどうかを、AppleのプロダクションAPNSサーバー(「api.push.apple.com」)または開発APNSサーバー"api.development.push.apple.com"
APNSの設定は、署名証明書ではなく、エンタイトルメントに格納されます。あなたは 'codesign'ツールのソースを見たことがありますか? – Mats
私はcodesignツールのソースを見ていませんでした。エンタイトルメントについてのあなたの発言は面白いです。私のプロジェクトには拡張子 ".entitlements"のファイルが含まれていることがわかります。このファイルは、キー "APS Environment"の値が "development"であることを指定します。したがって、アプリケーションからその情報にアクセスすることは、私の問題の解決にもなります。私はスウィフトコードからその情報をプログラムで取得する方法はまだ分かっていませんが、このヒントをお寄せいただきありがとうございます。 –
値は、コード署名ビルドフェーズ中に 'development'または' production'のいずれかに設定されます。これはコード署名証明書とプロビジョニングプロファイルによって異なります。 – Mats