iOS 中的 Target, Scheme & Module

由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 GitHub:https://github.com/kingcos/Perspective/。谢谢!

Access Control Prerequisite Article

  • Info:
  • macOS 10.12.1 Beta 3
  • Xcode 8.1 Beta 3

UPDATE

泊学 Target & Scheme

Target

Target
  • Target 意为「靶子;目标」。在 iOS 项目中,一个 Target 可以表示可执行程序(*.app)或库(.framework),并为构建系统组织输入。
  • 一个 Project 可以有一个或多个 Target,每个 Target 生成一个产品(Product)。
  • Target 继承了 Project 的构造设置,但也可以在 Target 范围定制不同的设置,每次只有能一个活跃的 Target,Xcode Scheme 指定活跃的 Target。

Scheme

Scheme
  • Scheme 定义了一系列要构建的 Target,定义了一个构件时配置,定义了一系列需要运行的测试。
  • Scheme 可以有多个,但每次只能有一个活跃。

Swifter-Tips 命名空间

在 Swift 中,命名空间是基于每个 Module(Target)的。当我们需要跨 Module 访问时(Module 中的类型需设置为 public),可以以 Module(Target)名 + . + 属性名来访问。

// 主 Target
let a: ModuleA.File = ModuleA.File("test.md")
print(a.filename)

// ModuleA - File.swift
public class File {
    public var filename: String
    
    public init(_ filename: String) {
        self.filename = filename
    }
}

前言

Module,中文译为「标准部件;模块」。iOS 中的 Module 类似于 Java 中的 Jar 包,也可以称作第三方库,或者框架(Framework)。Swift 中的访问控制就涉及到了不同 Module 下的情况,因此简单记录下如何在 iOS 项目中新建 Module。

Demo

首先建立一个 iOS Single View Application。

选择 File-New-Target。

File
New
Target

选择 Cocoa Touch Framework。

Cocoa Touch Framework

如图,即为建立的 Module(此处建立两个方便后续测试访问控制修饰符)。

新建完成

使用时,import ModuleA 即可。

Reference

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当我写下这个标题的时候,我是对自己说的,儿子闭关已经一周多了,还没有向老师申请通过…… 关于闭关,是调整孩子内在状...
    多姿多彩的人生阅读 1,180评论 0 1
  • 这个世界有很多假像,看透了人心,品过了人性,所有的一切都那么苍白无力。 要想安好,不咸不淡去处事,若要安好,平平淡...
    闷心门阅读 340评论 0 0