我只想在一个工作区中嵌入几个项目和框架。
这是Xcode中的结构:
Project1
和Project2
是应用程序项目,而BaseFramework
是Cocoa Touch框架。
现在我要做的是向框架添加pod依赖项,然后将该框架链接到项目之一并访问该项目中的依赖项。这是我尝试使用Podfile进行的操作:
platform :ios, '12.1'
use_frameworks!
inhibit_all_warnings!
workspace 'BaseWorkspace'
def shared_pods
pod 'Toast-Swift'
end
project 'Project1/Project1.xcodeproj'
project 'Project2/Project2.xcodeproj'
project 'BaseFramework/BaseFramework.xcodeproj'
target 'BaseFramework' do
project 'BaseFramework/BaseFramework.xcodeproj'
shared_pods
end
然后,我将框架链接到Project2
:
一切都可以编译,我可以在BaseFramework
中导入Project2
...但是我无法使用Toast-Swift
中的方法。我在这里做什么错了?
感谢您的帮助。
答案 0 :(得分:2)
通过在框架目标范围内声明项目目标,项目目标将获得框架的所有依赖项
platform :ios, '12.1'
use_frameworks!
inhibit_all_warnings!
workspace 'BaseWorkspace'
def shared_pods
pod 'Toast-Swift'
end
target 'BaseFramework' do
project 'BaseFramework/BaseFramework.xcodeproj'
shared_pods
target 'Project1' do
project 'Project1/Project1.xcodeproj'
end
target 'Project1' do
project 'Project2/Project2.xcodeproj'
end
end
答案 1 :(得分:0)
最好为您的框架创建一个 pod 并添加“ Toast-Swift”作为 依赖项 作为避免使用伞形框架的理想选择。请参阅here