web-dev-qa-db-ja.com

cocoapodsおよびswiftを含むそのようなモジュール「RestKit」はありません

私は、新しいプロジェクトでこの問題を抱えています。この問題は、RestKitとFacebook SDKの両方で発生します。奇妙なことに、SwiftyJSONは問題なく動作します。私は真新しいSwiftプロジェクトとPodfileを作成します:

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

target 'test-fb-Swift4' do
    pod "FBSDKCoreKit"
    pod 'SwiftyJSON', '~> 2.1'
    pod 'RestKit', :inhibit_warnings => true
end

target 'test-fb-Swift4Tests' do

end

そのファイルを作成した後、ポッドインストールを実行し、test-fb-Swift4.xcworkspaceファイルでxcodeを再度開きます。

コントローラー内にRestKitをインポートすると、No such module 'RestKit'というエラーが表示されます。 Podfileを次のような非常に単純なバージョンにフォーマットするためのさまざまな方法を試しました。

source 'https://github.com/CocoaPods/Specs.git'

pod 'RestKit'

ターゲットの有無にかかわらず、use_frameworksの追加と削除を試みました。 :inhibit_warningsの有無にかかわらず。

CocoaPods 0.36.4を実行していて、最新のrcビルドを試しました。別のプロジェクトのObjective-Cバージョンは正常に動作します。これはSwiftを使用した最初のプロジェクトであり、この問題にこだわっています。

60
Joped

同じ問題がありました。私の解決策は、.xcworkspaceではなく、.xcodeprojを使用してプロジェクトを開くことでした。 .xcodeprojにはメインプロジェクトのみが含まれます。 .xcworkspaceには、Restkitを含むすべてが含まれます。

113
BHuelse

同様の問題がありました。特にRestKitではなく、最初はHockeySDKを使用します。ポッドの削除と再インストール、ココアポッド自体の更新、ポッドの更新、派生データの削除、プロジェクトのクリーニングなど、すべてを試しました。

それから私はすべてのポッドが私にとって問題であることに気づきました。関連トピックの検索を続けた後、私は最終的にそれを発見しました:

•ターゲット>ビルドフェーズ>バイナリとライブラリをリンク

Podsフレームワークの置き場所が間違っていました(以前のPodsのセットアップまたはインストールの試行による可能性があります)。

Target > Build Phases > Link Binary With Libraries

削除すると、問題はなくなりました。私は、人々が以下のような問題を経験しているように見えることに気付きました

•プロジェクト>情報>構成

また、Podsフレームワークが誤ってマップされていた場所。したがって、前者がうまく機能しない場合は、後者も確認することをお勧めします。

39
metatheoretic

2番目のオプションは私のために働いた。 [プロジェクト]> [情報]> [構成]には、プロジェクトの2つのターゲットがあります。通常のターゲット(Quizz)とテストターゲット(QuizzTests)です。 enter image description here

通常の構成では、構成は「Pods.debug」または「Pods.release」で設定されましたが、QuizzTestsには構成がありませんでした。 QuizzTestsの構成を入力するとすぐに、すべてが機能しました。

34
louftansa

私にとっては、ポッドを分解して再インストールすると問題が解決しました。

最初

pod deintegrate

その後

pod install
19
Vishal

この問題を修正するために非常に簡単にできることの1つは、ポッドのインストール時にXCodeが完全にシャットダウンされるようにすることです。この問題が発生するたびに、プロジェクトを閉じてもXCodeが開いたままであることがわかります。お役に立てば幸いです!

18
Marquis103

私が見つけた別の潜在的な解決策は、use_frameworks!をまだポッドファイルに追加していない場合に追加し、pod installを再度実行することです。そのポッドのみを追加した場合、Firebaseの問題でした。

14
Ian Han

この問題の別の理由は、ターゲットのビルド設定-アクティブなアーキテクチャのみのビルドの値が間違っている可能性があります。写真のような設定は私のために機能します。 Correct settings

13
saltwat5r

私にとって、「暗黙的な依存関係の検索」はオフになっています。そしてそれが問題でした。 checkedそれを一度したらうまくいきました。

パス:Edit Scheme > Build > Find implicit Dependencies

enter image description here

6
Ashok

Fabricをプロジェクトに追加するときに、同様の問題がありました。複数のターゲット(リリースと開発)がありました。 No Such Moduleに対してimport Fabricをスローします。私のために働いたのは、プロジェクト>ビルドフェーズ>リンクライブラリとライブラリに移動し、両方のステータスを単純にマークすることでしたpod framework asOptional. enter image description here

5
Sharukh Mastan

私の場合、Xcodeの次のオプションをチェックするだけで、暗黙的な依存関係を見つけるenter image description here

正確な理由はわかりませんが、これで十分でした。あなたにも期待しています:)。

4
GOrozco58

これでうまくいくはずです:

  1. ポッドが分解する
  2. rm -rf yourproject.xcworkspace
  3. ポッドインストール
3
Hyperfine

何時間も試した後、私は原因を発見しました。メインのアプリターゲットには、4つのビルド構成(デバッグ、リリース、内部、外部)がありました。ただし、私のフレームワーク(子プロジェクト)には、カスタムが追加されているため、内部、外部がありませんでした。フレームワークプロジェクトにinternal/externalを追加すると、すべてが正常にアーカイブされました。

3
VaporwareWolf

私が試したもの:

  • リンクされたポッドフレームワークの削除と再追加
  • クリーニング
  • 派生データの削除
  • ポッドの再インストール

この問題に対する唯一の解決策は、メインアプリターゲットを再度ビルドして実行する前に、スキームピッカー(実行/停止ボタンの隣)でPods-(yourapp)ターゲットを公開し、そのPods-ターゲットを手動でビルドすることでした。これで誰かが10分節約できることを願っています!

1
Dennis L

ここでの答えの1つはmake sure that XCode is completely shut down when installing podsであり、これを行っていないことはわかっていました。だから、Xcodeを完全に閉じて、もう一度開き、なしでpod installを実行して、問題を修正しました。そのため、Xcodeの再起動はうまくいきました。

1

私の場合、最初はXcodeに1つのターゲットしかありませんでした。 pod installを実行しました。数か月後、別のターゲットを作成する必要があったため、複数のターゲットがありました。

この状況で、pod installを実行してxcodeをビルドすると、「no such module」エラーが発生します。

そこで、podファイルを削除してから、pod initを削除しました。

複数のターゲットのPodfile形式が変更されました

できます!!

これをチェックしてください!

1
user2189597

同じクラスにアクセスする複数のターゲット(Messages Extension Appなど)を使用しており、そのクラスが両方のターゲットに追加されている場合、PodFileで両方のターゲットのポッドを追加する必要があります。

1

アイデアログ:まず、この問題はライブラリポッドまたはフレームワークの検索パスにこのポッドがないためだと思いますが、実際にはそこにあります。

第二に、XCode 10のバージョンサポートがポッドの誤ったマッピングをリードしているためかもしれません。ただし、プロジェクトをクリーンにした後、派生データを削除し、Xcodeを閉じ、ポッド関連ファイルを削除して、ポッドを再インストールします。これらの手順はすべて失敗しました…。この2番目のステップに4時間を費やしました…

第三に、最後にStackOverflowでGoogleを検索し続けたところ、@ Tyler Sheaffer氏の経験が@metatheoreticソリューションの下にあることがわかりました。

他の誰かの答えの下で彼の経験を残す人がいます。そして、最も重要なのは、複数のスキームの構成を早めに変更することを思い出させます。これは、従うチュートリアルで、構成名に例で名前を付けることを教えているためです:Debug(Development)。しかし、Cocoapodsは()を受け入れることができません。したがって、構成名Debug_Developmentを変更しました…だから!!!問題は、スキーム管理が開発などのお客様のスキームの1つで構成名を自動的に更新することです。また、成功した更新を行うスキーム開発で名前の更新のみを確認し、他の2つのカスタムスキーム(ステージング)を確認するためにスキップします、生産)。しかし!!!これらの2つはまだ古い誤った構成名のままです。だからこそ、私のKingfisherモジュールは、設定やスキームと一致しなかったため、決して見つかりません。最後に、Project/Scheme/Manage Schemes/Case closedで新しい更新構成ファイルを選択することで、この問題を解決します。

enter image description here

0
Wangdu Lin

ディレクトリを編集して削除したとき、Project-Build SettingsInfoの隣)、Framework Search Paths私のアプリTargetinBuild Settings 。次の図に示すように、4行すべてにPodインストールからエントリが自動的に入力されていることを確認します。 Framework Search Paths in Build Settings for your Target App エントリをDebugおよびReleaseから行にコピーするには以下では、一度に1つの行を選択し、上の行からコピーする削除を押します。これを実行すると、ワークスペースはうまく構築されます。

0
RT Denver

.gitignorePodsフォルダーを無視としてマークすると、この問題が発生しました。修正方法は、rm -rfPodsフォルダーをedし、pod installを実行して、クリーン&ビルドしたことです。

0
kubilay

アプリはプライマリターゲットを使用してビルドしますか?

もしそうなら、私はこれを機能させることができました:

  1. Podfileのすべてのターゲットにエントリを追加する
  2. pod installを実行します

これが私の最終的なPodfileです。

platform :ios, '11.3'

target 'myapp' do
  use_frameworks!

  # Pods for myapp
  pod 'KeychainSwift'
  pod 'ReachabilitySwift'
  pod 'Firebase/Core'
  pod 'Fabric'
  pod 'Crashlytics'

  target 'myappTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myappUITests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myapp-local' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'myapp-master' do
    inherit! :search_paths
    # Pods for testing
  end
end
0
user896993

これは、アプリ拡張機能のターゲットiOSバージョンがアプリと異なる場合に起こりました。それらを一致させることでこれが修正されました。

0
YichenBman