在 Xcode 中的其他类似工作空间中导入带 pod 的工作空间

Import a workspace with pod in a other similar worskspace in Xcode

我构建了 2 个 swift 项目。两者都使用 CocoaPod,所以这些项目都是工作区。

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

我遵循了 Apple Docs 中的那些步骤,但是我的框架(第一个项目)中的任何 类 都被识别了......我有 80 个这样的错误:

Use of undeclared type < MyFrameworkClass >

我知道设置多个 pods 工作区的两个选项。

您可以为两个项目创建一个 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 文件,创建另一个工作区,添加两个项目和两个 pods(用文件夹将它们分开)。 不要添加工作空间,只添加项目。

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

Swift POD 文件中的 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