我正在尝试创建一个动态框架来在我的应用程序的各种扩展之间共享代码。
问题 :
这是我的项目结构。
MyFrameworks 是我的应用程序的网络层,本质上使用 Alamofire。我的 pod 文件的结构如下。
platform :ios, '9.0'
use_frameworks!
workspace 'CocoaPodsProjectworkspace'
def shared_pods
pod 'Alamofire'
pod 'SwiftyJSON'
end
target 'CocoaPodsProject' do
project 'CocoaPodsProject.xcodeproj'
# Pods for CocoaPodsProject
end
target 'MyFramework' do
project 'MyFramework/MyFramework.xcodeproj'
shared_pods
end
target 'CocoaPodsProjectTests' do
end
target 'CocoaPodsProjectUITests' do
end
Run Code Online (Sandbox Code Playgroud)
在构建框架时,当我将其作为嵌入式二进制文件拖到我的主项目中时,我收到错误。
dyld:未加载库:.framework/Alamofire 引用自:/Users/sandeep/Library/Developer/Xcode/DerivedData/CocoaPodsProjectworkspace-enpobdyluhbxdwazuvbfogcspfof/Build/Products/Debug-iphonesimulator/MyFramework.framework/MyFramework 原因:未找到图像
我尝试过的解决方案:
有效的解决方案:
我意识到 MyFramework.framework 试图在错误的目录中找到 Alamofire.framework,并且它总是尝试使用框架相对于项目/目标进行搜索。所以我能找到的最简单的解决方案是修改 pod 文件,如下所示。
platform :ios, '9.0'
use_frameworks!
workspace 'CocoaPodsProjectworkspace' …Run Code Online (Sandbox Code Playgroud)