use_frameworks!和库 repo 根目录中的 podspec
use_frameworks! and podspec in the root of a library repo
我的 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 的最新版本、特定修订版或您自己的分支。如果是这种情况,您可以在 pod 声明中指定它。
但请务必注意,这意味着该版本必须满足其他 Pods.
对 Pod 的任何其他依赖性
但是,没有解释应该如何准确地满足这些依赖关系。谁能解释一下?一切正常,直到我添加 use_frameworks!
以使用在 Swift.
中编写的 pod
看起来这个问题有一些可用的解决方法,方法是在 Pods.xcodeproj
中生成的 Pods-MagicalRecord
目标中 linking CocoaLumberjack.framework
。这将允许 MagicalRecord 看到 DDLog,所以你应该能够编译。但是,这是一个非常脆弱的解决方案,因为每次通过 运行 pod install
.[=15= 重新生成 Pods 项目时,您都需要重新 link 框架]
我的 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 的最新版本、特定修订版或您自己的分支。如果是这种情况,您可以在 pod 声明中指定它。 但请务必注意,这意味着该版本必须满足其他 Pods.
对 Pod 的任何其他依赖性但是,没有解释应该如何准确地满足这些依赖关系。谁能解释一下?一切正常,直到我添加 use_frameworks!
以使用在 Swift.
看起来这个问题有一些可用的解决方法,方法是在 Pods.xcodeproj
中生成的 Pods-MagicalRecord
目标中 linking CocoaLumberjack.framework
。这将允许 MagicalRecord 看到 DDLog,所以你应该能够编译。但是,这是一个非常脆弱的解决方案,因为每次通过 运行 pod install
.[=15= 重新生成 Pods 项目时,您都需要重新 link 框架]