2014年2月23日日曜日

Xcodeのstoryboardを使って、UIButtonを押したときのイベントをソースとひもづける

ようやく、ようやくプログラミングの話。
とはいえ前回も実は試しにiOSプログラミングはしてたのだけど、望み通りのスクリーンショットがとれずブログに書けなかったのでした。。

さて、まずXcodeを使ってiOSプログラミングの基本の「き」。storyboardを使った話から始めよう。iOSはユーザの操作を受けて動作することがメインに行われる。つまり、ボタンを押したり文字を入力したり。そこをiOSが標準で扱ってくれる。ただし、画面に配置したボタンと実行する内容は自分で接続する必要がある。
今日のお題:「storyboardに配置したボタンとViewControllerを接続する」
いろいろ触っていて、気づいたところで2通りあった。
今回はテキストの中から文字列を探してハイライトする、というテストアプリを実例とする。

ボタンからViewControllerへ接続

下の画面のようにstoryboardで必要な部品を配置しておく。ここでは一番下の"Clear"ボタンをViewControllerのソースとひもづける。


まずはstoryboardを画面に表示しておいて、右上のアイコンにある下の丸で囲んだボタンを押す。


そうすると、下のように画面が左右に分割されるので、右側に接続したいViewControllerのヘッダファイルを表示させる。今回は"Clear"ボタンを接続したいので、"Clear"ボタンを選択・右クリックすると以下のように黒いメニューが出るから、「Sent Events」ー「Touch Up Inside」の右端の"+"を左クリックしてドラッグ、ヘッダファイルのInterface宣言部へ持っていく。


そうすると下のように接続情報の入力が求められるので、関数名を入れて「Connect」ボタンを押せば出来上がり。めっちゃ簡単。でもすぐ忘れる。(^^;


接続ができると、下のように関数が宣言され、その左横に灰色の丸印がつく。


ViewControllerからボタンへ接続

一方、ViewControllerにあらかじめ関数を宣言しておいてボタンに接続する方法もある。まだ接続されていない関数の左端は下の画面のように中抜きの灰色の丸印になっている。


これを左クリックしてドラッグ、接続したいボタンまで持っていく。これだけで終わり。


そうすると、以下のように「Touch Up Inside」イベントに接続される。


これらは基本中の基本だから、なにも考えずにさらっとできるように早くならないとね。



2014年2月11日火曜日

gitで管理しなくてもよい「Xcodeの管理ファイル」を対象外にするには

Xcodeが管理するファイルには、バージョン管理しなくてもよいものがあるそうで。
参考URL: Xcodeプロジェクト用の.gitignoreを作成する

.gitignoreファイルに以下を設定しておいた。
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcworkspace/contents.xcworkspacedata
.DS_Store

Xcodeからgithubを使う

やっとここまで来ましたね。さあ、コードを書こう!

Xcodeでgithubのリポジトリを登録

Xcodeからgithubを使えるようにするために、まずはリポジトリを登録する。

「Xcode」メニューの「Preferences...」を開く

開いたウインドウの「Accounts」を選択して左下の「+」を押す。メニューから「Add Repository...」を選択する

そして、出てきたテキストボックスに追加したいリポジトリのアドレスを入力して「Next」ボタンを押す

そうすると、以下のウインドウのようにリポジトリが左側に追加されるので、あとは「Uer Name」と「Password」を設定しておく

ちなみに、さっきのリポジトリのアドレスは、以下のように自分のgithubリポジトリページ右下から取得する

Xcodeで新規プロジェクトを作成

「FIle」メニューの「New」ー「Project...」を開く

これからiOSアプリを作って行くので、まずはテストがてら簡単なボタン操作のアプリを作ってみよう。ということで、「Single View Application」を選択する

ここはいつも悩むけど、とりあえず項目を埋めて「Next」

プロジェクトの保存先を決めたらはじまり!

「Source Control」メニューを見ると、以下のようにうまく接続できてることがわかる

2014年2月2日日曜日

gitのブランチ管理

せっかく始めるので、、といつもの気合い入れ過ぎ?!な状態ですが、まずはブランチ管理について。
これまでのCVS, subversion もそれほど大人数で触っている訳ではないので、なんとなくなタグ管理しかしてなかった。

てことで、まずは勉強。世間では「git-flow」と「GitHub Flow」が流行っているようだ。とりあえず以下のリンクをざっと見てみる。

git-flow

参考URL

「A successful Git branching model」より引用
以下のブランチを用いる。
  • develop
  • feature
  • release
  • master
  • hotfix
git-flowをインストールするとgitにプラグインとして使えるようになり、git-flowを使うことでVincent Driessen氏が提唱するgit-flowモデルに従ったマージやコミットを裏でやってくれる。

GitHub Flow

参考URL
以下のブランチを用いる。
  • master
  • 作業を表す名称のブランチ

git-flowの場合は少し詳細に分かれ過ぎていて、個人で始めるには面倒な気がする。そんなに頻繁に上げないし、なによりも変更が衝突する相手がいない。なので、まずは「GitHub Flow」に従って始めてみようと思う。・・て、一人でプルリクエストって、ないかなぁ。

2014年1月26日日曜日

SourceTreeにgithubを設定する / リポジトリをローカルにクローンする

さて、ようやく開発の「か」の字に辿り着けるだろうか、ね。
まずは、SourceTreeでgitを使ってみるために、githubの設定をする。
参考URL: Mac で Git するなら SourceTree がオススメ

SourceTreeにgithubアカウントを追加

起動時の右上にあるアイコン「ホスティングプロジェクト」をクリック(カーソルをしばらく重ねておくと出てくる)。

次に右上の「アカウントを編集」をクリック。
左下の「アカウントを追加...」をクリック。

「ホスティングサービス」に「github」を選択し、「ユーザ名」に自分のgithubユーザ名(at4k)を入れパスワードを設定する。
githubにあるリポジトリが表示される。

ここでは既存のリポジトリから開発を進めるので、以下のようにリポジトリをローカルにクローンする。

リポジトリをローカルにクローン

メニューの「ファイル」ー「新規/クローンを作成する」を選択。

「ソースパス / URL」の右端にある地球アイコンの「Hosted Repositories」をクリック。
先ほどのリポジトリのリストが出てくるので、開発したいリポジトリを選択して「OK」ボタンを押す。
「ソースパス / URL」が埋まるので、「保存先のパス」と「ブックマーク名」を適宜変えて「クローン」ボタンを押す。
という感じで「ブックマーク」画面にリストされる。
準備完了!

githubへの接続をsshで行うようにする

また一週間が経ちました。がんばってブログ更新してこ。

今日はgithubへの接続をsshで行えるように設定します。
webからはhttpsで接続していますが、ターミナルからは素でつなぐことになるのでssh経由がよかろう、と。

参考:
github help: Generating SSH Keys

では、さっそく始めよう。

新しいsshキーを作成

ssh-keygenでsshキーを作成
$ ssh-keygen -t rsa -C "at4k@users.noreply.github.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxx/.ssh/id_rsa): /Users/xxxx/.ssh/id_rsa_github
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/xxxx/.ssh/id_rsa_github.
Your public key has been saved in /Users/xxxx/.ssh/id_rsa_github.pub.
The key fingerprint is:
(omitted below)

sshキーをgithubに登録

  1. github.comのトップページ右上にある「Account settings」ボタンをクリック
  2. 左側のメニューにある「SSH Keys」をクリック
  3. 右上の「Add SSH key」をクリック
  4. 「Title」を入力、「Key」にsshキーを貼付ける
  5. 「Add key」ボタンを押す
  6. githubのパスワード確認のためパスワード入力

sshキーが正しく登録されたかの確認

$ ssh -T -i ~/.ssh/id_rsa_github git@github.com
★注:メールアドレスは変更しないこと!
最初はfingerprintの確認メッセージが出るので「yes」と入力

以下のメッセージが返ってきたら正常に動作
Hi at4k! You've successfully authenticated, but GitHub does not provide shell access.

上記の途中でキーチェインに登録するか?と聞かれるので、それに保存しておけばパスフレーズは聞かれずにすむようになると思う

sshに渡す引数を初期設定として保存

毎回引数に長々と書くのは面倒なので初期設定に入れておく。
$ vi ~/.ssh/config
  HostName       github.com
  IdentityFile   ~/.ssh/id_rsa_github
  User           git
これで以下のように引数をいっぱい書かずに接続できるようになる
$ ssh github.com

Mac OS Xでアプリ内のウィンドウを切り替えるには

どうしても忘れる(笑)だから忘れたらまた書く。繰り返しが大事。

Mac OS Xでアプリ内のウィンドウを切り替えるには、以下のキーボード・ショートカットを押す。

command (⌘) + F1

  1. ただ、これだと押しづらいので、以下のようにして変更
  2. 「システム環境設定」ー「キーボード」の「ショートカット」タブを選択
  3. 左側のリストから「キーボード」を選択
  4. 右側のリストから「次のウインドウを捜査対象にする」を選択
  5. 右の方のショートカットキーが書いてあるところをクリックして、変更したいショートカットを押す

新しく変更したショートカットは以下。

control (^) + command (⌘) + Tab