iPhoneアプリを講座

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

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


スポンサードリンク

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

おけ気長にみる


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

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


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

Xcodeを起動してプロジェクト作成画面に行く
そして
「single view application」
を選択してNext


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

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



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

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

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


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

最初は設定画面になると思うんだけど
devicesがiphoneになっていることを確認して欲しい
なっていなかったら手動でiphoneを選ぶと大丈夫


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

ボタン等のUIはMain.storyboardで作って配置していく
もちろん画面遷移もここで作ることが出来る


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

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

ならなかったらプロジェクト作成の時に
「single view application」
以外を選んでいると思われ


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

ためになるスレ


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

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

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

とか色々なUIがある


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

LabelとButtonをドラッグアンドドロップで貼り付けると
こうなる

※こんな感じ
app2


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

パーツをダブルクリックすると
文字を編集することが出来るので各々好きな文字を入れる


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

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

文字の大きさや色を変えるのは右にある奴でやることが出来る


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

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

.hファイルは変数の宣言
.mファイルは具体的な処理を書いたりする


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

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

画面右上にある奴ね



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

そうすると画面が分割されて
こうなる


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

(左向き三角 2 右向き三角)
の箇所で編集するファイルを切り替えることが出来る
app1


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

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

この時の注意として
変数は波括弧の中に書かないといけないから
予め自分で波括弧を記述しておく


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

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


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

>>19 のドラッグ アンド ドロップ
Option キー でできました
ちなみにキーボードの設定いじってません


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

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

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

それでConnectを押せばおk


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

そうすると

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

}

@end

こうなるはず


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

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


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

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

編集するファイルはViewController.mだから切り替えておいてね


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

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

それでConnectを押せばおk


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

connectionの意味なんだけど

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


27: 名無しさん 2014/03/21(金)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(金)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という変数にぶちこんだ


- (IBAction)uButton:(id)sender {
    NSArray *tmp =@[@"大吉",@"中吉",@"小吉",@"凶",];
    int num = arc4random() % 4;
    result.text = [tmp objectAtIndex:num];
}


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

これで完成
あとは左上にある再生ボタンを押すと
iOSシミュレータの上でアプリが実行されるようになる


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

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

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

完成するとこんな感じ。占ってみるを押せば下に結果が表示される☆彡
app3png

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

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


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

人居ないなw

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

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


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

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


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

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

詳細! Objective-C iPhoneアプリ開発 入門ノート Xcode5+iOS7対応
大重 美幸
ソーテック社
売り上げランキング: 1,460

47: 名無しさん 2014/03/23(日)06:37:21 ID:uWa3MAT4i

プログラムのプの字もわからない素人でも2chブラウザくらいのものがすぐ作れるならMac買う


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

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


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

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


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

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


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

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


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

理論的には動くはず
http://kentaro-shimizu.com/lecture/iphone/step3.html


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

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


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

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


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

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


元スレ:http://hayabusa.open2ch.net/test/read.cgi/news4vip/1395399165/