1. ホーム
  2. ios

[解決済み] xcode 5.1: libCordova.a アーキテクチャーの問題

2023-07-05 20:48:36

質問

昨日 (2014 年 3 月 10 日) iOS 7.1 がリリースされたとき、私も Xcode 5.1 にアップグレードしましたが、私の PhoneGap/Cordova プロジェクトが私の iPhone 5s にコンパイルできなくなることがわかりました。私はまた、Cordova を最新のリリース (v 3.4.0-0.1.3) にアップグレードしました。

SO で、アクティブなアーキテクチャを変更したり、アクティブなアーキテクチャのみを構築したりすることに関するさまざまな解決策を読みましたが、どれもうまくいきませんでした。私が試したことと、私が得たエラーは次のとおりです。最初、私はエラーを受け取りました。

missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64

そこで、次のように試してみました。プロジェクトでCordovaLibのサブプロジェクトを選択し、プロジェクトとターゲットの両方で ビルド設定 の下に アーキテクチャー を確認し arm64 が Debug または Release アーキテクチャのいずれにも含まれていないことを確認しました。このとき ビルド アクティブ アーキテクチャのみ は "Yes" に設定されています。その結果、以下のようなエラーになりました。

file was built for archive which is not the architecture being linked (armv7): 
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7

設定 アクティブなアーキテクチャのみを構築する を"No"にすると、再びエラーになります。

missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64

他に何を試せばいいのかわかりません。プロジェクトのアーキテクチャ設定には、iOS 7.1 に設定されている "Base SDK" というキーしかありません。プロジェクトのターゲットには、アーキテクチャの設定はありません。とにかく、問題は埋め込まれたCordovaLibサブプロジェクトにあることは間違いないようです。私のデバイスで正常にコンパイルできるようにするには、どうしたらよいでしょうか?

更新: Apache の Jira で同じ問題が発生しました。 https://issues.apache.org/jira/browse/CB-6223

どのように解決するのですか?

Shazron は Apache JIRA に修正を投稿しました。彼は、この修正は Cordova 3.5 の一部としてリリースされると述べています。

  1. プロジェクト アイコンを選択します。
  2. ビルド設定を選択します。
  3. Architectures" で、$ARCHS_STANDARD - Standard Architectures (armv7、armv7s、arm64) を選択します。
  4. 有効なアーキテクチャに、"arm64" を追加します。
  5. CordovaLib.xcodeproj のアイコンを選択します。
  6. プロジェクト (ターゲットではない) のビルド設定で、条件付きアーキテクチャの設定を削除します (カーソルを合わせるとマイナス記号が表示されます)。
  7. Quot;Architectures" で、$ARCHS_STANDARD - Standard Architectures (armv7、armv7s、arm64) を選択します。
  8. 有効なアーキテクチャに、"arm64" を追加します。
  9. 6 を実行しますが、今度は "Target"のために実行します。

この問題についての Shazron の完全な書き込みへのリンクです。 http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/

発売されましたが、どうすればいいのか、簡単に言うと

Cordova CLI 3.4.1-0.1.0 がリリースされ、Cordova iOS 3.4.1 が含まれており、このブログ記事で紹介されているすべての修正点が含まれています。Cordova CLI を更新し、既存のプロジェクトがある場合は "cordova platform update ios" を実行してください。