売れるiPhoneアプリを作ろうと頑張って開発途中、メソッドをいっぱい作りすぎてカオスになっていませんか?
そんなとき、メソッドをカテゴリ別に整理する方法を紹介。
Xcodeで新規プロジェクトを作成するとき「Single View Application」を選択したときのViewController.mはこんな感じ。
私のようなiPhoneアプリ開発初心者にとってはすでにカオス(笑)
Xcodeのここ↓をクリックするとメソッドなどの一覧を表示出来ます。


この一覧をカテゴリごとに整理しようというのが今回のテーマです。
簡単です。このコードを追加するだけ。
試しにコードを追加してみました。(追加位置は適当です)
メソッド一覧はこんな感じになります。

ちょっとは見やすくなったでしょうか。
そんなとき、メソッドをカテゴリ別に整理する方法を紹介。
Xcodeで新規プロジェクトを作成するとき「Single View Application」を選択したときのViewController.mはこんな感じ。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| #import "ViewController.h"@implementation ViewController- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use.}#pragma mark - View lifecycle- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated];}- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated];}- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated];}- (void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:animated];}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);}@end |
私のようなiPhoneアプリ開発初心者にとってはすでにカオス(笑)
Xcodeのここ↓をクリックするとメソッドなどの一覧を表示出来ます。
この一覧をカテゴリごとに整理しようというのが今回のテーマです。
簡単です。このコードを追加するだけ。
#pragma mark - カテゴリ名
試しにコードを追加してみました。(追加位置は適当です)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| #import "ViewController.h"@implementation ViewController//--------------------------------#pragma mark - メソッドカテゴリ1//--------------------------------- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use.}#pragma mark - View lifecycle- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)viewDidUnload{ [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}//--------------------------------#pragma mark - メソッドカテゴリ2//--------------------------------- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated];}- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated];}- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated];}- (void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:animated];}//--------------------------------#pragma mark - メソッドカテゴリ3//--------------------------------- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // Return YES for supported orientations return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);}@end |
メソッド一覧はこんな感じになります。
ちょっとは見やすくなったでしょうか。
2012/04/01(日)
[AppStore審査]Xcodeからバイナリーをアップロードするときにアーカイブコマンド(Archive)が表示されない時の対処方法
カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============
iPhoneアプリをAppStoreで審査してもらう為には、Xcodeからバイナリー(プロジェクトファイル)をアップロードする必要があります。
現行バージョンのXcodeでは、Product >> Archiveコマンドで行うのですが、下画像のようにアーカイブコマンド(Archive)がグレーになり選択できない状態の場合があります。

原因は、「実機テストをしていないから」です。
厳密に言うと、「1度も実機転送していないから」です。
1度実機転送すれば、アーカイブコマンド(Archive)を選択できるようになります。
ちょっとしたアップデートの時に、シミュレータだけで動作確認した場合は注意が必要ですね。
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============
iPhoneアプリをAppStoreで審査してもらう為には、Xcodeからバイナリー(プロジェクトファイル)をアップロードする必要があります。
現行バージョンのXcodeでは、Product >> Archiveコマンドで行うのですが、下画像のようにアーカイブコマンド(Archive)がグレーになり選択できない状態の場合があります。
原因は、「実機テストをしていないから」です。
厳密に言うと、「1度も実機転送していないから」です。
1度実機転送すれば、アーカイブコマンド(Archive)を選択できるようになります。
ちょっとしたアップデートの時に、シミュレータだけで動作確認した場合は注意が必要ですね。
[2012/4/8追記]
実機テストをした後でも、シミュレータで実行をしてしまうと同じ現象になるようです。
なので、厳密に言うと「最後に実行した環境が実機ではないから」ですね。
もう一度、実機で実行すれば、アーカイブコマンド(Archive)を選択できるようになります。
実機テストをした後でも、シミュレータで実行をしてしまうと同じ現象になるようです。
なので、厳密に言うと「最後に実行した環境が実機ではないから」ですね。
もう一度、実機で実行すれば、アーカイブコマンド(Archive)を選択できるようになります。
コメント
コメントを投稿