在Xcode

时间:2015-12-02 12:59:34

标签: ios xcode swift cocoapods workspace

我建立了2个快速项目。两者都使用CocoaPod,所以这些项目都是工作空间。

第一个就像一个框架,我在第二个类中使用了很多类。 我在这次输入中没有成功:

enter image description here

我按照Apple Docs中的步骤进行了操作,但我的框架(第一个项目)中的任何类都被识别出来......我有80个这样的错误:

  

使用未申报的类型< MyFrameworkClass>

2 个答案:

答案 0 :(得分:3)

我知道有两个选项可用于设置具有多个pod的工作区。

您可以为两个项目创建单个podfile。您可以想象,它将创建一个单独的工作区,您的两个项目(应用程序和框架)将在其中(让cocoapods处理整个工作区)。

pod文件如下所示:

platform :ios, '8.0'
use_frameworks!
workspace 'WorkspaceName’

xcodeproj ‘FolderOfApp/Project.xcodeproj'
xcodeproj ‘FolderOfApp/App.xcodeproj'

target :ApptTarget do
    xcodeproj 'FolderOfApp/App.xcodeproj'
    pod ‘MyAppPod’
end

target :FrameworkTarget do
    xcodeproj 'FolderOfFramework/Framework.xcodeproj
    pod ‘MyFrameworkPod’
end

您可能需要添加" MyFrameworkPod"到了AppTarget,这带来了一些我仍然无法解决的警告。

无论如何,你之前有另一种选择。像现在一样创建和执行两个pod文件,创建另一个工作区,添加两个项目和两个pod(将它们与文件夹分开)。 不要添加工作空间,只需添加项目。

通过这种方法,我感觉到应用程序没有找到框架依赖项等问题,但我解决了添加框架搜索路径的问题。

答案 1 :(得分:1)

在您的POD文件中提供Swift 5非常简单的解决方案

in your directory :  touch Podfile (file will create in workspace)


# platform :ios, '10.0'
use_frameworks!

workspace 'TestWorkSpace'
xcodeproj 'Project1/Project1.xcodeproj'
xcodeproj 'Project2/Project2.xcodeproj'

    target 'Project1' do
        xcodeproj 'Project1/Project1.xcodeproj'
        #Pods for Project1
        pod 'SwiftyJSON', '~> 4.0'
    end

    target 'Project2' do
        xcodeproj 'Project2/Project2.xcodeproj'
        #Pods for Project2
        pod 'SwiftyJSON', '~> 4.0'
    end