[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 で同様の報告がされている。