最近、Xcode8と既存のプロジェクトをSwift 3.にアップグレードしました。Cocoapodsでさまざまな問題が発生した後、最初からやり直すことにしました。_pod deintegrate
_を実行し、Podfile
を削除した後、_Podfile.lock
_、および_[Project].xcworkspace
_、Cocoapodsに関する限り、私は白紙の状態でした。
次に、次のアクションを実行しました。
プロジェクトの場所でターミナルを開き、_pod init
_を実行してから、_pod install
_を実行しました(_pod init
_が作成するスタブポッドファイルを使用)。
これは成功したようですが、次の2つの警告が出されました。
[!] The `Xena [Debug]` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-Xena/Pods-Xena.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the `$(inherited)` flag, or - Remove the build settings from the target.
[!] The `Xena [Release]` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-Xena/Pods-Xena.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the `$(inherited)` flag, or - Remove the build settings from the target.
この時点で、Xcodeを開いてプロジェクトをビルドすると、「そのようなモジュールはありません」というエラーが表示されますが、これは完全に予想されます。
この質問 の指示に従うと、この問題は解決し、_pod install
_の再実行は成功します。
Xcodeを閉じ、使用しているモジュールをPodfileに追加し(以下を参照)、_pod install
_を再度実行しました。端末の出力によると、これは成功しています。
Xcodeを開き、プロジェクトをビルドしました。 「そのようなモジュールはありません」というエラー、具体的には_No such module 'ReactiveCocoa'
_が再び表示されます
インポートステートメントの順序に応じて、SnapKit、Hue、KMPlaceholderTextView、KeychainSwift、およびSirenでも同じ問題が発生することを確認しました。何らかの理由で、どのGoogleモジュールもこの問題の影響を受けません。
私のポッドファイル:
_# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'Xena' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for Xena
pod 'ReactiveCocoa', :git => 'https://github.com/ReactiveCocoa/ReactiveCocoa.git'
pod 'SnapKit', '~> 3.0.2'
pod 'Hue', '~> 2.0.1'
pod 'KMPlaceholderTextView', '~> 1.3.0'
pod 'GooglePlacePicker'
pod 'GooglePlaces'
pod 'GoogleMaps'
pod 'KeychainSwift', '~> 7.0'
pod 'Siren'
target 'XenaTests' do
inherit! :search_paths
# Pods for testing
end
target 'XenaUITests' do
inherit! :search_paths
# Pods for testing
end
end
_
開いていることを確認してください.xcworkspace
ではなく.xcodeproj
ファイル。
これをさらに調べることができます post 。
また、[ターゲット]> [一般]> [リンクされたフレームワークとライブラリ]の下にもあります。フレームワークがそこにあることを確認してください。でもPods_Xena.framework
ある
試してください:
Xcode->環境設定->場所->派生データ
derivedDataフォルダーを開き、ゴミ箱に移動します
次の行のコメントを解除して、プロジェクトのグローバルプラットフォームを定義します
platform :iOS, '9.0'
ポッドファイルの2行目のコメントを外すと役立ちます。