我的iOS项目中具有以下依赖项:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, '8.0'
pod 'CocoaLumberjack'
# other dependencies here
pod 'MagicalRecord', :git => 'https://github.com/magicalpanda/MagicalRecord.git', :branch => 'develop'
我目前使用的是最新版本的CocoaPods(0.37.0)。pod install
没有给出警告或错误,但是当我尝试构建时,出现链接器错误:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_DDLog", referenced from:
objc-class-ref in MagicalRecord+ErrorHandling.o
objc-class-ref in NSManagedObject+MagicalDataImport.o
objc-class-ref in NSManagedObject+MagicalRecord.o
objc-class-ref in NSManagedObjectContext+MagicalObserving.o
objc-class-ref in NSManagedObjectContext+MagicalRecord.o
objc-class-ref in NSManagedObjectContext+MagicalSaves.o
objc-class-ref in NSObject+MagicalDataImport.o
显然,MagicalRecord
看不到CocoaLumberjack
提供符号的。文档说:
有时,您可能想使用Pod的最新版本,特定版本或您自己的fork。如果是这种情况,可以在pod声明中指定。不过,请务必注意,这意味着该版本必须满足其他Pod对Pod的任何其他依赖关系。
但是,没有解释应如何精确地满足这些依赖性。谁能解释一下?在我添加use_frameworks!
使用Swift编写的pod之前,一切工作正常。
通过将CocoaLumberjack.framework
生成的Pods-MagicalRecord
目标链接到中,似乎对于此问题有一些可用的解决方法Pods.xcodeproj
。这将使MagicalRecord看到DDLog,因此您应该能够进行编译。但是,这是一个非常脆弱的解决方案,因为每次通过运行来重新生成Pods项目时,都需要重新链接框架pod install
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句