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


91

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

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

warning_xcode

私のアーキテクチャは次のとおりなので、理由がわかりません:

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

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

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

私はlib route-meを使用しており、同じアーキテクチャ設定を設定しています。


私たちにもこの問題があります。:(
Azik Abdullah 2014

また昨日から?
Tim Autin、2014年

1)変更後、XcodeのDerivedDataをクリアしてみてください。2)おそらく古い外部API、SDK、フレームワークなどを使用していますか
TonyMkenu 2014年

@ティムこれをなんとか修正しましたか?その解決策を投稿していただけますか?
user2056563 14

こんにちは、申し訳ありません。解決策が見つからなかったため、このプロジェクトに取り組んでいません。今のところそれは単なる警告なので、アプリを送信できました。
Tim Autin、2014

回答:


106

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

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

このような:

ここに画像の説明を入力してください

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

2
あなたの答えをありがとう、しかし私の質問で述べたように、私はすでにそれを試しました、そしてプロジェクトはこの設定でコンパイルされません:/
Tim Autin

3
@ティム、はい、私もarmv7 and arm64Architechturesにいました。それでも、アプリのサブミッションを検証しているときに、64ビットサポートがないという警告が表示されます。
Azik Abdullah 2014

@NAZIK両方の行(アーキテクチャと有効なアーキテクチャ)にarm64がありますか?私は同じエラーがあり、これが解決策でした
TonyMkenu 2014年

@Timは、64ビットをサポートしている場合はDerivedDataをクリーンアップし、最新の外部フレームワークまたはSDKをチェックしようとします
TonyMkenu

3
また、最終ビルドをアーカイブするときは、デバイスが接続されていないことを確認してください。@powertoold回答怒鳴る(参照stackoverflow.com/a/26848865/1715004
フィリペ・ボルヘス

68

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

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


4
脱帽!:Dあなたは私の時間を節約しました
Vaibhav Limbani '11 / 11/15

1
大きな助け!! これで多くの時間を節約できました。古いアプリをアップグレードするための良いヒント。
ハリーヤン

ビルド設定Build Active Architecture Onlyをに変更すれば、64ビット以外のデバイスを接続したままにできると思いますNo。これにより、接続されているデバイスに関係なく、xcodeは64ビットバイナリをビルドします。
jxmallett 2015

3
@jxmallettのほかの答えでは、必ずあなたのスキームの設定アーカイブをするリリースに設定されていることを確認Build Active Architectureに設定されていますNoアーカイブスキームの設定
KarenAnne

1
参考までに、これを機能させるには、デバイスを取り外し、シミュレータに切り替えてから、「iOSデバイス」に戻す必要がありました。
nwkeeley

37

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

私がしたこと:

  • プロジェクト(ターゲット)構成に行った
  • 型付き(それは自動的にターゲットとスキーマに反映されます有効なアーキテクチャで「arm64を」

クリーン/ビルド後、floatからCGFloatへの変換が不適切であるなどの警告が表示されるため、設定が適用されていることは明らかです。

検証警告も消えました!

ここに画像の説明を入力してください


1
>「標準」と表示されていても「有効なアーキテクチャ」には反映されていませんこれが私にとってのポイントでした。どうも!
Romain、

1
他の人を助けるために、私はプロジェクトとターゲットの両方を変更して働かなければなりませんでした
djburdick

@djburdickありがとう。他に何もしなかったとき、それは私のために働きました。
Dave Chambers

27

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


5

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

建物の設定:

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

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

  1. iPhoneを接続した状態でアプリをクリーンアップしてビルドする
  2. iPhoneを取り外し、上部のバーが「iOSデバイス」にあるかどうかを確認します
  3. アーカイブ
  4. 検証して送信

@Timuçin。返信が遅くなってすみません、あなたは正しいです:armv7 armv7s arm64。
Leonel Folmer、2015年


2

さて、これは非常識でした。私はすべての答えを試しました。しかし、それが有効なアーキテクチャのarm64armv7armv7s有効なアーキテクチャに配置したときにのみ機能しました。

PS: xcode version : 7.2


1
うん。その後、デバイスを接続した後にのみ、実際のエラーログが表示されました。次に、非推奨で修正が必要なコード行(赤)と、RSA libに関する問題がいくつか表示されました。
maxweber

1

私は変更することで問題を解決しました、

アーキテクチャ:arm7、arm64

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

アクティブなアーキテクチャのみを構築する:はい


1

私はイメージとして構成によって成功を提出しました: ここに画像の説明を入力してください

(実機でアーカイブ)


1
リリースモードをnoに設定する必要があります
ZYiOS

1

すべての警告を取り除きました。すべてを何度も繰り返しました。上記の1つの単語の答えが見つかりました。

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

私のiPadは64ビットではありません。Build Active ArchitectureにNOを入力すると、私の提出は成功しました!


0

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

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

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


あなたは本当に5.1.1を意味しますか?5.1は十分最近ではありませんか?
Dirk

久しぶりです。私はこれの論理を知りませんし、覚えていません。手順を実行するだけで、何かが適切な場所に戻る場合があります。言及されているアーキテクチャとすべてのページをいじる。
user1122069

0

[アクティブアーキテクチャの構築]オプションをオンにしてください。NOに設定します。わたしにはできる。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.