【初心者】iPhoneアプリを作ってみる【講座】

2014年03月26日 18時11分

1 名無しさん 2014/03/21(Fri)19:52:45 ID:WScIPPpvo

ポテチ食ってるから結構書き込むのが遅くなるけど
黙々とやっていこうと思う




2 名無しさん 2014/03/21(Fri)19:54:20 ID:WScIPPpvo

今回作るのは
「おみくじアプリ」
実用性もクソもないけどそこまで難しくはないはず




3 名無しさん 2014/03/21(Fri)19:54:36 ID:Fqbm7lOXo

おけ気長にみる




4 名無しさん 2014/03/21(Fri)19:58:08 ID:WScIPPpvo

Xcodeを起動してプロジェクト作成画面に行く
そして
「single view application」
を選択してNext
http://open2ch.net/p/news4vip-1395399165-4.png




5 名無しさん 2014/03/21(Fri)20:02:22 ID:WScIPPpvo

product nameは何でもいい
俺は「omikuji2ch」にした
company identifierは
「open2ch」にした

http://open2ch.net/p/news4vip-1395399165-5.png




6 名無しさん 2014/03/21(Fri)20:12:09 ID:WScIPPpvo

次の画面では保存場所を聞かれるけど各自適当にオナシャス
俺は書類フォルダにxcodeというフォルダを作った

createを押すと保存場所にomikuji2chという名前のフォルダが生成されて
関連ファイルは全部そこにぶっこまれる




7 名無しさん 2014/03/21(Fri)20:16:29 ID:WScIPPpvo

最初は設定画面になると思うんだけど
devicesがiphoneになっていることを確認して欲しい
なっていなかったら手動でiphoneを選ぶと大丈夫
http://open2ch.net/p/news4vip-1395399165-7.png




8 名無しさん 2014/03/21(Fri)20:20:51 ID:WScIPPpvo

ボタン等のUIはMain.storyboardで作って配置していく
もちろん画面遷移もここで作ることが出来る
http://open2ch.net/p/news4vip-1395399165-8.png




9 名無しさん 2014/03/21(Fri)20:23:30 ID:WScIPPpvo

Main.storyboardを選ぶと
この画面になるはず

ならなかったらプロジェクト作成の時に
「single view application」
以外を選んでいると思われ
http://open2ch.net/p/news4vip-1395399165-9.png




10 名無しさん 2014/03/21(Fri)20:31:29 ID:WScIPPpvo

右下にあるのはボタン等を始めとするUI一覧があって

ここには
・ボタン
・文字
・テキスト入力
・スライダー
・スイッチ

とか色々なUIがある
http://open2ch.net/p/news4vip-1395399165-10.png




11 名無しさん 2014/03/21(Fri)20:32:27 ID:stOjGGgJw

ためになるスレ




12 名無しさん 2014/03/21(Fri)20:37:27 ID:WScIPPpvo

LabelとButtonをドラッグアンドドロップで貼り付けると
こうなる
http://open2ch.net/p/news4vip-1395399165-12.png




13 名無しさん 2014/03/21(Fri)20:44:07 ID:WScIPPpvo

パーツをダブルクリックすると
文字を編集することが出来るので各々好きな文字を入れる
http://open2ch.net/p/news4vip-1395399165-13.png




14 名無しさん 2014/03/21(Fri)20:47:17 ID:WScIPPpvo

ちなみにパーツを選択すると
パーツ自体の大きさを変えることが出来る

文字の大きさや色を変えるのは右にある奴でやることが出来る
http://open2ch.net/p/news4vip-1395399165-14.png




15 名無しさん 2014/03/21(Fri)21:41:06 ID:WScIPPpvo

次は
ViewController.h
ViewController.m
の記述をする

.hファイルは変数の宣言
.mファイルは具体的な処理を書いたりする
http://open2ch.net/p/news4vip-1395399165-15.png




16 名無しさん 2014/03/21(Fri)21:47:29 ID:WScIPPpvo

ここで画面を効率的に使うために
assistant editorボタンを押す

画面右上にある奴ね

http://open2ch.net/p/news4vip-1395399165-16.png




17 名無しさん 2014/03/21(Fri)21:55:11 ID:WScIPPpvo

そうすると画面が分割されて
こうなる
http://open2ch.net/p/news4vip-1395399165-17.png




18 名無しさん 2014/03/21(Fri)21:56:42 ID:WScIPPpvo

?2?(左向き三角と右向き三角)
の箇所で編集するファイルを切り替えることが出来る
http://open2ch.net/p/news4vip-1395399165-18.png




19 名無しさん 2014/03/21(Fri)22:15:37 ID:WScIPPpvo

ラベルを変数として扱うために
controlキーを押しながらパーツを
ViewController.hの@interfaceと@endの間にドラッグアンドドロップするんだけど

この時の注意として
変数は波括弧の中に書かないといけないから
予め自分で波括弧を記述しておく
http://open2ch.net/p/news4vip-1395399165-19.png




20 名無しさん 2014/03/21(Fri)22:16:33 ID:WScIPPpvo

もしかしたらcontrolキーではないかもしれない
俺はキーの配置を入れ替えているから
controlキーでダメだった人はキーボードの左下のキーのどれかで試行錯誤して欲しい




21 名無しさん 2014/03/21(Fri)22:24:32 ID:WScIPPpvo

ドラッグアンドドロップすると
こういう画面になる

Nameには変数名を入れるんだけど
俺はresultにした

それでConnectを押せばおk
http://open2ch.net/p/news4vip-1395399165-21.png




22 名無しさん 2014/03/21(Fri)22:25:20 ID:WScIPPpvo

そうすると

@interface ViewController : UIViewController
{
__weak IBOutlet UILabel *result;

}

@end

こうなるはず




23 名無しさん 2014/03/21(Fri)22:27:04 ID:WScIPPpvo

ちなみに関数の宣言は波括弧の外でする
本当はここで
関数の宣言も書かないといけないんだろうけど
多分書かなくても問題ないような気がする




24 名無しさん 2014/03/21(Fri)22:35:41 ID:WScIPPpvo

次はボタンをおした時に関数が実行されるようにするんだけど
さっきやったみたいにドラッグアンドドロップでする

編集するファイルはViewController.mだから切り替えておいてね
http://open2ch.net/p/news4vip-1395399165-24.png




25 名無しさん 2014/03/21(Fri)22:39:09 ID:WScIPPpvo

ドラッグアンドドロップすると
さっきみたいな画面になるけど
connectionがActionになっているかどうか確認して
なっていたらNameには関数名を入れる
俺はuButtonにした

それでConnectを押せばおk
http://open2ch.net/p/news4vip-1395399165-25.png




26 名無しさん 2014/03/21(Fri)22:41:26 ID:WScIPPpvo

connectionの意味なんだけど

ラベルのように特に動作が無いものはOutlet
ボタンのように動作があるものはActionになるのかな




27 名無しさん 2014/03/21(Fri)23:09:09 ID:WScIPPpvo

関数を追加したら

@implementation ViewController
- (IBAction)uButton:(id)sender {
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

こうなるから次から
- (IBAction)uButton:(id)sender {
}
の中身を書いていく




28 名無しさん 2014/03/21(Fri)23:20:39 ID:WScIPPpvo

NSArray *tmp =@[@"大吉",@"中吉",@"小吉",@"凶"];
これはtmpという変数に配列で文字列を入れている処理


int num = arc4random() % 4;
これはnumという変数にランダムの数字を入れている
intはnumという変数は数値しか入れてはいけないというルールを定義する為に書いてある
arc4randomについては自分で検索して欲しい

result.text = [tmp objectAtIndex:num];
さっきラベルにresultという変数を定義したけど
.textを付けることによって変数の中身を書き換えることが出来る
そうすることで”結果は…”という文字列は
ボタンを押した時にresult.textに代入した文字に変化する

tmp objectAtIndex:num
変数tmpの◯番目の配列を呼び出すことが出来る
その為にさっきランダムの数字をnumという変数にぶちこんだ



http://open2ch.net/p/news4vip-1395399165-28.png




29 名無しさん 2014/03/21(Fri)23:44:56 ID:WScIPPpvo

これで完成
あとは左上にある再生ボタンを押すと
iOSシミュレータの上でアプリが実行されるようになる
http://open2ch.net/p/news4vip-1395399165-29.png




30 名無しさん 2014/03/21(Fri)23:47:37 ID:WScIPPpvo

以上でアプリ制作は終わり

質問があったら受け付ける




31 名無しさん 2014/03/22(Sat)00:09:54 ID:YHbNBCSim

人居ないなw

iOSアプリ開発は日本語の資料が少ないから
初心者の助けになればと思って書いた

役に立った人が居るのであれば嬉しい




32 名無しさん 2014/03/22(Sat)00:30:22 ID:6rAitsP4u

iOSアプリの開発環境がないからなぁ……w




33 名無しさん 2014/03/22(Sat)00:39:33 ID:YHbNBCSim

そこが難関だよね
ネットや2chしかしない人あるいは開発をする人にとっては
Macは使いやすいから一度家電量販店で体験して欲しい




35 名無しさん 2014/03/22(Sat)20:45:46 ID:65TW5PeV2

Xcodeダウンロードしました!やってみます




37 名無しさん 2014/03/22(Sat)20:55:23 ID:65TW5PeV2

MacBook Air 11だとやっぱり画面小さい感じですね




38 名無しさん 2014/03/22(Sat)21:11:05 ID:YHbNBCSim

xcodeは結構解像度が無いとキツイから
MacBook Air 11の人は外部ディスプレイがあるといいよ
Mavericksからマルチディスプレイサポートをするようになったし




39 名無しさん 2014/03/22(Sat)21:41:54 ID:65TW5PeV2

>>38なるほど
ありがとうございます




41 名無しさん 2014/03/22(Sat)22:25:26 ID:65TW5PeV2

動いた!動いた!シュミレーターで!
コレ、iPhoneでも動くんですか?




42 名無しさん 2014/03/22(Sat)22:37:11 ID:YHbNBCSim





43 名無しさん 2014/03/22(Sat)22:45:02 ID:65TW5PeV2

>>42
ありがとうございます
やってみま…す!




44 名無しさん 2014/03/22(Sat)22:46:59 ID:YHbNBCSim

もしかしたらというか多分有料登録が必要な気がする




45 名無しさん 2014/03/23(Sun)00:33:29 ID:JCJx91HfT

有料なんですね
も少しシュミレーターで勉強してから考えようかなと思います
iPhoneやiPadで動いたらさぞ面白いだろなあ




46 名無しさん 2014/03/23(Sun)00:37:11 ID:xzJrLZ7z9

このままobjective-cだけで開発を進めるのは結構しんどいよw
だからenchant.jsやunityに進んだら楽になるはず

初心者はenchant.jsが取っ付き易いと思う
enchant.jsのサンプルコードを解読する(RPG編その1) | IDEA*IDEA




引用元:【初心者】iPhoneアプリを作ってみる【講座】