2012-04-26 13 views
0

こんにちは、私はiPadアプリをまとめようとしています。すべてがシミュレータ上でスムーズに実行されますが、デバイス上では実行されません。私は5つのビューコントローラを持っており、特にモンスターアニメーションを実行しているときには5番目のものです。私のアニメーションはデバイス上でクラッシュしますが、シミュレータではありません

ここにそのビューコントローラからコードを掲載しています。笑わないでください。

また、警告メッセージが表示されます。どうしたの?

ありがとうございます。

import "FifthViewController.h" 
#import "ViewController.h" 



@interface FifthViewController() 

@end 

@implementation FifthViewController 


@synthesize doorImage; 

@synthesize flagImage; 

@synthesize kuckuImage; 

@synthesize treImage; 

@synthesize moppImage; 


-(IBAction)trollljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"trolleri3", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); } 

-(IBAction)monsterljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Monsterljud", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); } 

-(IBAction)dorrljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"dörrljud", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); } 

-(IBAction)kuckuljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Fun24", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); } 

-(IBAction)flaggljud:(id)sender{ 
    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Flag1", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); } 

-(IBAction)change:(id)sender{ 
    ViewController *two = [[ViewController alloc] initWithNibName:nil bundle:nil]; 
    two.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentModalViewController:two animated:YES]; 
    [theAudio stop]; 
    [two release]; 

} 


-(IBAction)hideButton 

{ 
    Button2.hidden=FALSE; } 

-(IBAction)hideButton2 

{ 
    Button3.hidden=TRUE; } 


- (void) openDoor { 
    [doorImage startAnimating]; } 

- (void) kucku { 
    [kuckuImage startAnimating]; } 

- (void) flag { 
    [flagImage startAnimating]; } 

- (void) tre { 
    [treImage startAnimating]; } 

- (void) mopp { 
    [moppImage startAnimating]; } 


-(IBAction)oneFingerSwipeLeft:(UITapGestureRecognizer *)recognizer { 

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); 
    } 

-(IBAction)oneFingerSwipeRight:(UITapGestureRecognizer *)recognizer { 

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Droid", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); 
    } 

-(IBAction)oneFingerSwipeUp:(UITapGestureRecognizer *)recognizer { 

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Wolf2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); 
    } 

-(IBAction)oneFingerSwipeDown:(UITapGestureRecognizer *)recognizer { 

    CFBundleRef mainBundle = CFBundleGetMainBundle(); 
    CFURLRef soundFileURLRef; 
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Snake2", CFSTR ("mp3"), NULL); 
    UInt32 soundID; 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID); 
    AudioServicesPlaySystemSound(soundID); 
    CFRelease(soundFileURLRef); 
    } 



- (void)viewDidLoad{ 

    { 
     [super viewDidLoad]; 

     UISwipeGestureRecognizer *oneFingerSwipeLeft = [[[UISwipeGestureRecognizer alloc] 
                 initWithTarget:self 
                 action:@selector(oneFingerSwipeLeft:)] autorelease]; 
     [oneFingerSwipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft]; 
     [[self view] addGestureRecognizer:oneFingerSwipeLeft]; 

     UISwipeGestureRecognizer *oneFingerSwipeRight = [[[UISwipeGestureRecognizer alloc] 
                  initWithTarget:self 
                  action:@selector(oneFingerSwipeRight:)] autorelease]; 
     [oneFingerSwipeRight setDirection:UISwipeGestureRecognizerDirectionRight]; 
     [[self view] addGestureRecognizer:oneFingerSwipeRight]; 

     UISwipeGestureRecognizer *oneFingerSwipeUp = [[[UISwipeGestureRecognizer alloc] 
                 initWithTarget:self 
                 action:@selector(oneFingerSwipeUp:)] autorelease]; 
     [oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp]; 
     [[self view] addGestureRecognizer:oneFingerSwipeUp]; 

     UISwipeGestureRecognizer *oneFingerSwipeDown = [[[UISwipeGestureRecognizer alloc] 
                 initWithTarget:self 
                 action:@selector(oneFingerSwipeDown:)] autorelease]; 
     [oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown]; 
     [[self view] addGestureRecognizer:oneFingerSwipeDown]; 



    } 


    { 
     [super viewDidLoad]; 

     [Button2 setHidden:TRUE]; 
    } 

    { 
     NSString *path = [[NSBundle mainBundle] pathForResource:@"Okenljud" ofType:@"mp3"]; 
     if (theAudio) [theAudio release]; 
     { 
      theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
      [theAudio play]; 
      theAudio.numberOfLoops = -1; 
     } 
     [super viewDidLoad]; 
    } 
    { 
     [super viewDidLoad]; 
     NSArray *doorFrames = [NSArray array]; 
     doorFrames = [[NSArray alloc] initWithObjects: 
         [UIImage imageNamed:@"dörr51.png"], 
         [UIImage imageNamed:@"dörr51.png"], 
         [UIImage imageNamed:@"dörr52.png"],   
         [UIImage imageNamed:@"dörr53.png"], 
         [UIImage imageNamed:@"dörr54.png"], 
         [UIImage imageNamed:@"dörr55.png"], 
         [UIImage imageNamed:@"dörr56.png"], 
         [UIImage imageNamed:@"dörr57.png"], Nil]; 
     doorImage.animationImages = doorFrames; 
     doorImage.animationDuration = 3; 
     doorImage.animationRepeatCount = 1; 
    } 


    { 
     [super viewDidLoad]; 
     NSArray *kuckuFrames = [NSArray array]; 
     kuckuFrames = [[NSArray alloc] initWithObjects: 
         [UIImage imageNamed:@"Kuckuhh1.png"], 
         [UIImage imageNamed:@"Kuckuhh2.png"], 
         [UIImage imageNamed:@"Kuckuhh3.png"],   
         [UIImage imageNamed:@"Kuckuhh2.png"], 
         [UIImage imageNamed:@"Kuckuhh1.png"], Nil]; 
     kuckuImage.animationImages = kuckuFrames; 
     kuckuImage.animationDuration = 1; 
     kuckuImage.animationRepeatCount = 1; 
    } 

    { 
     [super viewDidLoad]; 
     NSArray *moppFrames = [NSArray array]; 
     moppFrames = [[NSArray alloc] initWithObjects: 
         [UIImage imageNamed:@"m1.png"], 
         [UIImage imageNamed:@"m2.png"], 
         [UIImage imageNamed:@"m3.png"], 
         [UIImage imageNamed:@"monster15.png"], 
         [UIImage imageNamed:@"monster16.png"], 
         [UIImage imageNamed:@"monster17.png"], 
         [UIImage imageNamed:@"m4.png"], 
         [UIImage imageNamed:@"monster18.png"], 
         [UIImage imageNamed:@"monster19.png"], 
         [UIImage imageNamed:@"m5.png"], 
         [UIImage imageNamed:@"m6.png"], 
         [UIImage imageNamed:@"m7.png"], 
         [UIImage imageNamed:@"m8.png"], 
         [UIImage imageNamed:@"m9.png"], 
         [UIImage imageNamed:@"m10.png"], 
         [UIImage imageNamed:@"m11.png"], 
         [UIImage imageNamed:@"m12.png"], 
         [UIImage imageNamed:@"m13.png"], 
         [UIImage imageNamed:@"m14.png"], 
         [UIImage imageNamed:@"monster20.png"], 
         [UIImage imageNamed:@"monster21.png"], 
         [UIImage imageNamed:@"monster22.png"], 
         [UIImage imageNamed:@"monster23.png"], 
         [UIImage imageNamed:@"monster24.png"], 
         [UIImage imageNamed:@"monster25.png"], 
         [UIImage imageNamed:@"monster26.png"], Nil]; 
     moppImage.animationImages = moppFrames; 
     moppImage.animationDuration = 19; 
     moppImage.animationRepeatCount = 1; 
    } 


    { 
     [super viewDidLoad]; 
     NSArray *fagelBilder = [NSArray array]; 
     fagelBilder = [[NSArray alloc] initWithObjects: 
         [UIImage imageNamed:@"1.png"], 
         [UIImage imageNamed:@"2.png"], 
         [UIImage imageNamed:@"3.png"], 
         [UIImage imageNamed:@"4.png"], 
         [UIImage imageNamed:@"5.png"], 
         [UIImage imageNamed:@"6.png"], 
         [UIImage imageNamed:@"7.png"], 
         [UIImage imageNamed:@"8.png"], 
         [UIImage imageNamed:@"9.png"], 
         [UIImage imageNamed:@"10.png"], 
         [UIImage imageNamed:@"11.png"], 
         [UIImage imageNamed:@"12.png"], 
         [UIImage imageNamed:@"13.png"], 
         [UIImage imageNamed:@"14.png"], 
         [UIImage imageNamed:@"15.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"16.png"], 
         [UIImage imageNamed:@"17.png"], 
         [UIImage imageNamed:@"18.png"], 
         [UIImage imageNamed:@"19.png"], 
         [UIImage imageNamed:@"20.png"], 
         [UIImage imageNamed:@"21.png"], 
         [UIImage imageNamed:@"22.png"], 
         [UIImage imageNamed:@"23.png"], 
         [UIImage imageNamed:@"24.png"], 
         [UIImage imageNamed:@"25.png"], 
         [UIImage imageNamed:@"26.png"], 
         [UIImage imageNamed:@"27.png"], 
         [UIImage imageNamed:@"28.png"], 
         [UIImage imageNamed:@"29.png"], 
         [UIImage imageNamed:@"30.png"], 
         [UIImage imageNamed:@"31.png"], 
         [UIImage imageNamed:@"32.png"], 
         [UIImage imageNamed:@"33.png"], 
         [UIImage imageNamed:@"38.png"], 
         [UIImage imageNamed:@"14.png"], 
         [UIImage imageNamed:@"13.png"], 
         [UIImage imageNamed:@"12.png"], 
         [UIImage imageNamed:@"11.png"], 
         [UIImage imageNamed:@"10.png"], 
         [UIImage imageNamed:@"9.png"], 
         [UIImage imageNamed:@"8.png"], 
         [UIImage imageNamed:@"7.png"], 
         [UIImage imageNamed:@"6.png"], 
         [UIImage imageNamed:@"5.png"], 
         [UIImage imageNamed:@"4.png"], 
         [UIImage imageNamed:@"3.png"], 
         [UIImage imageNamed:@"2.png"], 
         [UIImage imageNamed:@"1.png"], Nil]; 
     treImage.animationImages = fagelBilder; 
     treImage.animationDuration = 10; 
     treImage.animationRepeatCount = 1; 
    } 

    { 
     [super viewDidLoad]; 
     NSArray *flagbilder = [NSArray array]; 
     flagbilder = [[NSArray alloc] initWithObjects: 
         [UIImage imageNamed:@"F1.png"], 
         [UIImage imageNamed:@"f2.png"], 
         [UIImage imageNamed:@"f3.png"], 
         [UIImage imageNamed:@"f4.png"], 
         [UIImage imageNamed:@"f5.png"], 
         [UIImage imageNamed:@"f6.png"], 
         [UIImage imageNamed:@"f7.png"], 
         [UIImage imageNamed:@"f8.png"], 
         [UIImage imageNamed:@"f9.png"], 
         [UIImage imageNamed:@"f10.png"], 
         [UIImage imageNamed:@"f11.png"], 
         [UIImage imageNamed:@"f12.png"], 
         [UIImage imageNamed:@"f13.png"], 
         [UIImage imageNamed:@"f14.png"], 
         [UIImage imageNamed:@"f15.png"], 
         [UIImage imageNamed:@"f16.png"], 
         [UIImage imageNamed:@"f17.png"], 
         [UIImage imageNamed:@"f18.png"], 
         [UIImage imageNamed:@"f19.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f21.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f22.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f23.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f22.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f23.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f22.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f23.png"], 
         [UIImage imageNamed:@"f20.png"], 
         [UIImage imageNamed:@"f24.png"], 
         [UIImage imageNamed:@"f25.png"], 
         [UIImage imageNamed:@"f26.png"], 
         [UIImage imageNamed:@"f27.png"], 
         [UIImage imageNamed:@"f28.png"], 
         [UIImage imageNamed:@"f29.png"], 
         [UIImage imageNamed:@"f30.png"], 
         [UIImage imageNamed:@"f31.png"], 
         [UIImage imageNamed:@"f32.png"], 
         [UIImage imageNamed:@"f33.png"], 
         [UIImage imageNamed:@"f34.png"], 
         [UIImage imageNamed:@"f35.png"], 
         [UIImage imageNamed:@"f36.png"], 
         [UIImage imageNamed:@"f37.png"], 
         [UIImage imageNamed:@"f38.png"], Nil]; 
     flagImage.animationImages = flagbilder; 
     flagImage.animationDuration = 15; 
     flagImage.animationRepeatCount = 1; 
    } 


} 

- (void)viewDidUnload { 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; } 

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); } 

@end 

答えて

0

あなたはメモリの警告を取得した場合、おそらくアプリがクラッシュされていないが、過度のメモリ使用量のために殺されています。

クラスのどこかでメモリリークが発生している場合や、あまりにも多くのデバイスに要求している場合があります。

あなたのクラスは非常に長いので、私はそれを探して漏れを探し出すことはできません。しかし、Xcodeには、問題のコードを自動的に分析する機能があります。

メニューから選択してください:製品 - >分析です。

問題が発生する可能性のある問題の一覧が表示されます。リリースされていないオブジェクトをすべて確認してください。

+0

ありがとう、MacTeo。プロジェクトを分析するとAppDelegate.mで2つの警告が表示されます。ここで: - (BOOL)アプリケーション:(UIApplication *)アプリケーションdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.viewController = [[ViewController alloc] initWithNibName:@ "ViewController"バンドル:nil]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; }ビューの切り替えに問題があるようです。私はそれをどのように解決できるか知っていますか?再度、感謝します。 – user1359512

+0

私はそこに何か間違いは見られません。あなたが私に行と警告を教えてくれますか? – MacTeo

0

メモリに問題があります。シミュレータには、あなたのコンピュータのメモリ資源がすべてiPhoneやiPadよりはるかに多くあります。

あまりにも多くの画像を一度に読み込もうとしているようです。より小さなイメージを使用するか、イメージを減らすか、アニメーション方法をオンデマンド型に変更する必要があります。

また、マイナーポイントです。あなたのような繰り返しコードの場合は、 "for"ステートメントと "stringWithFormat"を使用します。それはそれを数行に落とすだろう。

関連する問題