Use_frameworks! and podspec in the root of the repo library
I have the following dependencies in my iOS project:
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'
I am using the latest version of CocoaPods at the moment (0.37.0).
gives no warnings or errors, but when I try to build, I get a linker error:
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
does not see
that gives a character. The documentation says:
Sometimes you may need to use a cross-version of the Pod, a specific revision, or your own fork. If so, you can specify it with your pod declaration. It's important to note, however, that this means that the version will need to satisfy any other Pod dependencies by other Pods.
However, it does not explain exactly how these dependencies should be satisfied. Can someone explain this? Everything worked fine until I added
to use a pod written in Swift.
source to share
It looks like there is a somewhat useful workaround for this problem by tying
in the generated target
. This will allow MagicalRecord to see the DDLog and therefore you should be able to compile. This is a rather fragile solution, however, as you will need to re-link the structure every time you regenerate the Pods project by running
source to share