LoginSignup
3
3

More than 5 years have passed since last update.

エラー「Invalid Signature」「Signing failed」があらわれた!

Last updated at Posted at 2016-04-13

iTunes ConnectにアップロードするとInvalid Signatureとなる

Adobe AIR 21 SDKで開発したアプリをアップロードしたところ、Invalid Signatureが返ってきました。

既知の問題?

リリースノート | Flash Player® 21、AIR® 21
https://helpx.adobe.com/jp/flash-player/release-note/fp_21_air_21_release_notes.html

[iOS][Win] Windows コンピューター上でパッケージされた IPA を Apple App Store に提出できない。iTunes Connect で「このビルドは無効です」というエラーが発生する。

リリースノートの既知の問題にそれっぽい記載を見つけました。とりあえず原因をこれだと仮定して、Windowsを使わずにMac OS X上でIPAファイルにパッケージングしてみることにします。

パッケージ化に失敗する

Mac OS X上で、AIR SDKのADTコマンドを使用してIPA形式にパッケージ化を試みますが、

Error: Signing failed

というエラーが出て失敗しました。

AppleのDeveloperサイトに行って、有効な証明書とプロビジョニングファイルをダウンロードして使用しても同様に失敗しました。

原因:指定している証明書が無効

Signing failedエラーの原因としては、ADTコマンドに指定している証明書が「無効」と判断されているためのようです。

指定するP12形式の証明書ファイルをダブルクリックしてキーチェーンに登録し、「この証明書は有効です」という表示になるとエラーが発生しなくなりました。また、iTunes Connectへのアップロードも問題ありませんでした。

keychain.png

いろいろと試していたので定かではないですが、Appleの新しいWWDR証明書を入れないと有効にならないかもしれません。

おまけ:versionLabel警告

ADTコマンドでのIPAファイルへのパッケージ化で次の警告が出ました。

Warning: Invalid format specified in <versionLabel> tag. Ignoring its value.

app.xmlのversionLabelに「1.2.3.4」などと書いていると出ます。「1.2.3」のような形式にすると警告が出なくなりました。
Adobeの仕様ではversionNumberは「3 個以下の連結した整数をピリオドで区切っ」たバージョン番号で、versionLabelの方は特に制限なく文字列でバージョンを表現できます。
※AIR 18 SDKからはversionLabelの値は CFBundleShortVersionStringに、versionNumberの値は CFBundleVersionにマップされるようになっています。
Appleの仕様を確認すると、CFBundleShortVersionStringのバージョン番号はピリオド区切りの3つの数字だとあります。

ということで、versionLabelにはApple様の言う通りのバージョン番号(ピリオド区切りの3つの数字)を記入しましょう。

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3