2012年5月2日水曜日

Xcode4でファイル作成時の「名前」と「__MyCompanyName__」を変更する

Xcodeでプロジェクトやファイルの新規作成をした場合、各ファイルに自動的に以下の様なコメントが自動的に生成されてしまいます。
//
//  AppDelegate.h
//  TemplateTest
//
//  Created by   on 12/05/02.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

「性 名」や「__MyCompanyName__」はコメントですので、App Storeなどで配布する際には何も影響がありません。しかし、オープンソースにしたり、社内でも複数人で開発している場合など格好悪いですよね。
そこで今回はこれらを変更する方法を紹介します。

Xcode3での変更方法

まずは、Xcode3での変更方法です。ターミナルを起動し、以下の様なコマンドを実行することで変更できます。
(設定する)
$ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ FULLUSERNAME="YOUR NAME"; ORGANIZATIONNAME="YOUR COMPANY NAME"; }'

(設定されたかを確認)
$ defaults read com.apple.Xcode
{
    PBXCustomTemplateMacroDefinitions =     {
        FULLUSERNAME = "YOUR NAME";
        ORGANIZATIONNAME = "YOUR COMPANY NAME";
    };
    kXCDocCheckAndInstallUpdatesAutomatically = 1;
}
この場合、以下のように変わります。
  • 「性 名」 → 「YOUR NAME」
  • 「__MyCompanyName__」 → 「YOUR COMPANY NAME」

詳しくは、iOS Developer Libraryの「Xcode User Default ReferenceXcode User Defaults」に書かれています。

なお、不要になったら、以下のコマンドで削除できます。
(不要になったら削除)
$ defaults delete com.apple.Xcode PBXCustomTemplateMacroDefinitions

(削除されたかを確認)
$ defaults read com.apple.Xcode
{
    kXCDocCheckAndInstallUpdatesAutomatically = 1;
}

Xcode4での変更方法

Xcode4では先ほどの方法は使えません。「defaults write」で変更して「defaults read」で正しく反映されていることが確認できても、新規作成時の「名前」「会社名」は変わりません。
Xcode4では、Mac OS標準のアドレスブックで「自分のカード」の値が使われることになっています。Xcode3でも「自分のカード」の値が使われていたのですが、上述の通りコマンドで上書きをすることができていました。Xcode4でもそのまま残しておいて欲しかったのですが。

アドレスブックで「自分のカード」を作成する

そこで、アドレスブックで現在利用している「自分のカード」とは別に、新たに連絡先を追加してそのカードを「自分のカード」に設定してみました。
アドレスブックで新しく作ったカードを「自分のカードにする」で変更します

「自分」のカードに変更されました

この際、「メールアドレス」はGitでの設定と同じ物を指定することをお勧めします。
$ git config --global youremail@example.jp
としたら、以下の様にします。

Xcodeでのコミットログの表示は、投稿者のメールアドレスをキーにしているようです。そのため、Gitで設定したメールアドレスが別の連絡先にあると、ログに表示される名前が全く別なものになってしまいます。

なお、gitコマンドを使ったログの表示では「git config user.name」や「git config user.email」で設定した値が表示されます。つまり、Xcodeで表示されている名前はXcodeだけでの表示であり、他の人と共有されるログにはgitで設定した名前とメールアドレスが表示されることになります。


テンプレートが変更されたことの確認

ではXcodeで確かめてみます。既にXcodeを起動している場合、再起動は必要ありません。プロジェクトの新規作成をしてみると、無事に変更されています。
//
//  AppDelegate.h
//  TemplateTest
//
//  Created by Your Name on 12/05/02.
//  Copyright (c) 2012 UQ Times. All rights reserved.
//

XcodeでOrganizationを変更する

それとは別に「__MyCompanyName__」だけであれば、プロジェクト毎に設定変更ができます。以下のように「Project Document > Organization」の値を変更することで、新規作成時のテンプレートを変更できます。
しかし、反映されるのは新規作成時に生成されるコメントのみです。つまり、「Organization」の値を反映するのに新規プロジェクトを作る必要があるのですが、その時にはやはり「アドレスブックの自分のカード」の値が使われてしまいます。

注意点

今回は、もともと「自分のカード」を設定していた連絡先カードとは別に「Xcode」用のカードを追加して「自分のカード」に設定しました。自分の画像を変更したのですから、Mac OS Xのログイン画面のアイコンは変わってしまいます。また、試してはいないのですが、Siriなどデバイスが「自分のカード」を認識していた場合に影響があるかもしれませんが、これ以外の方法はありあません。
他の方法がありましたらご教示いただけると幸いです。

0 コメント:

コメントを投稿