我目前有2个可部署的框架。相同的应用程序,两个面孔:客户端和供应商。
大多数数据模型类和一些视图完全相同。所以我创建了另一个名为" Common"的框架。在Firebase和Crashlytics出现之前,我使用Common作为客户端和供应商框架的依赖项没有问题。
我有一些代码,在两个框架中都是相同的。所以常见的是我想去的方式。但是,当使用Cocoapods时,这些库将有两个定义,Xcode日志显示Class <<SomeFirebaseClass>> is implemented in both <<LONG CLIENT PATH>> and <<LONG COMMON PATH>>. One of the two will be used. Which one is undefined.
,并且issue出现。
我的Pod文件:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
workspace 'Application'
use_frameworks!
# ignore all warnings from all pods
inhibit_all_warnings!
abstract_target 'CommonPods' do
pod 'ChameleonFramework/Swift'
pod 'Fabric'
pod 'Crashlytics'
pod 'Alamofire', '~> 4.5'
pod 'SwiftyJSON'
pod 'Firebase/Core'
pod 'Firebase/Auth'
target 'Attendant' do
project 'Attendant/Attendant'
end
target 'Client' do
project 'Client/Client'
end
end
我在CocoaPods的存储库中发现了一些问题,但到目前为止还没有修复。
我的问题是:我该如何做到这一点?如果我不能,那么实现接近这一目标的最佳方式是什么?