AIR for iOSで作成したアプリをApplication Loaderでアップロードするトラブルシューティング。
環境: OS10.7.5, FlashCS6, AIR4.0.0.1619, Application Loaderでアップロード
<問題1>
ERROR ITMS-9000: "This bundle is invalid. New apps and app updates submitted to the App Store must be built with Xcode 5 and iOS 7 SDK." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)
原因:
AIR for iOSの未対応によるエラー。
解決:
以下から対応済みのAIRパッケージ(4.0.0.1619以降)をダウンロード・インストールし、パブリッシュし直す。
http://labsdownload.adobe.com/pub/labs/flashruntimes/air/air4-0_sdk_mac.tbz2
参考:http://stackoverflow.com/questions/20756582/is-adobe-air-getting-restricted-by-xcode-5
<問題2>
ERROR ITMS-9000: "This bundle is invalid. The file is not a valid application bundle." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)
原因:
バンドルが必須となった
スプラッシュ画像とアイコン画像が含まれていないことによるエラー。
スプラッシュ画像:
Default-568h@2x.png,
Default@2x.png,
Default.png
アイコン画像:
Icon-70@2x.png
Icon-70.png
Icon-60@2x.png
解決:
以下の手順で修正を行う
1.iOS7必須画像を用意
Default.png
Default@2x.png
Default-568h@2x.pngIcon-60@2x.png
Icon-76.png
Icon-76@2x.png
2.ipaファイルの拡張子をzipに変更し、解凍
(Payload/アプリ名.appファイルができる)
3.ターミナルでPayloadフォルダのあるフォルダへ移動
4.以下のコマンドで現在のentitlementを取得
codesign -d --entitlements - PayLoad/アプリ名.app
5.上記の結果のうち、から
までをコピーしてテキスト書類へペースト、entitlements.plistというファイル名で保存する
6.以下のコマンドで「アプリ名.app」コンテンツ内の証明書を削除
rm -r "Payload/アプリ名.app/_CodeSignature" "アプリ名.app/CodeResources" 2> /dev/null | true
7.iOS7必須画像を「アプリ名.app」コンテンツ内直下へコピー
8.「アプリ名.app」コンテンツ内のinfo.plistを開き、
iconsに、iOS7必須画像の項目を追加し保存、閉じる
9.以下のコマンドで、codesign_allocateコマンドのパスを通す
(XCodeのインストール先が違う場合は必要に応じて変更)
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
10.以下のコマンドで再署名
codesign -f -v -s "iPhone Distribution: *XXXXXXXX (*NNNNNNNN)" --resource-rules Payload/アプリ名.app/ResourceRules.plist --entitlements entitlements.plist Payload/アプリ名.app
*XXXXXXXXはプロビジョニングファイルを作成した際の認証名
*NNNNNNNNはプロビジョニングファイルを作成した際の認証番号
11.Payloadフォルダを再度zip圧縮後、拡張子をipaに変更
12.iTunes StoreへApplication Loaderを使ってアップロード
参考:https://discussionsjapan.apple.com/message/100814182
0 件のコメント:
コメントを投稿