所以问题实际上很简单,但我不知道如何处理这个问题。我知道这段代码是基于这个问题由模板生成的:
XCode automatically generated comments?
我想使用xcode在每台mac机上提供的 <name>
,对于某些类型的日志,它对用户来说是唯一的。
修改
这是swift模板文件在Xcode用来创建我的工作文件之前的样子:
//
// ___FILENAME___
// ___PROJECTNAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//
当然,解析它没有意义。
问题是:有谁知道如何在我的应用程序中使用swift获取此名称?
我在这里搜索答案/谷歌但到目前为止没有运气。
答案 0 :(得分:1)
我不知道如何阅读标题。但你可以这样做。
首先,如果您需要文件的创建日期,可以使用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模拟器中,此用户名为空,但在真实应用中,它应该可以正常工作。
答案 1 :(得分:0)
在模板实例化时写入的文本 - 也就是说,当您使用文件&gt;新&gt;文件... 模板创建新的Xcode项目(或现有项目中的新文件)时)。您无法读取编译代码的源文件的内容。 (好吧,除非你将该文件与编译后的二进制文件一起发送,并像其他文本文件一样读取它。)
但这只是文本替换 - 它可以在文件中的任何位置完成,而不仅仅是在注释标题中。因此,您可以创建自己的文件或项目模板,并在模板文件中将这些替换宏放在代码中而不是注释中:
let schmoeWhoCreatedThisFile = "___FULLUSERNAME___"
Here's a tutorial在几秒钟的网络搜索中找到,其中包含有关创建模板以及可在其中使用的替换宏的完整详细信息。
请记住,当您创建新文件或项目时,会发生替换 - 如果您正在寻找谁对您的源文件进行了最新更改,或者是谁构建了发送给您客户的应用程序,你正在咆哮错误的树。你可以做的一些事情with source control;对您或您的组织而言,其他更多是(人为定义的,人为执行的)政策。