web-dev-qa-db-ja.com

Apple Mach -O Linker(Id)Error?

Unityからビルドされたこのxcodeワークスペースをビルドしようとしています。そして、プロジェクトのビルド(リンク)の最後に到達したときにプロジェクトを少し修正した後、Apple Mach -Oリンカー(Id)エラーが発生します。エラーの原因を正確に確認するためにエラータブを開くことができません。それは、「リンカコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)。発生する2つのApple Mach -Oリンカ(Id)エラーもありますが、解決方法がわかりませんそれら。

どんな助けも大歓迎です!

これらのタブを展開することはできません。これが通知されるすべてですこれは展開された警告タブで、2つのApple Mach -Oリンカー(Id)警告同じ

18
Brett A

この問題にはさまざまな解決策がありますが、その1つはEnable BitcodeNoに設定することです。 (defaultで理由がわからないはい

enter image description here

この問題は、ゴーストのような問題です。キャッシュのクリア、Xcodeの再起動、シミュレータとMAC、フレームワークの適切なリンクの確保、アプリのアーキテクチャの変更、または、何もしないだけでこの問題を解決できる場合があります。

16
roy

この問題は、「ライブラリとバイナリをリンク」に関連していました。ターゲットの名前を変更しました。ポッド用の2つの.frameworkファイルがありました。したがって、古いものを削除した後-問題は解決しました。 enter image description here

7
Naloiko Eugene

ポッドをインストール/アンインストールしたばかりの場合は、これをご覧ください。ここに私のために働いたものがあります:

  1. まず、.xcodeprojではなく.xcworkspaceファイルを開いていることを確認してください。しかし、これは問題の原因ではない可能性があります。

  2. 最近インストールしたばかりのポッドを削除します。

  3. Xcodeのプロジェクトディレクトリで、frameworksフォルダーを開き、削除されたばかりのポッドがまだ最近削除されたポッドの1つとしてリストされている場合は、そこからも削除します。このステップは、最終的に私のプロジェクトをコンパイルしたものです。

4
Loup G

別の考えられる原因は、ターゲットの1つを名前変更した場合(なぜそうしたのですか?)、ポッドを使用している場合です。もはや存在しないpods_oldtarget_frameworkなど、メインプロジェクト(Podsプロジェクトではない)のFrameworksフォルダーに、古いターゲット名のバージョンが作成されます。

古いバージョンを削除する(または、ターゲットを元の名前に戻し、新しいバージョンを削除する)だけで済みます。

2
Mick Byrne

私は同じ問題を抱えていましたが、解決しました

  1. 最新のCocoaPodsのインストール
  2. 次にpod setupを実行します
0
Peter Ye

私にはフレームワークがありませんでした。 Googleで発生したエラーを検索して、それらがどのフレームワークに属しているかを調べてから、[ビルドフェーズ]タブでインポートしてください。

0
Lukebox

Xcode 9.3を使用しましたが、同じエラーが発生しました。しかし、9.2では機能します。このエラーは、2つのXcodeによって生成されるアーティファクト間の非互換性が原因で発生する場合があります。エラーを投げたプロジェクトには、xcode 9.2で構築されたフレームワークが含まれていました

0
Alex Ilie

Libstdc ++。tbdを「BuildPhases >> Link Binary With Libraries」に追加しました。わたしにはできる。

0
adenizc

私にとっては、Xcode 9(ベータ版)を使用していたため問題が発生し、同じプロジェクトを別のXcode 8.3で開きました。私のために問題を解決するには、単にクリーンしてからもう一度実行します。

enter image description here

0

MacでiOS向けにUnityでビルドする場合は、ビルド設定で、iOSプラットフォームの他の設定の下にある「Metal Editor Support」を無効にしてください。

0
Kartik Kanaujia