2012-02-29 17 views
8

私のアプリケーションは、今日までクラッシュするまでは正常に動作していました。 [self.window makeKeyAndVisible];アプリデリゲートの [self.window makeKeyAndVisible]でクラッシュします。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    self.viewController = [[ViewControllerWordHelper alloc] initWithNibName:@"ViewControllerWordHelper_iPhone1" bundle:nil]; 
} else { 
    self.viewController = [[ViewControllerWordHelper alloc] initWithNibName:@"ViewControllerWordHelper_iPhone" bundle:nil]; 
} 
self.window.rootViewController = self.viewController; 
[self.window makeKeyAndVisible]; 
return YES; 
} 

私はデバッグし、[makeKeyAndVisible self.window]で内部のステップ場合は、クラッシュの前に次の文がある "@synthesizeウィンドウ= _window;"同じアプリケーションデリゲートで

以前のバージョンでは、以前と同じように動作します。

私のコンピュータを再起動しても、同じことが起こっています。私はXCode 4.2を使用しています。私が誤って変更したかもしれないxcodeセットアップに何かがありますか?

ありがとうございました。

以下が全体デバッグウィンドウである:私は私のXIBまでリンクされたいくつかのIBOutletプロパティを削除する場合

`GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Mon Aug 15 16:03:10 UTC 2011) 
Copyright 2004 Free Software Foundation, Inc. 
GDB is free software, covered by the GNU General Public License, and you are 
welcome to change it and/or distribute copies of it under certain conditions. 
Type "show copying" to see the conditions. 
There is absolutely no warranty for GDB. Type "show warranty" for details. 
This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all 
Attaching to process 440. 
Pending breakpoint 3 - ""ViewControllerWordHelper.m":136" resolved 
Pending breakpoint 4 - ""AppDelegate.m":41" resolved 
Pending breakpoint 5 - ""ViewControllerWordHelper.m":27" resolved 
Pending breakpoint 6 - ""ViewControllerWordHelper.m":166" resolved 
Current language: auto; currently objective-c 
(gdb) ` 
+0

はコマンド - との目標をクリーニングしてみてくださいshift-k –

+0

できる場合は、エラーを投稿してください。 –

+0

これは私のデバッグウィンドウのすべてです: – saman01

答えて

2

このクラッシュは私に起こりました。

次のようなエラーが出た場合:

2012-09-20 09:45:07.920 AppName[78792:c07] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0xa2b3000> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the keyNonexistentPropertyNameHere.'

あなたのXIBにコンセントを参照し、それを削除するか、あなたのビューコントローラにそのプロパティを、追加し直すことがわかります。

0

これは主に、ViewControllerWordHelper_iPhone1/ViewControllerWordHelper_iPhoneのXIBを作成していないことを前提としています。あなたはiOSの6用のプロジェクトを作成しました、その後、あなたが5.1にデプロイメント・ターゲットを変更した場合

そうでなければ、この方法で

self.viewController = [[ViewControllerWordHelper alloc] initWithNibName:nil bundle:nil]; 
} else { 
    self.viewController = [[ViewControllerWordHelper alloc] initWithNibName:nil bundle:nil]; 
} 
4

を、コードを変更することができ、それは.xibsから自動レイアウトです。

それぞれの.xibを開き、 'Show Utilities'ボタン(ビューグループの3番目)をクリックして 'Show File Inspector'(最初のタブ)に移動し、 'Use Autolayout'をオフにして、Deploymentを5.1に変更します。 (添付のスクリーンショットを参照)。

Tick off Use Autolayout

+0

はい...これはあなたの質問@ saman01の解決策かもしれません。 –

21

本のもう一つの大きな原因は、あなたが.xibで何かにオブジェクトを接続して、あなたがそれを必要とするが、接続を破壊するのを忘れていなかったことを決めたため、オブジェクトを削除した場合です。

+0

本当にあなたの時間を保存していただきありがとうございます –

+0

私のproject.pbxprojファイルを検索してすべての参照を削除しました(私の場合、完全に削除されなかった古いテストターゲットでした)。 – teradyl

+0

あなたは人の中の神です。 – sosale151

0

多分、他の誰かがこれを利用することができます。私はmakeKeyAndVisibleでこのクラッシュを受け取り、ここで、どこにいても私が見つけることができるすべてのものを試しました。失敗。まだクラッシュします。

私はmakeKeyAndVisibleがオンである行をコメントアウトしましたが、ViewControllerはロードされません。ただ、何が起こるか見るために

は、私は2つにmakeKeyAndVisibleを分割:

[self.window makeKeyWindow]; 
self.window.hidden = NO; 

をそれは二行目でクラッシュしたので、明らかにiOS版が隠されたキーが好きではありません。

デバッグコンソールから:

0 CoreFoundation      0x0173b5e4 __exceptionPreprocess + 180 
1 libobjc.A.dylib      0x014be8b6 objc_exception_throw + 44 
2 CoreFoundation      0x017cb6a1 -[NSException raise] + 17 
3 Foundation       0x0117f9ee -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:] + 282 
4 Foundation       0x010ebcfb _NSSetUsingKeyValueSetter + 88 
5 Foundation       0x010eb253 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267 
6 Foundation       0x0114d70a -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 412 

私の専門知識は、アセンブリ言語プログラミングであるとObjective-Cは、私にはかなり神秘的ですので、私はどこここから行くするかわかりません。


詳細情報: 私は、アプリケーションdidFinishLaunchingの終わりに復帰する前にダウンだけに、この指示を移動...そして今では、この上でクラッシュした:

self.window.rootViewController = self.viewController; 
+0

私はまったく同じ問題を、まったく同じテストを行っています。問題を解決しましたか? –

関連する問題