如何获取"Created by <name> on <date>"文本



所以这个问题其实很简单,但我不知道如何处理这个问题。我知道这段代码是由基于这个问题的模板生成的:

XCode 自动生成评论?

我想使用 xcode 在每台 mac 机器上提供的<name>,这对于某些类型的日志的用户来说是唯一的。

编辑:

以下是 swift 模板文件在被 Xcode 用于创建我的工作文件之前的外观:

//
//  ___FILENAME___
//  ___PROJECTNAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//

当然,解析它是没有意义的。

问题是:有谁知道我如何在我的应用程序中使用 swift 获取这个名称?

我在这里/谷歌搜索了答案,但到目前为止没有运气。

我不知道

如何阅读标题。但你可以不这样做。

首先,如果您需要文件的创建日期,您可以使用NSFileManager

var path = "path/to/your/file/"
var fileAttribs:NSDictionary = NSFileManager.defaultManager().attributesOfFileSystemForPath(path, error: nil)!
var creationDate = fileAttribs.objectForKey(NSFileCreationDate)

此外,如果您需要完整的用户名,您可以使用函数 NSFullUserName()NSUserName() .它应该返回与__FULLUSERNAME__相同的字符串

var fullUsername = NSFullUserName()
var username = NSUserName()

有时在iOS模拟器中,此用户名为空,但在实际应用程序中,它应该可以正常工作。

在模板实例化时编写的文本 — 即,当您创建新的 Xcode 项目(或使用 File> New> File... 模板在现有项目中创建新文件时)。无法读取从中编译代码的源文件的内容。(好吧,除非您将该文件与编译的二进制文件一起交付,并像任何其他文本文件一样读取它。

但这只是文本替换 - 它可以在文件中的任何位置完成,而不仅仅是在注释标题中。因此,您可以创建自己的文件或项目模板,并在模板文件中将这些替换宏放在代码中而不是注释中:

let schmoeWhoCreatedThisFile = "___FULLUSERNAME___"

这是一个在几秒钟的 Web 搜索中找到的教程,其中包含有关创建模板的完整详细信息以及您可以在其中使用的替换宏。

请记住,当您

创建新文件或项目时,就会发生替换 - 如果您正在寻找谁对您的源文件进行了最新更改,或者谁构建了交付给您的客户的应用程序,那么您就走错了树。您可以使用源代码管理执行其中一些操作;其他的则更像是您或您的组织的(人工定义,人工执行)策略。

最新更新