How does Xcode know who the project was “created by”?

ぐ巨炮叔叔 提交于 2019-11-30 11:03:48

问题


Whenever a new file is added to the project, Xcode adds the following lines of comments on top.

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

How does it know what my name is? Does it assume that if my account name belongs to "Mike", "Mike" is the name of the developer writing this code?

Does it then look at Address Book trying to find out what company "Mike" works at? It would make sense, however company listed as part of my address book is not what shows up in the Xcode file.

Can one set the following up in some place where Xcode will read it from?

  • Name
  • Company name
  • some other text describing something important

回答1:


In Address Book select yourself (or add yourself if you aren't there) and then go to Card -> Make This My Card in menu bar. The name, last name and company name from that card will be used to populate info in file headers when creating files from Xcode templates.

Alternatively, you could set it using defaults via Terminal.app like this:

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



回答2:


System Preferences --> Users & Groups --> choose Current User --> right click Current User --> Advanced Options --> change the full name It works in Xcode 6.3.2




回答3:


It uses you own information from the address book.

Got to:

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

There you will find you own information used in xcode.




回答4:


The template comes from i.e. /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Cocoa Touch/Objective-C class.xctemplate/NSObject/FILEBASENAME.h

You can harcode some custom info(like code warranty or other legal text). Play with it to achieve desired results, but this is the hard and clumsy way

On the easy way useful hint would be that you can change Organization property on the Utilities pane(right side) in Xcode4, when editing the project file(liek build settings). It will be applied to all files created in this project.




回答5:


I haven't checked but I think it pulls that information from your default entry in the address book.




回答6:


The "Created by" name does not come from the Address Book, rather, it comes from the name in System Preferences -> User and Groups under "Current User". You can change this name and other variables in the file header by creating a property list file called IDETemplateMacros.plist. To change the name by where it says "Created by", create a new key called FULLUSERNAME and give it the value you wanted. To change the company name, create a new key called ORGANIZATIONNAME. You could also rewrite the whole header by creating a new key called FILEHEADER. To access macros like FULLUSERNAME and ORGANIZATIONNAME in the values for any of these keys, just surround the macro by two underscores on both ends. (Example: Key: FILEHEADER, Value: Made by __FULLUSERNAME__)

For where to put the plist file, refer to step 3 from Ole Begemann's blog post about macros,

Copy the file to one of the following locations. The directory specifies in which context the customized text macros should be applied:

  • For a single project and user: .xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist

  • For all team members in a single project: .xcodeproj/xcshareddata/IDETemplateMacros.plist

  • For all projects in a workspace for a single user: .xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist

  • For all projects in a workspace for all team members: .xcworkspace/xcshareddata/IDETemplateMacros.plist

  • For everything you work on, regardless of project: ~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist

For more information, check out this great article written by Ole Begemann, https://oleb.net/blog/2017/07/xcode-9-text-macros/



来源:https://stackoverflow.com/questions/6950074/how-does-xcode-know-who-the-project-was-created-by

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!