繁体   English   中英

Xcode和Cocoapods“没有这样的模块”错误

[英]Xcode and Cocoapods “No such module” error

我最近升级到Xcode 8和现有项目到Swift 3.在与Cocoapods有各种各样的问题后,我决定从头开始。 在运行pod deintegrate并删除PodfilePodfile.lock[Project].xcworkspace ,就[Project].xcworkspace ,我有一个空白的名单。

然后我采取了以下行动:

  1. 在项目位置打开终端并运行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是成功的。

  1. 关闭Xcode,将我正在使用的模块添加到Podfile(见下文),再次运行pod install 根据终端输出,这是成功的。

  2. 打开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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM