Приложение Iphone падает при запуске - PullRequest
0 голосов
/ 20 марта 2010

Мое простое приложение для iphone рушится при запуске, оно говорит "текст загрузки приложения неожиданно завершился" Ни одно из этих окон не появляется, когда приложение Mac вылетает и имеет кнопку «Отправить в Apple». Мой .h ниже, и я был бы очень признателен, если бы кто-нибудь мог мне помочь, что случилось?

#import "downloadTextViewController.h"

@implementation downloadTextViewController


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    NSString *myPath = [self saveFilePath];
    NSLog(myPath);
    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:myPath];

    if (fileExists)
    {
        NSArray *values = [[NSArray alloc] initWithContentsOfFile:myPath];
        textView.text = [values objectAtIndex:0];
        [values release];
    }

    // notification
    UIApplication *myApp = [UIApplication sharedApplication];

    // add yourself to the dispatch table 
    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(applicationWillTerminate:) 
                                                 name:UIApplicationWillTerminateNotification 
                                               object:myApp];

    [super viewDidLoad];
}

- (IBAction)fetchData {
    /// Show activityIndicator / progressView

    NSURLRequest *downloadRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://simpsonatyapps.com/exampletext.txt"]
                                                     cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                 timeoutInterval:1.0];

    NSURLConnection *downloadConnection = [[NSURLConnection alloc] initWithRequest:downloadRequest delegate:self];

    if (downloadConnection)
        downloadedData = [[NSMutableData data] retain];
    else {
        /// Error message
    }
}

- (void)connection:(NSURLConnection *)downloadConnection didReceiveData:(NSData *)data {

    [downloadedData appendData:data];

    NSString *file = [[NSString alloc] initWithData:downloadedData encoding:NSUTF8StringEncoding];

    textView.text = file;

    /// Remove activityIndicator / progressView
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
}

- (NSString *) saveFilePath
{
    NSArray *pathArray =
    NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"savedddata.plist"];
}

- (void)applicationWillTerminate:(UIApplication *)application {
    NSArray *values = [[NSArray alloc] initWithObjects:textView.text,nil];
    [values writeToFile:[self saveFilePath] atomically:YES];
    [values release];
}

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

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

- (void)dealloc {
    [super dealloc];
}

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse {
    return nil;
}


@end

Edit:
Консоль поставляется с:

21/03/10 2:32:19 PM downloadText[3548] Stack: 
  ( 8307803, 2474450491, 8466881, 2787944, 2786485, 25429108, 8210735, 25423659, 
    25431927, 24117515, 24111079, 24110797, 8337, 23594443, 23632310, 23620404, 
    23602815, 23629921, 134489, 8092544, 8088648, 23596565, 23633839, 8252 ) 

1 Ответ

0 голосов
/ 21 марта 2010

Проверьте консоль на наличие отчетов об исключениях. [Spotlight поиск «Консольное» приложение, если вы ленивы. ; -] Есть ли какая-нибудь трассировка стека, чтобы дать подсказки?

Запуск в симуляторе в режиме отладки. Установите точку останова в начале viewDidLoad, а также в любом месте вашего кода из любой трассировки стека, оставленной в консоли.

Помогает ли сначала (вместо последнего) вызов «[super viewDidLoad]»? Если он выполняет какую-либо работу, он может отключить ваш viewDidLoad. Сначала проверьте выходные данные консоли - я склонен вносить изменения в код только тогда, когда я понимаю, что происходит неправильно, или я могу использовать его для исключения потенциальных причин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...