Apple, Macintosh, MacOS X, iPhone 関係を中心に日々の雑感を書き綴っております. Herzlich Wilkommen!
Google検索
2008年2月6日水曜日
[dev log] XcodeでSubversionを使う【番外編】ADC のリファレンス Source Control が更新されました
Apple Developer Connection : Source Control
正直、もうちょっと早く出してほしかった... orz
まあでも、いろいろ調べて良い経験になったし、これでガイドを読んでも多少理解しやすくなったので良いかな。自分としては、もう少し読み込んで、なんで "file://" でうまくいかなかったのか謎を究明したいところです。
ちょうど良いので、 Subversion に関するエントリをまとめておきます。
[dev log] XcodeでSubversionを使う(1)
[dev log] XcodeでSubversionを使う(2)
[dev log] XcodeでSubversionを使う(3)
[dev log] XcodeでSubversionを使う(4)
何かしら、お役に立てていれば幸いです。
2008年2月1日金曜日
[dev log] XcodeでSubversionを使う(4)
Me and Mark Publishing's Blog : Xcode 3 Feature: Version Control Repository Access
やり方は若干違うものの、今まで説明してきたものとほぼ同じ手順のようです。しかし、私のSubversionに対する理解不足により、ディレクトリの構成を少し以前の説明とは変えました。以後、この引用記事の説明を元に、自分でやってみたことを書きたいと思います。以下、図はクリックすると多少大きくて見やすくなりますので、適宜ご利用ください。
前回はプロジェクトファイルをフォルダごとリポジトリに読み込んだわけですが、ディレクトリの構成を右図の様に変えました。これはSubversionの機能を有効利用するためのもので「こういうものだ」ととりあえず理解してください。詳しい話はSubversionの本を参照してください。ここでは、CocoaBeginnerリポジトリの"HelloWorld"フォルダ直下に4つのフォルダ、
branches, tags, trunk, WorkingCopy
を作りました。プロジェクト・ファイルはtrunkに読み込んでおきます。
さて、リポジトリに読み込んだソースですが、Subversionによる管理を有効にするにはXcodeのプロジェクト・ディレクトリにチェック・アウトしなければなりません。元のローカル・フォルダに上書きしても良いのですが、一応念のため、別の場所にチェック・アウトすることにします。「リポジトリ」ウィンドウの「チェックアウト」ボタンをクリックすると、左図の様にチェックアウトをする場所を問い合わせるウィンドウが開きます。ここでは、HelloWorld/trunk を ~/書類/dev test/Hello World/ にチェック・アウトします。

正常にチェックアウトできると、プロジェクトを開くかどうか問い合わせのウィンドウが表示されます。ここではプロジェクト・ファイルを開いて、XcodeにSubversionを使う旨を知らせる設定をすることにします。右図はプロジェクト・ファイルを開いたところです。

プロジェクトをチェック・アウトした後は、必ずプロジェクト・ファイルの「情報」をクリックして「一般」タブからSubversionを使っていることをXcodeに知らせてやる必要があります。さらに、この機能はLeopard (MacOS X 10.5 + Xcode 3.0)からの機能なので、10.4互換のプロジェクトファイルだと、SCMの選択肢がグレイになっていて選択出来ません(私はこれで引っかかりました... orz)。「情報」ボタンをクリックすると左図が表示されます。
私が読み込んだプロジェクトはTigerのものだったので、このままではエラーが表示されてしまいます。そこで互換性は無視して「プロジェクトフォーマット」はXcode3.0、「ターゲットSDKを使用したクロス開発」はMacOS 10.5(または、現在使っているOSが10.5なら"現在のMacOS")に設定します。場合によっては、この設定を終わった段階でエラーが表示されてしまいますが、リビルドすると大丈夫なようです。未確認ですが、最初からLeopard用のプロジェクトを作っておけば、おそらくエラーは出ないと思われます。

ファイルを変更したり、ビルドを繰り返すと、リビジョンが上がっていきます。コミットはファイルへの変更が行われるたびに自動的にされるようです。(プロジェクト・ウィンドウの中にある"SCM"の所に「ぐるぐる」マークが出てきます)ソースの比較やdiffなどは「情報」ボタンをクリックして、「SCM」タブをクリックすると確認できます。
ここまでSubversionをXcodeでどう使うかについて調べました。AppleのXcodeユーザガイドがはXcode3.0用にどうも更新されていない様なので(もしかしたらどこかにあるのかもしれませんが…もしご存じでしたらお知らせください!)、せっかくのGUIでの操作がよくわからない事になっています。で、まとめようと思ってはじめたのですが、思ったより大変でした。手順としてあまり洗練されていないかも知れませんが、わかりにくい箇所があったら是非お知らせください。
管理者兼開発者がSubversionを使うには、Subversionのadminの知識をもう少し蓄えねばならないようです。興味のある向きは、URLを張った記事はしっかりしているようですので、Subversionのサイトと併せて是非ご参照ください。
2008年1月31日木曜日
[dev log] XcodeでSubversionを使う(3)
(1),(2)で設定したリポジトリへプロジェクトを読み込む。
今回は前回と構成を変えたので若干名前が変わっています(CocoaBeginnerに変更)が、ご了承下さい。
まず、リポジトリにファイルを読み込むための準備をします。SCMメニューから「リポジトリ」をクリックします。

するとリポジトリ操作のためのウィンドウが開くので、次のような手順で既存のプロジェクトを読み込みます。
(1) 「ディレクトリを作成」ボタンをクリックしてプロジェクトを読み込むためのディレクトリを作成する。
(2) ディレクトリが出来るとリポジトリ・ディレクトリにディレクトリが表示される。
(3) 「読み込み」ボタンをクリックして、既存のプロジェクト(この場合Hello World)をファイル選択メニューからディレクトリ丸ごと選択する。コメントの記入を求められるので必要ならば記入する。
(4) 読み込みが正常に終了すると、(1)で作成したディレクトリの下にプロジェクト・フォルダが表示される。
これで、とりあえずプロジェクトファイルをリポジトリ内に読み込むことが出来ました。
次回はチェックイン・チェックアウトについて書く予定です。
2008年1月29日火曜日
[dev log] XcodeでSubversionを使う(2)
昨日はSubversionを使うための設定だけで終わってしまった。なので本日はいよいよXcodeでサンプルのプロジェクトをリポジトリへ読み込む所までを実行してみる。
Xcode3.0からはTerminalからコマンドをたたかなくてもイイらしい。というわけで、早速XcodeのSCMメニューから「SCMリポジトリを構成...」を呼び出す。
新しくウインドウが開くと右図のようになるはず。ここからは赤い吹き出しに振った番号順に説明する。
(1)まず「+」ボタンをクリックして、新しくリポジトリのディレクトリを割り当てる準備をする。
(2)適当に名前をつける。プロジェクト名と同じにしておくのが無難だと思う。
(3)スキームを指定する。これは何のことか迷ったけど、ようするにURLのスキームのことを言っているらしい。SSHとSubversionを使うので"svn+ssh"と指定する。ちなみに"file"とかを指定してみましたが、私の場合うまくいきませんでした。
(4)ホスト名を指定する。ローカルホストを指定する場合、<自分のコンピュータ名>.localでOK。<自分のコンピューター名>はシステム環境設定の「共有」で確認可能。ちなみにココでは baaaaar というのが<自分のコンピュータ名>です。
(5)昨日のエントリで作ったSubversion用のリポジトリ・ディレクトリを指定する。この場合、ルート(/)直下に置いた"svnrep"というディレクトリを指定。
(6)自分のユーザ名を指定する。この場合 foo がユーザ名です。
(7)ユーザ名に対応するパスワードを指定する。
(1)〜(7)まで入力し、それが正しい指定であれば、しばらくするとキーチェーン・アクセスの確認画面が出てきます。いちいち確認するのは面倒なので(自分しか使わないローカルのパソコンだし)「常に許可」をクリックすると、画面の下の方に「認証されました」と出てきます。ココまでやって、ようやくファイルを読み込む準備ができました。
URLは(2)-(7)が全部入力できれば、勝手に入力されます。たぶんURL直書きとかすると、この手順とは逆に、個別の欄に入力が補完されるのだと思いますが試してません。
というわけで、次回はリポジトリにプロジェクトのディレクトリを読み込む所までを行います。
2008年1月28日月曜日
[dev log] XcodeでSubversionを使う(1)
すみません。不勉強で…
いままで手動でCVSしてたが、Xcodeからいろいろと出来るらしいので、あっちこっち参考にしながら、ようやっと稼働直前まで準備してみた。まだプロジェクト登録まではしてないが、Cocoaセミナーの例題なんかを動かしてみる予定。
注意が必要なのは、Xcodeのドキュメントからたどっていくと、何故かTigerまでのリポジトリの構成の仕方が出てくる。これでだいぶ手間をくってしまった(--;
LeopardにはniclなどのNetInfo関係のツールは全く無くなっているので、【参考にしたサイト】などを参照して、リポジトリなどを作って欲しい。
ちなみに私が行った操作は、次の通り。
(1)Subversion用のユーザグループを作る(niclの代わりにdsclを使う)
(2)Subversion用のリポジトリのディレクトリを作る(svnadminコマンド)
(3)リポジトリのディレクトリをイニシャライズする
(4)リポジトリのディレクトリを作ったSubversion用のユーザグループに割り当てる。
(5)自分のアカウントをSubversion用のユーザグループに加える(システム環境設定から可能)
ユーザグループの作成が成功していれば、システム環境設定の「アカウント」からグループ設定ができるっていうのに初めて気がついた。でもグループを作るのはシステム環境設定で出来ないのだろうか。
というところまでやってみて、今日の所はおしまいにする。
【参考にしたサイト】
林檎と暮らす一人暮らし、改め研究室生活
Leopard (MacOS10.5関連情報)