Invalid Signature で App Store に Submit できず

公開日: : 最終更新日:2011/10/30 iPad, iPhone ,

無料版と有料版を同じソースからビルドできるようにしようと思いいろいろ試行錯誤を続けている。
ついにビルドしてXcodeのValidateも通るようになったのだが、実際にSubmitすると、正常にSubmitされたように見えるが、しばらくすると下記のメールが iTunes Connectから送られてきた。

Your recent binary submission to the App Store

Invalid Signature – Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target.

いろいろ手を尽くしてみたが、解決できず。
DevCenterのフォーラムをあさってみたが、この問題で苦しんでいる人はたくさん発見できるのだが、解決方法は見つけられなかった。

てぃーのiPhoneアプリ開発 【申請方法】Invalid Binaryの理由について に様々なチェックすべきポイントが書いてあるが、どれにもあてはまらず。
結局あきらめてiTunes Connect にメールで問い合わせしてみた。果たして原因はつかめるだろうか。

追記 2011-04-22

itunesconnect@apple.com から回答が来ていて、別な問い合わせ先にメールしろとのこと。
確認事項を一通り実施して、そちらにメールしてみた。
Uniform Type Identifiers Overview: Uniform Type Identifier Conceptsへのリンクを示されて、
The name of your application and your Bundle Identifier (in Info.plist) contain only Roman letters, numbers, hypens (“-“) and periods (“.”).
と書かれていたのだが、application name にスペースが使えないと実際困ると思うのだが。
The name of your application がどこのことを示しているのかを知りたいところだ。

追記 2011/04/29 ようやく解決

朝8時にようやく返信が来ていて、まずは TN2250(Technical Note TN2250) を確認せよとのこと。

codesign -dvv myapp.app
codesign -d --entitlements - myapp.app

のように codesign コマンドの使い方を知った。
これで、正しくSubmitできるアプリと、Submit後しばらくするとInvalid Signature のメールが送られてくるアプリとを比較すると、codesign -d –entitlements – myapp.app の出力結果が異なる。
具体的には、問題が起きる方は、

<key>keychain-access-groups</key>
	<array>
		<string>54LJ5L2HW5.*</string>
	</array>

のようになっていた。
これを修正するために、試しに Xcode 3.2.6(2011/04/30 現在の Xcode3系列の最新版) で Entitlements.plist を作成してみたところ、kimadaの日記 – iPhoneアプリ開発グループ にあるような Entitlements.plist ファイルが作成された。
プロジェクト > アクティブターゲットを編集 で、ビルドタブの Code Signing の コード署名権限 にこの Entitlements.plist ファイルを指定した後に Build してみると、codesign -d –entitlements – myapp.app の結果が、

	<key>keychain-access-groups</key>
	<array>
		<string>54LJ5L2HW5.jp.ne.sakura.token.gosenfu01</string>
	</array>

になった。この状態で Submit してみたところ、ついに Submit に成功し、Waiting for Review のメールが送られてきた!
結局、1週間以上にわたりかなりいろいろと試したが、最終的には Entitlements.plist ファイルを作成して、コード署名権限に設定したことで問題が解決したようだ。

このInvalid Signature 問題が起きたときは、codesign コマンドを使ってみると解決の糸口がつかめるかも知れない。
解決まで長かった…

2011/10/30 追記

久しぶりに新規アプリをSubmitしてみたところ、問題なくSubmitされたが後からエラーメールが送られてきた。

Dear Developer,

We have discovered one or more issues with your recent binary submission for “application name”. Before your app can be reviewed, the following issues must be corrected:

Invalid Code Signing Entitlements – The signature for your app bundle contains entitlement values that are not supported. For the com.apple.developer.ubiquity-container-identifiers entitlement, the first value in the array must consist of the prefix provided by Apple in the provisioning profile followed by a bundle identifier suffix. The bundle identifier must match the bundle identifier for one of your apps or another app that you are permitted to use as the iCloud container identifier.

Specifically, value “FR3FXXXXXX.*” for key “com.apple.developer.ubiquity-container-identifiers” in XXXX is not supported.

Invalid Code Signing Entitlements – The signature for your app bundle contains entitlement values that are not supported.

Specifically, value “FR3FXXXXXX.*” for key “com.apple.developer.ubiquity-kvstore-identifier” in XXXX is not supported.

Once these issues have been corrected, go to the Version Details page and click Ready to Upload Binary. Continue through the submission process until the app status is Waiting for Upload and then use Application Loader to upload the corrected binary.

これはまたあの悪夢の再来か? と思って調べ始めたところ、何とiCloudと関係があるらしい。
App Submission Error – Invalid binary – Invalid Code Signing Error – Stack Overflow
App IDの設定のところで、iCloud の設定があるのでそこをDisableして Provisioning Profileを作成すれば良いとのこと。
これで Invalid Code Signing Entitlements は回避できたが、今度は Submit 後、Invalid Signature のエラーが返ってきた。
Clean All して、Releaseの Code Sign を再度指定してArchiveしてSubmitしたところ、また失敗。
結局、Edit Scheme の Archive の設定が AdHoc になっていたという落ちであったようだ。
それくらは Xcodeの Validate あたりで発見して欲しいところだが。

関連記事

iOS9から[NSLocale preferredLanguages] の出力が変更された

以前ツイートした内容を自分で忘れていて検索する羽目になったのでブログにも書いておく。iOS9から、

記事を読む

no image

iPhoneアプリ おんぷちゃんアップデート 2010年6月

ユーザレビューなどで複数の方から要望があった機能に対応してみました。 以下、その説明です。 これま

記事を読む

no image

これは便利 iPhoneプログラミングUIKit詳解リファレンス

Amazonでの評判も良いし、書店で立ち読みしていくつか有用な情報を見つけたので、iPhoneプログ

記事を読む

no image

iPhone SDK勉強会

iPhone 開発の勉強会をしよう、ということになったので、それ向けにメモを書いてみる。相手はいろい

記事を読む

MacFan 2019年11月号購入

毎年この時期は必ず Mac雑誌を買っている。発売されたばかりのiPhone情報が特集されるためだ。

記事を読む

no image

iOS4プログラミングブック の感想など。

前評判によるとかなりの力作のようなので、久しぶりにiOSの本を買ってみた。 ソースコードはすでに発売

記事を読む

no image

有料iPhoneアプリを売る手続き

AppStoreで無料アプリを配布している分には必要ない手続きだが、有料アプリを売ろうと思うといろい

記事を読む

no image

[iPhone SDK] ネットワーク接続中を示すぐるぐるの表示

いつも忘れて検索してしまうので自分のブログにメモ。 iPhoneのインジケーターバー(?)にぐるぐ

記事を読む

no image

Corona SDK 調査6日目

なかなか Corona SDK自体の調査まで進めないCorona SDK調査6日目。 平日はさすがに

記事を読む

no image

UITableViewCell セルの再利用の問題

設定画面に他の自作アプリ情報を加えたりしようと思い、UITableViewController で1

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Bluetooth MIDIキーボード KORG microKEY Airを買ってみた

以前から気になっていた、Bluetooth MIDI キーボード K

Ergohuman のオフィスチェアが気に入っている

コロナウィルスの影響で自宅勤務が数週間続いている。自分は自宅で開発環

AWS IoTを利用してクラウド連携機能を追加してみた

GWに自宅待機でまとまった時間が確保できたので、AWS Io

おんぷちゃん for iPad にオンライン授業サポート機能を追加

コロナウィルスの影響で、うちの子どもたちのピアノレッ

Mac Fan 2020年 6月号

長女のiPhone 6 の画面がバキバキに割れているので、i

→もっと見る

PAGE TOP ↑