我尝试将此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会抛出如下错误
找不到GeoSwift模块。此错误位于Pods > LocationManager > MockLocationManager.swift
内Pods > LocationManager
工作的其他位置导入的同一模块。 import RxSwift
和import RxCoca
也有效。当我访问Pods > Targets > LocationManager > Build Phases > Target Dependencies
时,我看到除了GeoSwift之外的所有播客
我可以知道如何解决这个问题吗?向此targetDependency添加GeoSwift
也不会编译。将LocationManager.xcworkspace
编译为单独的实体时,它可以完美地运行。该模块import GeoSwift
不会抛出任何编译错误。
答案 0 :(得分:0)
据我所知,Cocoapods不支持子项目。我也有这个问题,我将所有子项目提升为主项目中的文件夹,并将它们放在不同的目标下。现在这些目标也可以使用Cocoapods。
答案 1 :(得分:0)
我遇到了类似的问题。
进入Pods:
然后点击" Build Settings",找到标题为" Swift Language Version"的行,并尝试将其更新到最新版本(在我的情况下,它是4.1)。
这对我有用!希望它也可以帮助其他人。