[英]Xcode and Cocoapods “No such module” error
我最近升级到Xcode 8和现有项目到Swift 3.在与Cocoapods有各种各样的问题后,我决定从头开始。 在运行pod deintegrate
并删除Podfile
, Podfile.lock
和[Project].xcworkspace
,就[Project].xcworkspace
,我有一个空白的名单。
然后我采取了以下行动:
在项目位置打开终端并运行pod init
,然后执行pod install
(使用pod init
创建的存根Podfile)。
这似乎是成功的,但附带以下两个警告:
[!] 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并构建项目会产生“No such module”错误,这是完全可以预料到的。
按照此问题的说明解决此问题并重新运行pod install
是成功的。
关闭Xcode,将我正在使用的模块添加到Podfile(见下文),再次运行pod install
。 根据终端输出,这是成功的。
打开Xcode并构建项目。 我再次收到“No such module”错误,特别是No such module 'ReactiveCocoa'
我已经确认SnapKit,Hue,KMPlaceholderTextView,KeychainSwift和Siren会出现同样的问题,具体取决于import语句的顺序。 出于某种原因,没有任何Google模块受此问题的影响。
我的Podfile:
# 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
文件。
你可以进一步研究这篇文章 。
同样位于:Target> General> Linked Frameworks and Libraries确保您的框架在那里。 甚至还有Pods_Xena.framework
尝试:
Xcode - >首选项 - >位置 - > DerivedData
打开DerivedData文件夹并将其移至“废纸篓”
取消注释下一行以定义项目的全局平台
platform :iOS, '9.0'
取消注释pod文件中的第二行将对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.