Xcodeで(Swiftを使用して)問題が発生し、完全に困惑しています。私はこの質問が尋ねられて答えられたことに気づきましたが、答えはどれも私にとってはうまくいきませんでした。私のポッドはすべて失敗しています(特定のものだけではない)ので、私の状況は他のものとは少し異なるようです。彼らはすべて一週間前にうまく働いた。
より一般的なSwiftフレームワーク(Alamofire、Eureka、Kingfisher、SwiftyJSONなど)のいくつかにCocoapodsを使用しています。Xcode7ではすべて正常に機能していました。 )更新によりXcodeバージョンがアップしました。その後、Podfileでターゲットを指定することが必須になりました。これを実行し、Podのインストールを実行しました。ポッドはすべてそこにありますが、これらのフレームワークに関連するすべてのインポートステートメントは失敗します。
最初は「No such module 'Alamofire'」エラーで失敗した最初の問題であるため、Alamofireの問題だと思いました。次を含む、Alamofireでできることはすべて試しました。
「No such module ...」エラーを削除するものはありません。最後に、Alamofireをポッドから削除し、Alamofireプロジェクトを自分のプロジェクトにドラッグしました。これにより、Alamofireのインポートステートメントを削除できました。しかし、残念なことに、次のフレームワークによって「No such module」が発生しました。次の3つのフレームワークをプロジェクトに移動しましたが、今後も継続していくようです。どうやら、私のPodsフレームワークはもう認識されていません。 Xcode 8をインストールし、Swift 2.3で試してみましたが、同じ「No such module」エラーが表示されます。
Cocoapodsを使用すると、他のボーナスと一緒にアップグレードがはるかに簡単になるため、本当に使用したいと思います。私は私のポッドすべてを台無しにしている間違った設定を持っていると推測していますが、それを見つける運はありませんでした。これは、数日間開発を停止しており、修正の兆候は見られないため、ちょっとした災害です。解決策を見つけるのを支援するために私ができることや提供できることがあれば、お知らせください。誰もが可能な解決策や試してみるものを提供できれば、それは大歓迎です。現在、Xcodeバージョン7.3.1を使用しています。
ポッドファイルは次のようになります。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'Y2GOsp' do
use_frameworks!
# Pods for Y2GOsp
pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['Swift_VERSION'] = '2.2'
end
end
end
@ l'L'lからのコメントは、私を解決に導いた。に行きました
build settings > frameworks search path
次のように設定します。
$(inherited) (non-recursive)
$(PROJECT_DIR)/build/Debug-iphoneos (non-recursive)
$(SRCROOT) (recursive)
ポッドフレームワークが正しく検出されるようになりました。
.xcworkspace
ファイルだけでなく、Xcodeで.xcodeproj
ファイルを開いたことを確認してください。
ポッドファイル内
以下の行のコメントを解除して、プロジェクトのグローバルプラットフォームを定義します
platform:ios、'10 .0 '
use_frameworks!
現在はxcode
a)プロジェクトをきれいにする
b)すべての[ポッド]> [ビルド設定]> [アクティブなアーキテクチャのみをビルド]が[いいえ]に設定されていることを確認します。
c)次に、プロジェクトをビルドします
sDKのバージョンを以前のバージョンにしようとする
pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'
たとえば、3.0を使用可能な以前のバージョンに変更すると、同じ問題に直面したときに1回機能しました。
pod 'Alamofire', '~> 2.4' #I am assuming prev available version is 2.4
しかし、「No such Module」という「Alamofire」バージョンの結果である必要はありません。ポッドファイルのリストにあるすべてのものを試すことができます。