警告、エラーが無くビルドできたものの落ちるので、デバッガで調べたところ、
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
int retVal = UIApplicationMain(argc,argv,nil,nil);に赤矢印がついていました。ここに問題があるんでしょうが、なにが原因かわかりません。。
わかるかたおねがいします。
Xcode,Objective-C
Re: Xcode,Objective-C
ちょっと説明するにも、説明する項目が多すぎるのでざっくりと説明します。
文法を見る限り、恐らくIPhone?かなにかだと思いますが、
UIApplicationMainの第3,第4引数にそれぞれUIAplicationクラスを敬称したクラスと
Delegateを指定しなければいけません。UIApplicationMain関数に関しては他の参考サイトのほうが
ずっと詳しく説明しているのでそちらを参考にしてみてください。
ではなぜnilでも平気なのか、という疑問がでますが、
プロジェクトの***_lnfo.plistを開いて、一番下のMain nib file~~~
という場所に注目してください。
これはUIApplicationMainを呼ばれたときに、最初に呼ぶnibファイルはどれかというのを
指定することができます。
nibファイルというのはInterFaceBuilderという、GUIベースでもviewを作成できるようにしたツールのようなものです。
通常プロジェクトを作成した段階では、MainWindowというnibファイルが指定されているかと思います。
これらをふまえて本題のUIApplicationMainで落ちるという原因として考えらそうなのは、
1:***_lnfo.plistでnibファイルを指定していない(自分のdelegateなどを渡して管理したい場合は逆にここを消さないといけない)
2:1で指定したnibファイルがプロジェクトにリンクされていない
3:nibファイルはリンクされているが、その先のUIControllerでまずい処理をしている
nibファイルベースで作成しているのにloadviewをオーバーライドしている等
いずれにせよ、原因が無数に考えられるのでもう少し詳しく調べてみてください。
かなりUIKit独自のルールばかりでこのへんは苦しめられるところなのですが、
UIKitを使用して作成する以上、上記であげた専門用語、およびその意味を理解することは
避けては通れません。InterFaceBuilderを使用して組む場合には適当にやってもそれなりに動きますが・・
文法を見る限り、恐らくIPhone?かなにかだと思いますが、
UIApplicationMainの第3,第4引数にそれぞれUIAplicationクラスを敬称したクラスと
Delegateを指定しなければいけません。UIApplicationMain関数に関しては他の参考サイトのほうが
ずっと詳しく説明しているのでそちらを参考にしてみてください。
ではなぜnilでも平気なのか、という疑問がでますが、
プロジェクトの***_lnfo.plistを開いて、一番下のMain nib file~~~
という場所に注目してください。
これはUIApplicationMainを呼ばれたときに、最初に呼ぶnibファイルはどれかというのを
指定することができます。
nibファイルというのはInterFaceBuilderという、GUIベースでもviewを作成できるようにしたツールのようなものです。
通常プロジェクトを作成した段階では、MainWindowというnibファイルが指定されているかと思います。
これらをふまえて本題のUIApplicationMainで落ちるという原因として考えらそうなのは、
1:***_lnfo.plistでnibファイルを指定していない(自分のdelegateなどを渡して管理したい場合は逆にここを消さないといけない)
2:1で指定したnibファイルがプロジェクトにリンクされていない
3:nibファイルはリンクされているが、その先のUIControllerでまずい処理をしている
nibファイルベースで作成しているのにloadviewをオーバーライドしている等
いずれにせよ、原因が無数に考えられるのでもう少し詳しく調べてみてください。
かなりUIKit独自のルールばかりでこのへんは苦しめられるところなのですが、
UIKitを使用して作成する以上、上記であげた専門用語、およびその意味を理解することは
避けては通れません。InterFaceBuilderを使用して組む場合には適当にやってもそれなりに動きますが・・