找不到模块 - cocoapods

时间:2018-02-16 05:11:31

标签: ios xcode cocoapods

我尝试将此library pod安装到我的项目(简称子xcodeproj)父项目中(假设为父xcodeproj)。

Child .xcodeproj有自己的podfile,我添加了RxSwift,RxCocoa,Realm和这个GeoSwift库。这是cocoapods文件,如下所示

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, "9.0"
inhibit_all_warnings!
use_frameworks!

project 'LocationManager/LocationManager'

def pods 

    pod 'GEOSwift'
    pod 'RxSwift', '~> 4.0'
    pod 'RxCocoa', '~> 4.0'
    pod 'RealmSwift', '~> 3.0'
end

target 'LocationManager' do

    pods

    target 'LocationManagerTests' do

        inherit! :search_paths

        pod 'RxBlocking', '~> 4.0'
        pod 'RxTest', '~> 4.0'
    end
end

此LocationManager作为另一个podfile

安装到另一个XCode项目中
def location_pods
   pod 'GEOSwift'


   pod 'LocationManager', :git => 'git@github.com:myrepo/locationmanager.git', :branch => 'users/me/add-geoswift'

end

target 'TestApp' do

   location_pods

   project 'TestApp.project'
end

当我尝试编译TestApp目标时,XCode会抛出如下错误 enter image description here 找不到GeoSwift模块。此错误位于Pods > LocationManager > MockLocationManager.swiftPods > LocationManager工作的其他位置导入的同一模块。 import RxSwiftimport RxCoca也有效。当我访问Pods > Targets > LocationManager > Build Phases > Target Dependencies时,我看到除了GeoSwift之外的所有播客 enter image description here

我可以知道如何解决这个问题吗?向此targetDependency添加GeoSwift也不会编译。将LocationManager.xcworkspace编译为单独的实体时,它可以完美地运行。该模块import GeoSwift不会抛出任何编译错误。

2 个答案:

答案 0 :(得分:0)

据我所知,Cocoapods不支持子项目。我也有这个问题,我将所有子项目提升为主项目中的文件夹,并将它们放在不同的目标下。现在这些目标也可以使用Cocoapods。

答案 1 :(得分:0)

我遇到了类似的问题。

进入Pods:

Image of the Pods button

然后点击" Build Settings",找到标题为" Swift Language Version"的行,并尝试将其更新到最新版本(在我的情况下,它是4.1)。

How to update your Swift version

这对我有用!希望它也可以帮助其他人。

更多信息:Xcode 9 Swift Language Version (SWIFT_VERSION)