iPhoneアプリをAppStoreに申請する時、Apple製のApplicationLoaderというツールを使います。
が、これでUpしようとしたら拒否られまして、まるまる36時間くらいあれこれ悩んだのでグチって書いておく次第。
SDKバージョン3.0です。
まずエラーの内容は
The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate.
というものです。
-
Certificate/Provosioningが間違っている?
結論から言うと最初は確かに間違っていました。Distribution用のProvisioningになってなかったし。
codesign -vvvv hoge.app が問題なく通ったのでやり直してみたところ、エラー変わらず。
Developerアカウントの契約更新が関係している?
確かに最近そういうこともあった。しかし、それだったら1の対処で新しくなってるはず。 -
Certificateのcommon nameが間違っている?
たしかにcodesignコマンドとかは構造の妥当性とかのチェックっぽい感じはするので、内容のチェックを再度徹底的にしてみた(とにかくいろいろ変えてcerを作ってporovision作って…)。
しかしどうにも変わらず。 -
じゃあ何よ?
ということで、こういう時は最も基本的なところに立ち返る必要があるというのが経験上の鉄則。
Developer Program Portal > Distribution > Prepare App をクドクド見直していると…
あれ?アップロード用のzip作るのって、zipコマンドじゃなくて右クリックなの??
もしかしてそれでzipの内容変わっちゃうの?
…アップロード正常終了しました。恐るべし。20年Mac使ってきましたがまさかこんなオチとは…。
ということでまとめますと:
appファイルをAppStoreに申請するときはzipに固めなきゃいけないんだけど、右クリックの方の圧縮でないとダメ~
“zipしろ”と言われたら迷わずコンソールを立ち上げてしまうおのれの頭の固さを呪えというお話でした。