web-dev-qa-db-ja.com

xcode 6.0.1でアプリをアップロードした後、「バイナリはiPhone 5用に最適化されていません」

Xcodeバージョン6.0.1(6A317)でバイナリをアップロードした後、このメールが届きます

バイナリはiPhone 5用に最適化されていません--送信された新しいiPhoneアプリとアプリのアップデートは、iPhone 5の4インチディスプレイをサポートし、UILaunchImageSize値が{320に設定されたUILaunchImagesの下のInfo.plistで参照される起動画像を含む必要があります。 568}。起動画像はPNGファイルで、バンドルの最上位に配置するか、起動画像をローカライズする場合は各.lprojフォルダー内に提供する必要があります。 「 https://developer.Apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages」の「iOSヒューマンインターフェイスガイドライン」を確認して、iPhone 5のサポートとアプリの起動画像の詳細をご覧ください。 .html#// Apple_ref/doc/uid/TP40006556-CH14-SW5 'および' https://developer.Apple.com/library/ios/documentation/にある「iOSアプリプログラミングガイド」 iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#// Apple_ref/doc/uid/TP40007072-CH6-SW12 '。

ここに私のplistファイルがあります:

enter image description here

これが私のXcodeツリーです:

enter image description here

これが私のバンドルルートツリーです:

enter image description here

これが私がこの問題で見つけた唯一のリソースですが、未回答のままです(3日経過)... https://devforums.Apple.com/message/1051948#1051948

18
Benjamin Toueg

私たちは同じ問題に直面し、多くの解決策を試しても解決できませんでした。これは、アプリの送信における一種のバグだと考えています。しかし、起動画像をローカライズしたままにし、送信確認に合格できる回避策を見つけました。

環境:

Xcode 6.1(6A1052c)とiOS 8.1 SDK

前提条件:

「* -info.plist」ファイルに次のプロパティを含めます。

enter image description here

手順:

  1. ターゲットの設定に移動し、標準的なシナリオ(「* -info.plist」の「UILaunchImages」を使用しますが、画像アセットは使用しないローカライズ画像)では、画像のように見えるはずです enter image description here

  2. 画像アセットを使用するように設定を変更します(注:この手順の後、Xcodeは* -info.plistファイルの「UILaunchImages」プロパティを自動的に削除します。最初にプロパティをバックアップしてください。)

  3. "LaunchImage"アセットに移動し(右側の矢印ボタンをクリックできます)、*。lprojフォルダーのいずれかの画像を入力します。 enter image description here

  4. 次に、画像と「Contents.json」ファイルを含む「LaunchImage」フォルダに移動します。 enter image description here

  5. すべての起動[〜#〜] images [〜#〜]を削除しますが、 "Contents.json"(およびそのコンテンツ)ファイルは保持します。

  6. 「Contents.json」を確認してください。以下の画像のようなプロパティが含まれているはずです enter image description here

次の項目を再確認してください:

  • リソースフォルダー(en.lproj、ja.lprojなど)のローカライズされた起動画像

  • * -info.plistには「UILaunchImages」プロパティが含まれています

  • プロジェクト設定では、起動画像に画像アセットを使用します

  • 「LaunchImage」アセットフォルダーの「Contents.json」、およびフォルダーDOES NOTには実際に起動イメージがあります

これで、ローカライズされた起動画像を試して、バイナリをiTunes Connectに送信できます。私たちのアプリでは、回避策は「ローカライズされた起動画像」と「送信成功」で機能しました。

送信チェックのバグを回避するためのトリックになるはずです。

上記の回避策はリソースに変更を加えないため、チェックで画像アセットを使用していると判断される場合を除き、Appleのチェックにはいくつかのバグがあると確信しています。

乾杯!

24
Charlie Hung

より明確にするために:

  1. 起動画像ソースを「起動画像」に変更します(@Charlie Hungの回答の手順1〜3に従います)。

enter image description here

  1. プロジェクトを右クリックして、「Finderに表示」を選択します
  2. フォルダーAssets.xcassetsを見つけて開きます
  3. LaunchImage.launchimageフォルダーを開き、2つの画像をプロジェクト内の.Iprojフォルダーに移動します。 (私はBase.Iprojと呼ばれていました)。

最後に、これをinfo.plistに追加します(テキストエディターで開きます)。

<key>UILaunchImages</key>
  <array>
    <dict>
      <key>UILaunchImageMinimumOSVersion</key>
      <string>7.0</string>
      <key>UILaunchImageName</key>
      <string>iOS7-Default </string>
      <key>UILaunchImageOrientation</key>
      <string>Portrait</string>
      <key>UILaunchImageSize</key>
      <string>{320, 480}</string>
    </dict>
  </array>

これは私がしなければならなかったすべてです。

3
Dan Beaulieu

これも私に起こりました。 iOS6(私が思う)以来、あなたがあなたのアプリをローカライズするならば、あなたはずっと一貫していなければなりません。スクリーンショットに表示されているように、言語として英語、オランダ語、フランス語があります。ローカリゼーションを行うすべての場所でこれらの言語が必要です。文字列ローカリゼーションファイルには、これらのすべての言語が含まれている必要がありますが、それ以上の言語は含まれていません。アプリにAppiRaterライブラリを使用したときにも同じ応答が得られました。 AppiRaterには多くの言語のメッセージがあり、私のアプリは2言語のみにローカライズされています。そのため、必要な2つ以外のすべての文字列ファイルをAppiRaterから削除する必要がありました。それをしたら、すべてがうまくいきました。

つまり、簡単な答えは、サポートする必要のないローカリゼーションファイルをすべて削除し、アプリにないローカリゼーションファイルを追加することです。

乾杯!

danielgindiによる編集

この答えは無関係であるといういくつかの主張にもかかわらず、これは実際に機能します。アプリでBaseのローカリゼーションを使い始めたとき、それは私に起こりました。en.lprojsを含むDefault.pngフォルダにローカライズされたリソースがまだありました。

したがって、使用しているローカリゼーションフォルダーのall[email protected]ファイルがあることを確認するか、またはローカリゼーションを削除します。使用していません。すべてをBase.lprojに移動したところです。これにより、取得しているpngが明確になり、重複がなくなります。

3
raz_c

私の場合、古いアプリを更新していました。寸法320x568の[email protected]という名前のアイコンファイルが見つからないことがわかりました。私は警告を調べてこれを見つけました。ファイルを作成し、他のアイコンファイルと共にプロジェクトに追加しましたが、問題なく動作しました。

それが誰かを助けることを願っています:-)

0
JanB

デプロイメント環境9.3とSwift 2.3で同じエラーが発生しました。私の場合、起動イメージ用のストーリーボード(xib)ファイルがありませんでした。これは必要であり、設定が間違っていましたプロジェクトのターゲット設定については、下の画像リンクを参照してください。

設定の画像

0
Shoaib Bagwan

同じエラーが発生しましたが、私の場合、必要な起動イメージのストーリーボード(xib)ファイルがありませんでした。

「起動XIBまたはストーリーボードファイルを使用して、アプリがiPhone 6 PlusまたはiPhone 6で実行されることを示します。」 ( ここを参照

私はこのチュートリアルに従って作成しました: https://developer.xamarin.com/recipes/ios/general/templates/launchscreen-xib/

トゥロリアルのステップ9については、Info.plistで次のように設定しました。

<key>UILaunchImageFile~iphone</key>
<string>Launch Screen.storyboard</string>

info.plist adding key launch image and string storyboard file

確認のために、アプリを実行すると、起動前に起動画面の画像が表示されるはずです。これを実行した後、アプリをアプリストアにアップロードすることができました。

上記の他の回答で示した手順も重要です。「iOSの以前のバージョンもサポートする必要がある場合は、起動ファイルに加えて静的起動イメージを引き続き提供できます。」 ( ここを参照

お役に立てれば。

0
maledr53

多分これは一部の人にとって便利です:iOS Deployment Target 7.0から8.1以上。

enter image description here

React-native 0.37でビルドされたアプリストアにアプリをアップロードするときにこの問題に遭遇し、デフォルトのiOS Deployment Targetは7.0です。

0
Spark.Bao

チャーリーとダンが推奨することを行い、画像ファイル名にダッシュが含まれていないことを確認してください。私がファイル名を英数字のみに変更するまで、鉱山は機能しませんでした。

0
mixophrygian