【问题标题】:How does Xcode know who the project was "created by"?Xcode 如何知道项目是“由谁创建的”?
【发布时间】:2011-10-20 11:23:05
【问题描述】:

每当向项目中添加新文件时,Xcode 都会在顶部添加以下几行 cmets。

//  Created by {my name here} on 8/4/11.
//  Copyright 2011 __{my company name here}__. All rights reserved.

它怎么知道我的名字?是否假设如果我的帐户名属于“Mike”,“Mike”是编写此代码的开发人员的姓名?

然后它会查看地址簿以找出“迈克”在哪家公司工作吗?这是有道理的,但是作为我通讯录的一部分列出的公司并不是 Xcode 文件中显示的内容。

可以在 Xcode 读取它的地方设置以下内容吗?

  • 姓名
  • 公司名称
  • 其他一些描述重要内容的文字

【问题讨论】:

    标签: xcode xcode-template


    【解决方案1】:

    我没有检查,但我认为它会从您在通讯簿中的默认条目中提取该信息。

    【讨论】:

    • “默认条目”是与您在系统偏好设置->帐户中的帐户相关联的条目。它在地址簿中也有一个特殊的图标
    • 您可以在“联系人”应用程序中找到它。点击“卡片”菜单,然后点击“转到我的卡片”。
    【解决方案2】:

    在地址簿中选择您自己(如果您不在,请添加您自己),然后在菜单栏中转到卡片 -> 将此卡设为我的卡片。从 Xcode 模板创建文件时,该卡中的姓名、姓氏和公司名称将用于填充文件标题中的信息。

    或者,您可以通过 Terminal.app 使用默认设置,如下所示:

    defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME="ACME Inc.";}'
    

    【讨论】:

    • 您一次只能激活一张,但如果您愿意,您可以随时更改激活卡,从那一刻起,Xcode 将获取所有创建文件的新信息。
    • 从 Xcode 4.4 开始,这是不正确的。它从设置>用户和组中当前用户帐户记录的全名字段中提取完整的用户名(模板文件中的___FULLUSERNAME___)。不使用通讯簿卡。 FULLUSERNAME 的 PBXCustomTemplateMacroDefinitions 值也没有任何效果。
    【解决方案3】:

    它使用您自己的通讯录信息。

    到达:

    System Preferences --> Users & Groups --> choose current User --> and press Open at Address Book Card.

    在那里你会发现你自己在 xcode 中使用的信息。

    【讨论】:

      【解决方案4】:

      模板来自ie /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Cocoa Touch/Objective-C class.xctemplate/NSObject/FILEBASENAME.h

      您可以对一些自定义信息(如代码保修或其他法律文本)进行硬编码。用它来达到预期的效果,但这是一种艰难而笨拙的方式

      在简单的方法上有用的提示是您可以在编辑项目文件时更改 Xcode4 实用程序窗格(右侧)上的组织属性(如构建设置)。它将应用于此项目中创建的所有文件。

      【讨论】:

        【解决方案5】:

        系统偏好设置-->用户和组-->选择当前用户-->右键当前用户-->高级选项-->更改全名 它适用于 Xcode 6.3.2

        【讨论】:

        • 谢谢!一直在寻找一个小时,这解决了它。
        • edit: 选择当前用户 --> 解锁面板 --> 右键单击​​当前用户(P.S.:谢谢,它有效!)
        【解决方案6】:

        “创建者”名称并非来自通讯簿,而是来自“系统偏好设置”->“当前用户”下的用户和组中的名称。您可以通过创建一个名为 IDETemplateMacros.plist。要通过显示“创建者”的位置更改名称,请创建一个名为 FULLUSERNAME 的新键,并为其指定所需的值。要更改公司名称,请创建一个名为 ORGANIZATIONNAME 的新密钥。您还可以通过创建一个名为 FILEHEADER 的新键来重写整个标题。要访问任何这些键的值中的 FULLUSERNAME 和 ORGANIZATIONNAME 之类的宏,只需在两端用两个下划线将宏括起来。 (例如:Key: FILEHEADER, Value: Made by __FULLUSERNAME__

        关于 plist 文件的放置位置,请参阅 Ole Begemann 的 blog post 关于宏的第 3 步,

        将文件复制到以下位置之一。该目录指定自定义文本宏应该在哪个上下文中 应用:

        • 对于单个项目和用户: .xcodeproj/xcuserdata/[用户名].xcuserdatad/IDETemplateMacros.plist

        • 对于单个项目中的所有团队成员: .xcodeproj/xcshareddata/IDETemplateMacros.plist

        • 对于单个用户的工作区中的所有项目: .xcworkspace/xcuserdata/[用户名].xcuserdatad/IDETemplateMacros.plist

        • 对于所有团队成员的工作区中的所有项目: .xcworkspace/xcshareddata/IDETemplateMacros.plist

        • 对于您从事的所有工作,无论项目如何: ~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist

        有关更多信息,请查看 Ole Begemann 撰写的这篇精彩文章, https://oleb.net/blog/2017/07/xcode-9-text-macros/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-20
          • 2014-03-24
          相关资源
          最近更新 更多