[Xamarin.Mac] Visual StudioでMacアプリを作成する

Visual Studio for Macを使用している方であれば、Mac用のアプリケーションを作成することができます。

今回は、新規プロジェクトの作成方法とプロジェクトに追加されたファイルがどのようなものかを見ていきます。

Macアプリ用のプロジェクトを作成してみよう

Mac用のアプリを作成するには、Visual Studio for Macで「新規プロジェクトの作成」で「新しいプロジェクト」のダイアログを表示します。

続いて左側で[Mac]-[アプリ]を選択して、右側の一覧で「Cocoa app」を選択し[次へ]ボタンをクリックします。

続いて下図のようにMacのアプリ構成の設定を行います。App Nameにアプリケーション名を、Organization Identifierには、企業URLを逆から入力します。企業URlがない場合は、とりあえず適当でも構いません。Dock Itemにチェックを付けると、デスクトップやDockに表示する名前を入力することができます。ターゲットはOS Xのどのバージョン以降で動作するアプリケーションとして開発するのかを選択します。以上の設定が完了したら[次へ]ボタンをクリックします。

Extensionsにチェックを付けると、アプリで使用するファイルの拡張子を設定をすることができます。今回は使用しないこととします。

次の画面ではプロジェクト名やソリューション名、保存場所といった設定を行うことができます。特に必要がなければデフォルト設定のままで[作成]ボタンをクリックします。

プロジェクトのファイルを確認しよう

プロジェクトの作成が完了すると、ソリューションエクスプローラーは以下のようになります。

Main.cs

Main.csはアプリケーションのエントリポイントです。アプリが起動されると最初に実行されるクラスとメソッドが追加されています。Mainめそっどの中ではアプリケーションのインスタンスを作成し、OSのイベントを処理できるようにしています。

using AppKit;

namespace MyApp
{
    static class MainClass
    {
        static void Main(string[] args)
        {
            NSApplication.Init();
            NSApplication.Main(args);
        }
    }
}

AppDelegate.cs

AppDelegate.csはOSからのイベントを受け取るクラスが実装されています。

DidFinishLaunchingメソッドは、アプリケーションのインスタンスが作成された後に実行され、アプリのウィンドウを作成してビューを表示する処理を実行します。

WillTerminateメソッドは、ユーザーやシステムがアプリケーションを終了しようとしたときに実行されます。アプリケーションが終了する前に、設定の保存や何かしらの処理を行いたい場合は、このメソッドにコードを追加します。

using AppKit;
using Foundation;

namespace MyApp
{
    [Register("AppDelegate")]
    public class AppDelegate : NSApplicationDelegate
    {
        public AppDelegate()
        {
        }

        public override void DidFinishLaunching(NSNotification notification)
        {
            // Insert code here to initialize your application
        }

        public override void WillTerminate(NSNotification notification)
        {
            // Insert code here to tear down your application
        }
    }
}

ViewController.cs

Xamarin.MacのアプリはMVCモデルです。ViewControllerはメインウィンドウのコントローラーを表すクラスで、ライフサイクルを管理します。

using System;

using AppKit;
using Foundation;

namespace MyApp
{
    public partial class ViewController : NSViewController
    {
        public ViewController(IntPtr handle) : base(handle)
        {
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Do any additional setup after loading the view.
        }

        public override NSObject RepresentedObject
        {
            get
            {
                return base.RepresentedObject;
            }
            set
            {
                base.RepresentedObject = value;
                // Update the view, if already loaded.
            }
        }
    }
}

ViewController.Designer.cs

ViewController.Designer.csファイルはユーザーインターフェースを作成したときに自動で作成されるファイルです。

Info.plist

Info.plistはアプリケーションに関する情報を入力することができます。新規プロジェクト作成時に入力した内容もここで確認/変更することができます。

Entitlement.plist

Entitlement.plistはアプリのサンドボックスやiCloudでの設定を行うことができます。

次回は、Xamarin.Macを開発するにあたり、Visual Studioがどのような構成になっていてどのようなことができるのかを見ていきます。


					

[GitHub] Gitを使用する(4)

今回はWindows 版のVisual StudioでGitHubを使用する方法を見ていきましょう。

Visual Studioを起動したら、チームエクスプローラーを開きます。

次に、「ローカルGitリポジトリ」という欄で、[複製]ボタンをクリックします。

上の欄にリモートリポジトリ(GitHub)のパスを、下の欄にはローカルリポジトリのパスを入力します。下の欄は、リモートリポジトリからファイルを持ってくる(クローンする)先のパスになります。

設定が完了したら[複製(C)]ボタンをクリックします。

リモートリポジトリにソースが登録されている場合は、以下のようにクローンがローカルリポジトリに登録されます。

ファイルに修正を加えると、以下のように変更のあったソースの左側に赤いチェックマークが付きます。

ローカルリポジトリにコミットする場合は、右クリックしてメニューから[コミット]を選択します。

チームエクスプローラーに移動するので、コミットメッセージを入力します。

デフォルトでは[すべてをコミット]のボタンが表示されているのですが、ドロップダウンで[全てをコミットしてプッシュ]、[すべてをコミットして同期]も選ぶことができます。

[書籍]かんたんVisual Basic改訂2版

私が執筆をした「かんたんVisual Basic 改訂2版」が本日発売となりました。

本書は、プログラミング未経験の方向けに執筆しております。

最後の章を除いてコンソールアプリケーションでVisual Basicを学んで行くというスタイルで説明をしています。

是非、お手にとっていただければ幸いです。

[GitHub] Gitを使用する(3)

前回と前々回の記事で、GitHubへのアカウントを作成し、リポジトリを作成するまでを説明しました。

今回は、Visual Studio for Macから、コミット、プッシュする方法について見ていきましょう。

そもそもコミットとプッシュは何が違うのか

ソース管理にはGitの他にもSubversion(以降svn)やcvsなどがあります。

良く使用されるのはsvn、Gitあたりでしょうか。

svnにおけるコミットは、変更のあったソースをリポジトリに反映することをいいます。

では、svnにおけるコミットはというと、ローカルのソースをリポジトリに登録するというシンプルなものです。

Gitはというと、ローカルの変更のあったソースをローカルリポジトリに反映させることをコミット(Commit)と呼びます。

また、ローカルリポジトリの内容をリモートリポジトリに反映させることをプッシュ(Push)と呼びます。

Visual Studio for Macでのリポジトリ設定

Visual Studio for MacでGitによるソース管理を行うには、設定が必要です。

この設定は、メニューの[バージョン管理]-[ブランチとリモートを管理する]から行います。

以下のダイアログが表示されるので[追加]ボタンをクリックします。

続いて以下のダイアログが表示されます。名前欄には人にの名称を入力しURLには、作成しておいたリポジトリのパスを入力します。入力が完了したら[OK]を押してダイアログを閉じます。

コミット、プッシュを実行する

続いて、コミットやプッシュをする方法を見ていきましょう。

こちらも[バージョン管理]のメニューから実行が可能で、以下のように[ソリューションを確認してコミット]でローカルリポジトリに反映、[変更をプッシュ]でリモートリポジトリへ反映します。

リモートリポジトリに正しく反映できた場合は、GitHubのサイトで以下のように確認できます。

 

[GitHub] Gitを使用する(2)

前回の記事「Gitを使用する(1)」では、GitHubにアカウントを作成し、GitHubを使用するための準備を行いました。

今回はリポジトリを作成してみましょう。

リポジトリとは

リポジトリとは、ファイルやディレクトリを保存しておく場所のことです。

GitHubにおいては、ローカルリポジトリとリモートリポジトリの2種類があります。

ローカルリポジトリとリモートリポジトリ

ローカルリポジトリとは自分のマシン内のファイル置き場を表し、通常はこちらで作業を行います。ロカールのリポジトリへファイルを置くことをコミットと呼びます。

ローカルでの作業が完了したら、リモートリポジトリ(一般的にはサーバーにあります)にファイルを置きます。リモートリポジトリへファイルを置くことをプッシュと呼びます。

リポジトリを作成しよう

それではリポジトリを作成してみましょう。ここで作成するリポジトリはリモートリポジトリです。リモートリポジトリは前回作成したGitHubへ作成します。

GitHubにログインしたら、画面右上の「+」ボタンをクリックします。メニューが表示されるので「New repository」をクリックします。

次に、「Repository name」欄に作成するリポジトリの名前を入力して、[Create Repository]ボタンをクリックします。

ここではリポジトリ名を「XamariSample」として作成することとします。

リポジトリの作成が完了すると、以下のような画面になります。

リポジトリの名前を変えるには?

誤った名前でリポジトリをさくせい作成した場合の対処方法を見ていきましょう。

削除して作成し直すという手もありますが、ここではリポジトリ名を変更してみましょう。

リポジトリを変更するには、先ほどの画面で[Settings]のリンクをクリックします。

Settingsのページに遷移するので、Repository name欄に変更後の名前を入力して[Rename]ボタンをクリックします。

このSettingsページではリポジトリの削除も可能です(次項で説明します)。

「XamarinSample」から「Xamarin」に変更すると以下のようにリポジトリが作成されます。

リポジトリを削除するには?

今度はリポジトリを削除してみましょう。

Settingsページの下の方に「Danger Zone」というエリアがあります。

この中にある[Delete this repository]をクリックすることでリポジトリを削除することができます。

[Delete this repository]をクリックするとウィンドウが表示されるので、削除するリポジトリの名前を入力して[I understand the …]というボタンをクリックします。これでリポジトリは削除されます。

ディレクトリを作成するには?

作成したリポジトリにディレクトリを作成する方法を見ていきましょう。

新規でリポジトリを作成した場合、「Code」タブの画面は以下のようになっています。リポジトリのURLの下に.gitignore. というリンクがあるのでクリックします。

リポジトリの横に入力欄があるので「作成したディレクトリ名」+「/」を入力することでディレクトリが追加されます。

最後にファイル名を入力してコミットをするとディレクトリが作成されます。なお、以下のように最後に「.gitignore」と入力すると、テンプレートを使用できます。

コミットは画面下にある[Commit new file]ボタンをクリックします。