当前位置: 首页> 娱乐> 明星 > 竞价网络推广托管_大学生应届毕业生招聘官网_茂名网络推广_上海关键词排名提升

竞价网络推广托管_大学生应届毕业生招聘官网_茂名网络推广_上海关键词排名提升

时间:2025/7/12 4:47:14来源:https://blog.csdn.net/tongwei117/article/details/146110763 浏览次数:2次
竞价网络推广托管_大学生应届毕业生招聘官网_茂名网络推广_上海关键词排名提升

在macOS 项目中,使用 Swift Package Manager (SPM) 创建并集成本地库的完整步骤。

  1. 创建一个macos应用程序,选择 swift、oc、swiftui都可以。
    在这里插入图片描述

  2. 创建好应用之后,开始创建SPM本地库。

    打开终端app,进入项目根目录,逐次输入一下命令:

// 创建本地库目录(名称自定)
mkdir tools 
cd tools
# 初始化 Swift 包(类型选择 Library)
swift package init --type library
创建成功之后终端会输出以下内容以及右侧自动生成的内容:

在这里插入图片描述

  1. 进入刚才自动生成的Sources文件夹中,将abs文件夹删掉(也可以不删掉,我这边删掉是因为tools中需要管理更多的本地库)

  2. 在Sources文件夹中,新建文件夹以及swift文件

在这里插入图片描述
注:自己编写swift文件中的内容

5. 到这一步已经完成50%,重点是编写Package文件内容

// swift-tools-version: 6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.import PackageDescription
/*** name:Swift包的名称;* defaultLocalization:资源的默认本地化;* platforms:支持的最低系统平台的列表;* pkgConfig:用于C模块的名称。如果存在,Xcode将搜索.pc文件以获取系统目标所需的其他标志;* providers:系统目标的程序包提供者;* products:此软件包可让客户使用的产品列表;* dependencies:软件包依赖项列表(可空,或需要其它外部依赖);* targets:属于此软件包的目标列表(源码目录、测试目录);* swiftLanguageVersions:此软件包兼容的Swift版本列表;* cLanguageStandard:用于此程序包中所有C目标的C语言标准;* cxxLanguageStandard:用于此程序包中所有C ++目标的C ++语言标准;通常我们需要的是:name、platforms、products、dependencies、targets*/let package = Package(name: "tools",platforms: [.macOS(.v14)],products: [.library(name: "MyLogger",targets: ["MyLogger"]),.library(name: "MyLocalLibrary",targets: ["MyLocalLibrary"]),],targets: [.target(name: "MyLogger"),.target(name: "MyLocalLibrary"),.testTarget(name: "toolsTests",dependencies: ["MyLogger", "MyLocalLibrary"]),]
)

此时,可以直接在创建的本地库中运行单元测试,测试是否有报错,有报错需要解决。

  1. 创建好本地SPM和运行也正常测试,这时候主工程就需要使用本地SPM库
    直接将创建好的SPM库往工程里面拖,注意选好选项。

    在这里插入图片描述
    7、想要使用刚才创建好的本地SPM本地库,还需要将他们加入到工程中在这里插入图片描述

到此,创建好的本地SPM库就可以正常使用了。
public struct MyLogger {var DEBUG: Bool = false// 这里是 struct,所以按照 swift 的 struct 语法,可以不写 init,// 但是,因为是封装成 SPM 库,需要对外暴露,// 所以 init 构造器不能默认不写,一定需要有 public 构造器,否则外部无法初始化public init() {}public init(_ DEBUG: Bool) {self.DEBUG = DEBUG}public func log(_ msg: String) {if DEBUG {print("Logger\t\(msg)")}}
}
关键字:竞价网络推广托管_大学生应届毕业生招聘官网_茂名网络推广_上海关键词排名提升

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: