iOSアプリをApplication Loaderで申請した際のエラーについて

表題の件で、以下のエラーが表示され、困っています。

ユーザがアップロードしたファイル

上記画像のテキスト:

Apple's web service operation was not successful

Unable to authenticate the package: xxxxxxx.itmsp

ERROR ITMS-9000: "This bundle is invalid. The file is not a valid application bundle." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)


環境:

OS X 10.8.5


経緯の詳細:

Adobe FlashCC AIR 3.9.0.1030 を使い、ipaファイルをパブリッシュ


…パブリッシュしたipaファイルを以下のように編集

>ipa>zip>appの内容表示

>ターミナルで署名を削除

>iOS7用のアイコン追加、info.plistにアイコン情報追加

>ターミナルで再度署名

>再度zip>ipaへ

>ApplicationLoaderで申請


iOS7用アイコンを追加し「iOS用のアイコンがない」とのエラーは表示されなくなりましたが、

上記のエラーをどう解決してよいかわかりません。

Distribution用の証明書(p12)やプロビジョニングプロファイルは作成し、それを使ってFlashCC AIRでパブリッシュしています。


解決方法をご存知の方、他に同じように困っている方、いらっしゃらないでしょうか?

ご教示のほどお願いいたします。

OS X Mountain Lion (10.8.5), iOS7

投稿日 2013/10/27 07:32

返信
返信: 12

2013/11/15 03:34 Katsu123 への返信

自己解決しました。


…パブリッシュしたipaファイルを以下のように編集

>ipa>zip>appの内容表示

>ターミナルで署名を削除

>iOS7用のアイコン追加、info.plistにアイコン情報追加

>ターミナルで再度署名

>再度zip>ipaへ <= ここでターミナルのコマンドで圧縮するとダメ。詳細は以下のとおり。

>ApplicationLoaderで申請


詳細:

Finder上で「PayLoad」を右クリック>圧縮>拡張子を「.ipa」へ


これで問題なくApplication Loaderで送信完了。

無事、アプリのステータスが「Waiting For Review」になりました。


ちなみにターミナルで再署名するときにエラーがでることがあります。

そのときは以下のコマンドを実行後、再度署名してみてください。

署名するときにパスワードが求められたら成功です。


export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"


上記の内容で重要なのは「codesign_allocate」のパスを指定してあげることです。

人によってパスは変わってくるので、ご自分のMacで確認してみてください。

Finder>アプリケーション>Xcodeを右クリック>パッケージの内容を表示>...「codesign_allocate」を探す

>右クリックで情報を見る>パスが表示されているのでコピペ

でOKです。

2013/11/16 21:35 Katsu123 への返信

iOS7にAdobeFlashCC AIR3.9がまだ完全に対応していないみたいで、私も同じように

Application Loader送信でうまく行かなくて困っていました。

偶然、このコミュニティで Katsu123さんのコメントを見つけて、「渡りに舟」という思いで挑戦しています。

しかし、私はターミナル初心者で「>ターミナルで署名を削除」「>ターミナルで再度署名」のやり方がよくわかりません。どうかご教示頂けないでしょうか?

さらに、「Non-PIE Binary」の問題はありませんでしたか? AIR 3.9.0.1030で解決されているのでしょうか?

2013/11/18 04:09 manphoto への返信

manphotoさん、こんにちは。

私もMac経験が浅く、悪戦苦闘しながら、なんとかアプリを無事公開できました。

私のやり方でよければ、試してみてください。

(2013.11.10 Mac OS X 10.8.5使用 FlashCC AIR 3.9.0.1030 Beta)





まず、

今回の事象ですが「AIR 3.9.0.1030」でも解決されていないと思います。

私はその後「AIR 3.9.0.1200 Beta」でパブリッシュして試しましたがダメでした。



ちなみに、AIR Beta版が下のサイトにあります。

http://labs.adobe.com/downloads/air.html



今みると、「AIR 4 Beta」になっていますね。。。

これを入れたら案外、解決できるかも…(ただ、Beta版なので自己責任になりますが)。





それと、

私の場合は「Non-PIE Binary」の問題はありませんでした。





では、本題に入ります、が、

結構な長文になってしまいました。既にご存知のこともあるかと思いますが、ご容赦ください。

それでは、よろしくお願いいたします。





全体の流れ

1、Flashでアプリをパブリッシュ

2、下準備・アプリファイルを解凍

3、アプリの署名を表示・取得

4、署名を削除

5、アイコン画像ファイルを加える

6、アイコン画像ファイル名をinfo.plistに加える

7、再署名

8、アプリファイルを圧縮

9、Application Loaderで送信



以下の説明で使うアプリ

アプリ名:おためし

ipaファイル:otameshi.ipa





1、Flashでアプリをパブリッシュ

まず、Flashでアプリを、デプロイタイプ「Apple App Store」でパブリッシュ。

このとき、「パブリッシュ」ボタンを押す前に、2つのファイルを加えます。

Default-568h@2x.png <- 4インチ画面用アプリ起動画面(640x1136の画像ファイル)

Default@2x.png <- 3.5インチ画面用アプリ起動画面(640x960の画像ファイル)

画像の内容は何でもよいかと思います(私は「Loding」という画像にしました)。

これらのファイルを入れておかないと、署名できてもApplication Loaderではじかれます。



さて、ipaファイルができました。

ここではipaファイルを仮に「otameshi.ipa」とします。





2、下準備・アプリファイルを解凍

そして、ターミナルを使いやすくするため、下準備をします。

デスクトップにフォルダを作ります(半角英数字の方がいいでしょう)。

この名前のフォルダを仮に「ver100」とします。



このフォルダ「ver100」にアプリ「otameshi.ipa」ファイルをコピーします。

「otameshi.ipa」を右クリック -> 名前の変更で拡張子を「ipa」から「zip」へ変更します。

「otameshi.zip」をダブルクリックで解凍すると「Payload」というフォルダができます。

ここで「otameshi.zip」は削除しましょう(「Payload」を後で再度zip化するときに邪魔になるので)。



「Payload」フォルダをの中に、侵入禁止マークアイコンつきのファイルがあります。

ここではそのファイルを「おためし」とします。

「おためし」を右クリック -> パッケージの内容を表示 をクリック ->内容が表示されます。



ここで、後の作業でこんがらないように、「Finder」をもう一つ出します。

これには「ver100」フォルダの中身を表示させます。



そして、さらにもう一つ、iOS7用のアイコンがある場所を「Finder」で表示させます。

これで、「Finder」が画面上に3つあることになります。

アイコンは3つ作っておきます(iPhone用アプリのみなら1つでいいのですが折角なのでiPad用も作りましょう)。

Icon-60@2x.png <- iPhone用(120x120サイズ)

Icon-76.png <- iPad用(76x76サイズ)

Icon-76@2x.png <- iPad用(152x152サイズ)



それでは、ターミナルを起動します。



まずはディレクトリを移動します。「cd ディレクトリ名」で移動できます。

デスクトップに移動したいので、

cd Desktop

と入力してreturnキーを押してください(大文字小文字に注意してください)。

カーソルの左側に、Desktopの文字が出てきたかと思います。

そして、さらに、

cd ver100

と入力してreturnキーを押下。

これでフォルダ「ver100」の中に移動したことになります。





3、アプリの署名を表示・取得

そして、下のコードを入力(もちろんコピペでOK。ファイル名は変えてくださいね)。

私はテキストファイルによく使うコードを貼付けて保存しています。



codesign -d --entitlements - PayLoad/おためし.app



そうすると、数行にわたって文字が表示されます。

「??qqm<?xml version="1.0"〜」の「<?xml」のはじめから

「〜</plist>〜」の「</plist>」の終わりまで選択コピー。

テキストエディットを起動。

メニューバーの「フォーマット」を選び、「標準テキスト」を選びます。

テキストエディットにペースト。下の名前で保存。保存場所は「ver100」直下にしてください。

「entitlements.plist」





4、署名を削除

そして、以下のコードで署名を外します。



rm -r "Payload/おためし.app/_CodeSignature" "おためし.app/CodeResources" 2> /dev/null | true



パッケージの内容が表示されている「Finder」から「_CodeSignature」が削除されます。





5、アイコン画像ファイルを加える

署名削除後、Icon画像ファイルを3つ、パッケージの内容が表示されている「Finder」へコピーします(「おためし」直下にコピーしないとダメ)。





6、アイコン画像ファイル名をinfo.plistに加える

「Info.plist」をダブルクリックで開きます。

そのファイルを開くと、「Icon files」と書かれた行があります。そこをクリックすると、

「+」「-」のマークが出ますので、「+」を押して、加えたアイコンのファイル名を一つずつ追加してください。

Icon-76@2x.png、Icon-76.png、Icon-60@2x.pngの順で追加するとすっきりします。

赤xで「info.plist」を閉じます(追加したとき既に保存は完了します)。



アイコン画像ファイルがある階層(「おためし」直下)に、

Default-568h@2x.png、Default@2x.png

があるか確認してください。なければ、アイコン画像ファイルと同じように「おためし」直下に移動かコピーしてください。





7、再署名

これらの作業が終わりましたら、再署名です。

ただ、私の環境の場合、このまま署名するとエラーになってしまいました。

(ちなみに私は、Mountain Lion 10.8.5を使っています)

なので、再署名前に下のコマンドを実行してください。これは、私の「自己解決しました〜」で書いた内容と一緒です。



export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"



大事なのは、ファイル「codesign_allocate」のパスを入力してあげることです。

人によってはこのファイルの場所が異なってくるので、パスを確認してください。

確認方法は、Finder -> アプリケーション -> Xcode -> パッケージの内容を表示から見つけてください。

見つけたら、右クルック ->情報を見る でパスが表示されるのでコピペするなりして、上のコードを変えて実行してください。



そして、再署名します。下のコードを実行してください。



codesign -f -v -s "iPhone Distribution: たぶんあなたの名前か任意の名前 (配布用証明書番号)" --resource-rules Payload/おためし.app/ResourceRules.plist --entitlements entitlements.plist Payload/おためし.app



コードの中に最初の方で取得・作成した「entitlements.plist」があることに気づかれたと思います。

そして、コードにある「たぶんあなたの名前か任意の名前(配布用証明書番号)」という所に入れる文字ですが、

「キーチェーンアクセス」から証明書をダブルクリックすると確認できます。

配布用証明書の名前と番号に書き換えてください。



コードを実行するとパスワードを求められるかと思います。パスワードを入力して先へ進んでください。

パスワードを求められれば、ほぼ再署名成功と思ってよいでしょう。

パッケージの内容が表示されている「Finder」には、フォルダ「_CodeSignature」が再び現れたかと思います。



そして、再度、一番最初に実行したコード、



codesign -d --entitlements - PayLoad/おためし.app



を実行してみましょう。最初に実行したときと同じ文字がでてきたでしょうか?

そうであれば署名成功です。



ターミナルを使うのはここまでです。





8、アプリファイルを圧縮

「ver100」の中身が表示されている「Finder」に戻ります。

「Payload」を右クリック、圧縮します。

「Payload.zip」になってしまっているので、名前と拡張子を「otameshi.ipa」に変更します。



これで作業は終了です。

署名後、ファイル内容をいじったら駄目ですよ〜。





9、Application Loaderで送信

Application Laoderでこのipaファイルを送信してみましょう。


最後の注意点ですが、デスクトップ -> ver100 の中にあるipaファイルを送信してください。

私は変更前のコピー元のファイルを送ってしまい「アレ?」となってしまいました。笑

2013/11/19 01:46 Katsu123 への返信

Katsu123様 こんにちは

ご教示頂いた通りに作業して、只今 Application Laoderで ipaファイルを送信できました。

感激しました。ありがとうございました。



ただ、1度目は送信には成功しましたが、残念メールが届きました。

New iPhone apps and app updates submitted targeting iOS 6 and above must support the 4-inch display on iPhone 5 and must include a launch image with the -568h size modifier immediately following the <basename> portion of the launch image's filename.

(どうも Default-568h.png のファイルを加えなければダメですよみたいで)



Default-568h.png を加えて2度目やってみたらステータスは見事 Waiting For Review になりました。

あとは Ready for Sale になることを祈るだけです。



独学で私も悪戦苦闘の日々ですが、今後とも何卒よろしくお願いします。本当にありがとうございました。

2013/11/19 03:39 manphoto への返信

manphotoさん、こんにちは


無事送信できWaiting For Reviewになってよかったです!

Default-568h.pngが必要なんですねぇ次回送信の参考にさせていただきます。

情報ありがとうございました。こちらこそ、今後ともよろしくお願いいたしますね。


それでは、無事Ready for Saleになることを祈っております。

2013/11/21 03:01 Katsu123 への返信

Katsu123さん、こんにちは


私も全く同じ状況で途方に暮れていた所、こちらに辿り着きました。

こちらの投稿の通りの手順を行わさせて頂いた所、問題なく解決しました。

本当にありがとうございます!


しかし同様に困っている方は多いと思われますので、早急にこの点だけでも
Adobeには修正して欲しいと思います。

2013/11/26 19:11 Katsu123 への返信

皆様こんにちは


私も全く同じ状況で悩まされていてこちらのページに辿り着きました。

いきなりApplication Loaderでアップロードするのは恐かったため

まずはDevelopmentで署名して試しました。iOS7端末でアプリアイコンを

確認した所、120pxlの物に変わっておらず、114pxlのままでした。

(検証用アプリなのでIcon@2x.pngとIcon-60@2x.pngは見た目が全く異なる物を用意)


Katsu123様の手順と変更した所は、再署名する所で

codesign -f -v -s "iPhone Developer: XXXXXXXX" --resource-rules Payload/おためし.app/ResourceRules.plist --entitlements entitlements.plist Payload/おためし.app

のように、Developerの証明書を指定したくらいです。


あとはinfo.plistを開いた時に、「Icon files」の行が見あたらなかったため

自分でAdd Rowを実行して追加しました。このあたりも私のやり方がどこかで

誤っているのかもしれません。


Developmentの署名でアイコンが120pxlのものに変わったことが確認できた方いらっしゃいますでしょうか。

他に、何か注意すべき点等ありましたらアドバイス頂けますと嬉しいです。


よろしくお願いします。


Windows7, FlashCC, AIR 3.9.0.1030 for iOS

Mac OS X 10.9


このメッセージは次により編集されています:fuchi_cw

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

iOSアプリをApplication Loaderで申請した際のエラーについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。