Xcode / Cocoapods:我无法访问与我的项目链接的框架中的依赖项

时间:2019-03-14 13:56:54

标签: ios frameworks cocoapods

我只想在一个工作区中嵌入几个项目和框架。

这是Xcode中的结构:

enter image description here

Project1Project2是应用程序项目,而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

enter image description here

一切都可以编译,我可以在BaseFramework中导入Project2 ...但是我无法使用Toast-Swift中的方法。我在这里做什么错了?

感谢您的帮助。

2 个答案:

答案 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