web-dev-qa-db-ja.com

Xcode 5 iOS 7 CocoaPodsリンカーエラー

古いプロジェクトを新しいiOS 7にアップグレードしました。すでにCocoapodsを使用していました。私はコンパイルして実行し、すべてがシミュレータとデバイスで正常に動作します。 Xcodeを使用してアーカイブしようとすると、次のエラーが発生します。

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

何か案は!

更新:

ポッドプロジェクトのアーキテクチャは次のように設定されています。

Standard architectures (armv7,armv7s)

[〜#〜]ソリューション[〜#〜]

Cocoapodsは私のプロジェクトから削除されました。今ではすべてが良いです!

25
john doe

ココアポッドを更新する必要があるだけのようですね。プロジェクトからココアポッドを削除するだけで問題を解決したくない場合は、次のようにします。

  1. Cocoapodsのバージョンを確認します。

    ポッド-バージョン

  2. 0.25.0未満の場合は、更新する必要があります(必要に応じて「Sudo」を忘れないでください)。

    宝石更新ココアポッド

  3. ポッドが更新されていることを確認します。

    ポッドインストール

  4. 最後に、.xcworkspaceファイルを開きます。

あなたは行ってもいいはずです。

33
MattSenter

CocoaPodsを既存のプロジェクトに追加して実験するときに、この問題が発生しました。

CocoaPodsはArchitectures設定を正しく取得しましたが、Build Active Architecture Only設定を逃したことがわかりました。両方がメインプロジェクトと完全に同期している必要があります。そうでない場合、実際のデバイス用にビルドするときに失敗します(少なくとも、複数のARM Archを使用している場合は、通常行う(armv7、armv7sそして今arm64))。

私のために問題を解決しました。うまくいけば、これは同様の問題を持つ他の人を助けるでしょう。

22
Krumelur

ワークスペースでこの問題を修正しました。私の場合、それはiOS 7へのアップグレードとは関係ありませんでした。代わりに、App Store提出のアーカイブに関連していました。 App Store構成(リリース構成の複製)を作成し、App Store構成をアーカイブアクションに使用しようとしました(製品>スキーム>スキームの編集...>アーカイブ>ビルド構成で構成)。問題は、アプリのプロジェクトのApp Store構成を作成したが、Podsプロジェクト(CocoaPodsがアプリのワークスペースに追加するプロジェクト)のApp Store構成を作成していなかったことでした。これを実行すると(ここでも、リリース構成の複製のみ)、アーカイブアクションは成功しました。

7
Jed Lau

これが起こっている理由はさまざまです。このページは本当に役に立ちます:

http://guides.cocoapods.org/using/troubleshooting.html

何らかの理由で、ワークスペースのビルド場所をレガシーに変更しました。カスタムに戻す:派生データに関連して解決されました!

5
schystz

@john doe(このスレッドの所有者)の解決策は正しいです。実行するには、まずプロジェクトにCocoaPodsを設定する必要があります

pod setup

その後

pod install
5
Tam Vo
  1. ビルド設定からarm64を削除してみてください->アーキテクチャ(armv7、armv7s)
  2. Build Active Architectures OnlyをNOに設定します

たった今私のために働いた。

cocoapodsバージョン0.34.1

3
off

ファイルが重複している-別の問題がありました。
たぶんあなたのプロジェクトにも重複があります。ポッドのファイルと同様に、Cocoapodの使用を開始する前に削除していない古いファイルがあります。
再確認してください。

1