【iOS】ERROR ITMS-90085 でApp Store Connectにアップロードできない
久しぶりに詰まったのでメモとして残します。
XCodeでアーカイブしてApp Store Connectにアップロードしようとしたところ、ERROR ITMS-90085: "No architectures in the binary. Lipo failed to detect any architectures in the bundle executable."
というエラーが出ました。
またipaファイルも端末にインストールしようとすると「整合性が取れません」という旨のエラー。
ネット情報も当てはまるものがなく、特にXCode環境を変えたわけでもないので原因の追求に凄く時間がかかりました。。。
結論から言うと「CocoaPodsで未使用のライブラリを導入したままだったこと」「別の問題で導入していたRun scriptが影響していたこと」が原因でした。
※よって私の場合は特殊かもしれません。
"別の問題"とはこちらです。以前にエラーになった際に不要なFrameworkを削除してくれるscriptを導入していました。
https://stackoverflow.com/a/53267826
そしてCocoaPodsのほうは、podfileに導入しようとしたけどやっぱりやめたライブラリのインポートが残ったままでした。
この複合技(?)で、おそらくスクリプトは不要Frameworkの削除を実行したが何らか情報が残ったままでipaファイル作成時に欠損が発生し上記のエラーに繋がっていたようです。リンク時の処理のため、ビルドでもアーカイブでも何のエラーにもなっていませんでした。
解決方法は、podfileから不要なライブラリを削除しただけです。
全容がわかるとそうだよなーってことなんですが、なかなか調べるのに時間もかかってしまいました。少ないと思いますが同じ現象にぶち当たった人のお役に立てば幸いです。