web-dev-qa-db-ja.com

iOSアプリの提出:64ビットサポートがありません

昨日、レビューのためにアプリを問題なく送信しました。それから私はやるべき修正がほとんどないことに気づき(マップの最大ズームレベルを19から18に変更します)、iTunes Connectからバイナリを削除し、再送信を試みました。

今、私はこの警告を受けています:

warning_xcode

私のアーキテクチャがそうであるように、私は理由を理解していません:

  • アーキテクチャ:armv7
  • 有効なアーキテクチャ:armv6、armv7、armv7s、arm64

アプリはシミュレータで正常に実行されます。警告で推奨されている標準アーキテクチャ(armv7、arm64)を使用しようとすると、アプリはビルドされず、次のようになります:

  • アーキテクチャx86_64の未定義のシンボル
  • ld:アーキテクチャx86_64のシンボルが見つかりません

Lib route-meを使用していますが、同じアーキテクチャ設定を設定しています。

92
Tim Autin

次のように「Standard architectures」を使用します。

  • アーキテクチャ:「標準アーキテクチャ」arm7、arm64
  • 有効なアーキテクチャ: "arm64"、armv7 ...
  • アクティブアーキテクチャのみのビルド-NO(特に...接続されたデバイスがarm64互換でない場合)

このような:

enter image description here

  • さらに、特に32ビットバージョンの場合、Macからiphoneとipadを取り外すことが役立つことが知られています。
106
TonyMkenu

正しいアーキテクチャを確認した後、App Storeに提出する最終ビルドをアーカイブするときに、デバイスがコンピューターに接続されていないことを確認してください。

この警告が表示される理由は、接続したデバイスがおそらくarm64と互換性がないためです。

68
powertoold

トニーが書いたように、両方の行にこれらの設定を含めることが重要です。私の(そして明らかにあなたの)プロジェクトは、arm64が標準に追加される前に作成されたため、標準として示されているであっても、「有効なアーキテクチャ」に反映されません。

私がしたこと:

  • プロジェクト(ターゲット)構成に行った
  • Typed Valid Architecturesの "arm64"(ターゲットとスキーマに自動的に反映されます)

クリーン/ビルド後、フロートからCGFloatへの不適切な変換などに関する警告が表示されることもあるため、設定は明らかに適用されます。

検証警告も消えました!

enter image description here

37
Nick Entin

Macから物理デバイスを取り外します。 XCode on deviceリストでiOS Deviceを選択し、アーカイブを再度作成します。それは私のために働いた。

27
hrast

今日、私は次の手順でその問題を解決します。

ビルド設定:

アーキテクチャ:標準アーキテクチャ(arm7、arm64)-$(Arch_STANDARD)

有効なアーキテクチャ: armv7 armv7s arm64

  1. IPhoneを接続した状態でアプリをきれいにしてビルドする
  2. 「iOSデバイス」にある場合は、iPhoneを切断し、トップバーを確認します
  3. アーカイブ
  4. 検証と送信
5
Leonel Folmer

最新のxCodeバージョンを使用して新しいプロジェクトを作成し、ビルド設定を見つけます。最新バージョンを使用して作成された新しいプロジェクトは、デフォルトで64をサポートしています。

enter image description here

3
Kirit Vaghela

さて、これは非常識でした。 every single answerを試しました。ただし、Valid Architecturesでarm64およびarmv7の前にarmv7sを配置した場合にのみ機能しました。

追伸:xcode version : 7.2

2
prad

変更して問題を解決しました

アーキテクチャ:arm7、arm64

有効なアーキテクチャ:arm7、arm64

アクティブなアーキテクチャのみをビルドする:はい

1
user3616535

IOS開発ターゲットを少なくとも5.1.1に変更するか、標準アーキテクチャ設定を削除して再適用します。 arm64がビルドターゲットと互換性がないという警告が表示される場合があります。概要ページで、ビルドとターゲットの両方の「デプロイメントターゲット」設定を確認します。私の場合、ターゲットは6.0でしたが、プロジェクトは5.0でした。

また、ターゲットとプロジェクトの両方で「有効なアーキテクチャ」を確認してください。プロジェクトには適切な設定がありましたが、ターゲットにはありませんでした。この後、それは私のために働いた。

ボックスの左上にある概要ページでプロジェクト/ターゲットを切り替えます。

0
user1122069

すべての警告を取り除きました。すべてを何度も繰り返した。上記の1つのWordの回答を見つけました。

「アクティブなアーキテクチャのみをビルド-いいえ(特に...接続されたデバイスがarm64互換でない場合)」

私のiPadは64ビットではありません。 Build Active ArchitectureにNOを入力すると、私の投稿は機能しました!

0
Mountain Man

私はイメージとして設定によって成功を提出しました: enter image description here

(実デバイスでアーカイブ済み)

0
Bkillnest

Build Active Architectureオプションをチェックしてください。 NOに設定します。わたしにはできる。

0
PRITAM SATPUTE