[Adobe AIR] iOS 申請で、ビルドのアップロード時に Invalid Bundle Structure
Posted: | 2014-08-12 |
Category: | AdobeAIR |
Tags: | #AdobeAIR #iOS |
現象
Adobe AIR でビルドした ipa を Application Loader を使用して Itunes Connect にアップロードする際、以下のようなエラーが出る:
ERROR ITMS-9000: "Invalid Bundle Structure" - The binary file '~~~~.app/~~~~' is not permitted. Your app may contain only one executable file. Refer to the Bundle Programming Guide at https://developer.apple.com/library/ios/#documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1 for information on the iOS app bundle structure.
- 組み込んでいる ANE (Adobe Native Extension) 内のバイナリファイルが executable file と見なされ、 「実行可能ファイルは 1 つまでにしろ」と怒られているようだ
- いくつかある ANE のうち 2 つの ANE について、合計 4 ファイルがエラーの対象となった
- 大丈夫な ANE もあるということだ
- 2014 年 7 月に申請したものは、このファイルが含まれていても問題なくアップロードでき、申請も approve されていた。
- このときも Application Loader は同じ Ver. 2.9.1
- つまり最近になって、Apple の Server Side の Validation ロジックが変わった可能性が高い
環境
項目 | バージョン |
Adobe AIR SDK | 14.0 |
Adobe Flex SDK | 4.6.0 |
Application Loader | 2.9.1 |
解決法
- 色々と格闘した結果、機能を落とさずに エラー対象となるファイルを含まない状態の ANE を用意することができたので、 それに差し替えて申請した
- 1 つは実行に必要でなかった .a ファイル(Static Library のファイル)を含めないように ビルド方法を変えることで解決
- 3rd Party 製のものもあったが、これはバージョンをアップデートしてみたら 運良く問題の無い状態になった
参考リンク
Adobe の Forum で同様の報告がされている。