将Swift项目添加到Xcode中的Mac应用程序

Mat*_*pel 8 macos xcode swift

我有一个简单的基于Swift的Hello World项目 - 一个原生的Mac应用程序,它只有一个简单的"hello world"窗口 - 使用"Cocoa Application"模板在Xcode中构建.我想添加一个特定的第三方Swift库.

我是Xcode和Swift的新手,所以我错过了一些直截了当的东西,并且没有找到正确添加它的方法,以便我可以import PG在应用程序中进行构建:

使用swift包管理器

我可以使用构建库swift build.我可以使用生成库的Xcode项目swift package generate-xcodeproj.但我没有找到明确的说明,将库带入Xcode中的现有原生Mac应用程序(或使用swift构建

例如,Twilio的这个教程包括将Swift项目构建为独立的二进制文件,并在Xcode中编辑Swift代码.但它不包括在本机mac应用程序中包含Swift库.其他教程同样关注独立的swift工具.

我尝试Package.swift在应用程序根目录中创建一个文件,指定依赖项,然后运行swift package resolveswift build.我得到"错误:找不到目标:PG"来自swift build:

import PackageDescription

let package = Package(
    name: "myapp",
    targets: [
        Target(
            name: "myapp",
            dependencies: ["PG"] // This must be incorrect 
        ),
    ],
    dependencies: [
    .Package(url: "https://github.com/davbeck/PG.swift.git", majorVersion: 0),
    ]
)
Run Code Online (Sandbox Code Playgroud)

其他包管理员

我知道如何使用CocoaPods添加框架,但是这个项目不适用于它.我尝试使用Carthage,但它没有构建我可以添加到项目中的框架.

只需添加文件

如果只是通过拖放文件来添加Swift源代码,那么当我尝试时,我会得到一个"没有这样的模块PG" import PG.这似乎也不是一个可持续的选择.将文件拖入Xcode时,我不得不选择"创建组"而不是默认的"创建文件夹引用"来让Xcode查看文件:

在此输入图像描述

Ser*_*yov 5

这里最简单的方法之一就是从SourcesXcode项目的目录中添加原始源文件.这样你就不需要导入任何东西,但它也有许多缺点.这就是包管理器存在的原因.

您链接的项目实际上支持Swift Package Manager安装.我建议你尝试而不是手动添加文件.使用它比Carthage或CocoaPods要复杂一点,但它确实值得.

它被认为是管理macOS项目依赖关系的最佳方式.在如何使用SWIFT包管理器的详细信息,我建议一对夫妇那些有用的教程.