17

最初の iOS アプリを更新するとき、それらを検証する際に 2 つの問題があります。

*iPhone/iPod Touch:application executable is missing a required architecture. 
At least one of the following architecture(s) must be present: armv7

*Unable to extract entitlements from application: (null)

Info.plist とビルド設定はすべてデフォルトです。変更したのは、コード署名 ID のデバッグと、アプリ ID とバンドル ID が同じであるディストリビューション プロビジョニング プロファイルへのリリースだけです。

4

13 に答える 13

76

これは、iPhone 5 を接続してアーカイブを作成したときに起こりました。iPhone を取り外してアーカイブを作成したところ、うまくいきました。

于 2013-01-04T21:33:28.507 に答える
23

プロジェクトとターゲット設定の両方で「Build Active Architectures」が「No」に設定されていることを確認し、ビルド構成が設定されている場合でも、「警告:iPhoneアプリにはarmv6アーキテクチャを含める必要があります」という回答があります

于 2013-03-28T11:29:41.080 に答える
2

iPad のプラグを抜くとすぐに警告が消え、コンパイルしてアプリ ストアにアップロードできるようになりました。

于 2013-03-27T02:16:04.710 に答える
2

すべてのターゲット、ライブラリ、およびフレームワークに対して、[Build Active Architecture Only] を NO に設定してください。

于 2013-01-25T16:04:58.380 に答える
2

armv7 の後にカンマがないことを確認してください。

ターゲットの設定でアーキテクチャを設定すると、次のように書きました。

armv7, armv7s

問題ないように見えましたが、「その他」をクリックして編集すると、次のように設定されていることに気付きました。

armv7,
armv7s

コンマ (,) を削除すると問題が解決しました。

于 2014-04-23T15:04:27.057 に答える
1

アプリ ストアに提出しようとしていた (iPad のみの) アプリを検証しようとすると、次の 3 つのエラーが発生しました。

1. iPad: アプリケーションの実行可能ファイルに必要なアーキテクチャがありません。次のアーキテクチャの少なくとも 1 つが存在する必要があります: armv7。

実際、すべてのアーキテクチャ設定に armv7 と armv7s があり、「アクティブなアーキテクチャのみをビルド」を「いいえ」に設定していました。

私にとってそれを修正したのは、このリストからarmv7を手動で削除し、armv7だけを残すことでした. その後、このエラーは消えました。

「アーキテクチャの少なくとも 1 つが armv7 でなければならない」については以上です。

2. アプリケーションがコードサインの検証に失敗しました。署名が無効であったか、許可されていない権限が含まれているか、iPhone 配布証明書で署名されていませんでした。

は ?以前は、社内でのアドホック配布用のエンタープライズ ライセンスを使用して、この iPad アプリを作成していました。今、開発者ライセンスを使用してビルドしようとしていたので、App Store にデプロイできました。

この問題を解決するには、次のことを行う必要がありました。

  • 左側のウィンドウで私のプロジェクトをクリックします

  • 中央のウィンドウでプロジェクト名 ([ターゲット] の下) を選択します。

  • ビルド設定タブを選択します

  • 行タブのすぐ下で、「基本」オプションと「結合」オプションを選択します。

  • ここで、Code-Signing Identity の下で、Enterprise アカウントではなく、そのプロジェクト専用の Apple Developer アカウントに関連するコード署名を選択したことを確認する必要がありました。

3. アプリケーションから権限を抽出できません: (null)

は ?!

アプリケーションに名前が付いていた古き良き時代を覚えていますか? XCode では、アプリにバンドル名、製品名、実行可能ファイル名、およびバンドル表示名があります。

何人かの StackOverflow ユーザーがこれに注目し、違いを説明するために Apple のドキュメントの方向性を示しました...しかし、それで頑張ってください。

私にとって、この問題を修正するには、( * -Info.plist ファイル内の) 実行可能ファイル名とバンドル名が同一であり、製品名とも一致していることを確認するだけで済みました。

イライラすることに、製品名は上記のパート 2 で説明したタブの下に隠されています。つまり、[ビルド設定] タブを選択し、ヘッダー バーで [基本] と [結合] を選択します。

これが他の開発者に役立つことを願っています。これはすべて XCode 4.6.3 を使用して行われたため、iOS 7 と XCode 5 が登場する来月には時代遅れになることは間違いありません。それまでに、アプリには Nickname と MiddleName も必要になるでしょう。知るか?

マイク

www.MikesKnowledgeBase.com

于 2013-08-20T19:11:37.737 に答える
1

ターゲットとプロジェクトの設定を確認し、「Build Active Arch Only」を NO に設定します。

于 2014-07-23T11:04:54.303 に答える
0

いまいましい...これは私のタイプミスでした。アーキテクチャを設定するとき、最初のエントリ (armv7) の最後にコンマを置きました...無効と見なされて無視されるようにしました。この余分な文字を削除すると、問題が解決しました...

タイプミスをチェックすることを忘れないでください!

于 2014-11-23T21:53:34.043 に答える
0

必要なアーキテクチャが見つからないと言われていますこれを試してください

  1. ターゲット「あなたのプロジェクト」に移動します
  2. ビルド設定に移動
  3. アーキテクチャにarmv7があるかどうかを確認します
  4. そうでない場合は、アーキテクチャarmv7に設定します
  5. きれいにしてビルドします。

armv7が既にある場合は、何か問題があるはずです。

それが役に立てば幸い!

于 2012-09-19T02:59:22.773 に答える