2014年2月14日金曜日

Application Loaderでアップロード時のエラー対処法

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 件のコメント: