Bitbucketリポジトリからプロジェクトを複製しようとしていますが、ワークスペースでXcodeプロジェクトを実行しようとするとId: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
エラーが発生します。これらは私が従った手順です。誰かが私が間違っていることを私に知らせることができれば、それは素晴らしいことです!
git clone (link to bitbucket)
none
に変更しましたpod install
_Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
を受け取りました編集ポッドファイルは次のとおりです。
_# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
target 'Oncarb' do
pod 'Alamofire'
pod 'SwiftyJSON', '~> 2.2.0'
end
#target 'OncarbTests' do
# pod 'Alamofire'
# pod 'SwiftlyJSON', '~> 2.2.0'
#end
_
行方不明のステップはありますか?
ありがとうございました!
これは私のためにそれを修正しました:
私の場合、ポッドフレームワークを削除しない限り機能しませんでしたが、これは回避策であると感じています。おそらく、より多くの経験を持つ人がコメントできます。
ターゲットの名前を変更したり、何かを移動した後、ポッドのインストールが破損することがあります。幸いなことに、Sudo make install
のソリューションよりも簡単に修正する方法があります。
pod deintegrate
を実行して、プロジェクトからCocoapodの痕跡を削除します。pod install
を再度実行して、すべて追加し直します。修正済みです。
私の問題は、テストを実行したときにこのエラーが発生したことです。私はちょうどそれをインストールするので
target 'Project' do
pod 'xxx'
end
また、テストターゲットに追加する必要があります。
target 'ProjectTests' do
pod 'xxx'
end
私の場合、いくつかのフレームワークが赤でリストされていました。これらは、以前のPodfile構成から残っていました。赤でリストされたこれらのフレームワークを削除するだけで、問題は修正されました。
explicitテストクラス/テストターゲットへのCocoapodsフレームワークのインポートで考えられる原因の1つ。
例:
import XCTest
//import AlamofireImage
@testable import MyProject
// instead of importing AlamofireImage:
#if os(iOS) || os(tvOS) || os(watchOS)
import UIKit
public typealias Image = UIImage
#elseif os(macOS)
import Cocoa
public typealias Image = NSImage
#endif
テストでAlamofireImage
で定義されているtypealias Image
を明示的に使用したため、最初にAlamofireImage
をインポートしました。
私の例のようにインポートを防止するのが簡単な場合は、実行してください。 Imageの定義をテストクラスファイルにコピーしました。
本当にそのインポートが必要だと思われる場合は、William Huの回答に進んでください。彼の答えの脚注:
target 'MyProjectTests' do
pod 'OnlyThatFrameworkYouImportIntoYourTest'
end
これらのポッドのみをテストターゲットに追加する必要があり、明示的にインポートする必要があります。