我今天打开了一个iOS(Swift)项目,好一阵子没碰,它也没有建立。 Cocoapods框架的第一个import语句在Xcode中引发了No such module
编译错误。更改导入语句的顺序会使错误引发,这是导入列表中第一个外部依赖项。
我通过将每个Cocoapods添加到项目的主要目标中的Framework Search Paths
来解决此问题(它有一些目标,包括测试,共享扩展以及用于该应用和扩展的共享代码框架)。这些搜索路径为空,现在看起来像这样:
这样做之后,项目运行良好,但是现在每次尝试运行应用程序(在模拟器和设备上)时,我都遇到此SIGABRT
错误:
dyld: Library not loaded: @rpath/CocoaLumberjack.framework/CocoaLumberjack
Referenced from: [path removed]
Reason: image not found
我的猜测是这与CocoaLumberjack由于其宏而需要链接到其他/其他方式有关,但我并不十分了解。
我还尝试过运行pod install
,清理构建文件夹并删除派生数据,以及运行pod deintegrate
+ pod install
都没有成功。
能否使Cocoapods正确地自动设置我的搜索路径,所以我没有这些问题?还是有手动步骤丢失或做错了?
编辑后添加我的Podfile:
platform :ios, '11.0'
use_frameworks!
# ignore all warnings from all pods
inhibit_all_warnings!
# This is my shared framework, used by both my app and share extension
target 'XXXShared' do
pod 'SnapKit', '~> 4.0'
pod 'KeychainSwift', '~> 7.0'
pod 'Reveal-SDK', :configurations => ['Debug']
pod 'IQKeyboardManagerSwift'
pod 'APESuperHUD', :git => 'https://github.com/apegroup/APESuperHUD.git'
pod 'WSTagsField', '~> 3.1'
pod 'Cache', '~> 4.2'
pod 'TableKit', '~> 2.5'
pod 'GRDB.swift', '~> 3.2'
pod 'PromiseKit', '~> 6.0'
pod 'Toast-Swift', '~> 3.0.1'
pod 'CocoaLumberjack/Swift'
pod 'CollectionKit'
pod 'PinLayout'
pod 'FlexLayout'
pod 'LayoutKit'
pod 'PromiseKit/Alamofire'
pod 'Alamofire', '~> 4.7'
end
target 'XXX' do
pod 'Reveal-SDK', :configurations => ['Debug']
end
target 'XXX share extension' do
inherit! :search_paths
end
已编辑以添加屏幕截图: