2012-04-26 321 views
0

嗨,我試圖把一個iPad應用程序放在一起。所有在模擬器上運行平穩,但不在設備上運行。我有五個視圖控制器,並且它是第五個視圖控制器,尤其是在運行怪物動畫時尤其如此。我的動畫在設備上崩潰,但沒有在模擬器中

Im在該視圖控制器發佈代碼。請不要笑。

它也說它收到了內存警告。那是怎麼回事?

謝謝任何​​人。

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中收到兩條警告。這裏: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.viewController = [[ViewController alloc] initWithNibName:@「ViewController」bundle:nil]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; 返回YES; }好像我在切換視圖時遇到了問題。你知道我能如何解決它嗎?再次感謝。 – user1359512 2012-04-28 07:38:55

+0

我沒有看到任何錯誤。你能告訴我你得到的線條和警告嗎? – MacTeo 2012-04-30 08:02:22

0

您有內存問題。模擬器擁有您計算機的全部內存資源,遠遠超過任何iPhone或iPad。

它看起來像你試圖一次加載太多的圖像。您可能需要使用更小的日程或更少的圖像,或將您的動畫方法更改爲更多按需類型。

也是一個更小的觀點。對於重複的代碼,請使用「for」語句和「stringWithFormat」。它會把它降低到幾條線。

相關問題