web-dev-qa-db-ja.com

リンカコマンドが終了コード1(呼び出しを確認するには-vを使用)で失敗しました、Xcode 8、Swift 3

私はこのエラーを取り除くことはできません!

派生データの消去([設定] - > [場所] - >灰色の矢印をクリックして[Finder]の[派生データ]フォルダを開く - >右クリック、ゴミ箱に移動)、プロジェクトの消去(CMD + Shift + KまたはProduct)などを試しました。 - > Clean)、カルタゴと依存関係の更新、StackOverflowでのその他の回答(主にBuild Settings/Phasesでの調整)をチェックし、githubなどからアプリを再クローンしました。

同じプロジェクトが私の共同作業者のコンピュータでも動作します。

編集:現在の最高評価の答えから、私はもう少しデバッグすることができました...私はまだどのように修正するかわからない。私はプロジェクトに二度あるものがあるように見えますか?私は見て、二度現れるものを見つけることができない!

これがログの写真です:

93
Jake Dobson

私はxcode 8バージョン8.3.2で今日同じ問題に直面していました

問題を右クリック - > [ログに表示]

enter image description here

それからあなたはその問題を引き起こしているものをチェックすることができます

enter image description here

147
umairqureshi_6

podファイルをインストールしているのかもしれません それでも.xcodeprojの代わりに.xcworkspaceファイルからビルドしようとしています

90
Aashish

私にとってうまくいった唯一のことはpod deintegratepod installを実行することでした

34
Charles Harring

あなたはきれいにしましたか? cmd + shift + k

17
Francisco Perez

わかりました...だからここに私の問題を解決したものがあります...

アプリ代行ファイル内:

#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"

私のプロジェクトのDarkSkyAPI.mファイルにCredentials.hをインポートしました。追加のインポートをコメントアウトすると、エラーがなくなりました。

言及するいくつかの事柄と将来の誰かを助けるかもしれない。 @ umairqureshi_6の回答はその過程で私を助けてくれましたが、それを解決しませんでした。彼は私が情報を掘り下げることができたところに導いた。 AppDelegateファイルとDarkSkyAPIファイルがエラーログに表示され、Credentialsファイルから取得した情報がエラーの原因であることを確認しました。私はそれがこれらの3つのファイルの1つにある必要があることを知っていたので、私は.hがその.mファイルからすべてのインポートを持っていることを聞いたのを覚えていたのですぐにインポートをチェックしました。ブーム!

8
Jake Dobson

質問はすでに回答されています。しかし、これが誰かに時間を節約するのに役立つならば:私は同じ誤りを抱えていました。私は私の側からの非常に小さくて愚かな間違いを見つけるためにすべてを調べました。プロジェクトのView ControllerにコアデータのManagedObjectカスタムファイルをインポートしました。 プロパティクラスの.mファイルがコアデータクラスの.hファイルをインポートするため、アーキテクチャエラーで重複シンボルの原因となっていた.h ファイルの代わりに.mファイルを誤ってインポートしました。重複インポートの原因となります。

ですから、複数の解決策を試す前に、uが正しいファイルをインポートしたかどうかを確認してください。

5
Priyanka

多くの解決策が上で述べられています。だれも私のために働いていませんでした(しかし、最初に上で試してください).

[プロジェクト] - > [ターゲットの選択] - > [リンクされたフレームワークとライブラリ] - > [すべてのポッドライブラリを追加]を選択します。 (埋め込みバイナリに存在する場合は削除します)

今xcodeの左のファイルエクスプローラでFramework Folderからこれらを削除してください。

これで私の問題は解決しました。

4

プロジェクト - >ビルドフェーズ - >ライブラリとバイナリのリンクを選択し、すべてのポッドライブラリを追加します。

3
K Prasad

Flurryフレームワークでこの問題を抱えている人のために。これが私の問題を修正したものです。私にとって問題は、私が以下のファイルをインポートしたが、それらを決して使ったことがないということでした。 "libFlurryTVOS_9.2.3" "libFlurryWatch_9.2.3"

だから私がしなければならなかったすべてはプロジェクトのターゲット設定に行き、 "リンクされたフレームワークとライブラリ"のセクションからこれら二つのファイルを削除することで問題は解決されました。

2
Cedan Misquith

私は同じ問題を抱えていました。

その原因は、 2つのファイルで同じグローバル変数 を宣言したためです。そのため、 2重複記号 と言って同じエラーを示していました。

解決策はそれらの変数を削除することでした。

2
Ajit A. Kenjale

依存関係にカルタゴを使っても同じ問題がありました。

[プロジェクトの選択] - > [ビルド設定] - > [ビットコードを有効にする]を検索 - > [はい]を選択した場合は、[いいえ]を選択します。

これでこの問題は解決しました。

2
A.Silva

私の場合、エラーの原因は2回リンクされたライブラリです。

私はreact-nativeを使用しているので、react-native linkを使用して自動的にリンクされ、xcodeでは手動でリンクされました。

1

私の場合はTargetPodfileの名前を変更したので、同じエラーが発生します。

溶液

project-> Build Phase->Link Binary with librariesを実行してください。minus button(-)をクリックして古いFrameWorksを削除し、もう一度クリーニングして実行します。それは私の仕事です。

enter image description here

不要な.frameworkを削除してください。

1
Krunal Nagvadia

私はimport Foundationをやらなければなりませんでした!

私はSwiftサーバーサイドにKituraを使っていて、これを忘れていました!

1
Honey

私は自分のデバイス上で構築して実行したときにこの問題はありませんでした。シミュレータでのみこの問題がありました。コンピュータを再起動して実行しただけです。出来た。

1

Find Implicit Dependenciesチェックボックスがチェックされていることを確認してください。

(製品 - >スキーム - >スキームの編集 - >作成 - >暗黙の依存関係の検索)

1
llama591

これが私の問題と解決策です。

私はソースツリー(バージョンコントローラ)を使ってソースコードから二つのファイルを削除しました。私が削除した2つのクラスを含むdiffを適用した後、Xcodeはそれを自動的に追加しませんでした。そのため、リンカエラーが発生しました。

グループ名を右クリックして[ファイルの追加先]を選択し、手動でファイルを追加しました。今私のエラーが解決しました。

誰かがクラスファイルに関するリンカエラーに直面した場合は、それを手動で追加してみてください。

1
Sujananth

私はCocoaPodsでSparkleフレームワークをテストしていました。

残念ながら、PodFileの "pod 'Sparkle'、 '〜> 1.21'"を間違った場所に置いています。 Testingの下に置きます(単体テストの場合)。

PodFileの正しい場所に配置すれば、すべて問題ありません。

1
pdq

他の答えは私のためにうまくいきませんでしたので、ここで私はそれが他の誰かを助けるかもしれない場合のために私の解決策を共有します:

私の問題は、私のXCodeプロジェクトのPodfileを間違ったプラットフォーム用に設定していたことです。私のPodfileの冒頭にある "platform:ios"を "platform:macos"に変更することで私はエラーを取り除くことができました。

1
Vorashy

私は同じ問題を抱えていました。 githubプロジェクトをチェックアウトする場合は、git cloneを使用する代わりにgit lfs cloneを使用してください。場合によっては、gitのみを使用して大規模なファイルが正しくクローンされないことがあります。また、ビットコードが無効になっていることを確認してください。

0
Aman pradhan

私にとって、gemロックファイルは、インストールしたバージョンよりも古いバージョンのココアポッドを指定していました。 bundle exec pod installの代わりにpod installを再分岐して実行する必要がありました

0
Jason