vfn が書き込むように、デバッガーをアタッチするか、ログ値をディスクに永続化する必要があります。
私はOAuthを行っていましたが、シミュレーターがアプリを離れてSafariで認証を行う必要があり、SafariはURLスキームを使用してアプリを再度開きます。つまり、アプリが終了した後に記録されたさまざまな認証手順のログを取得できませんでした。
とにかく、~/user*/library/application support/iPhone Simulator/user/yourapp*/documents にある "log.txt" にメッセージを記録するこのクラスを書きました
*user と yourapp はもちろん変数名です。
//
// LogFile.m
//
//
// Created by RickiG on 11/30/09.
// Copyright 2009 www.rickigregersen.com.. All rights reserved.
//
#import "LogFile.h"
@implementation LogFile
+ (void) stringToLog:(NSString *) str {
NSDate *now = [NSDate date];
NSDateFormatter *logTimeFormatter = [[[NSDateFormatter alloc] init] autorelease];
[logTimeFormatter setDateFormat:@"HH:mm:ss"];
NSString *timeStr = [NSString stringWithFormat:@"%@", [logTimeFormatter stringFromDate:now]];
NSString *logMsg = [NSString stringWithFormat:@"%@\n%@\n\n", timeStr, str];
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"log.txt"];
NSData *dataToWrite = [[NSString stringWithString:logMsg] dataUsingEncoding:NSUTF8StringEncoding];
// Check if file exists
NSFileManager *fileManager = [NSFileManager defaultManager];
if([fileManager fileExistsAtPath:path]) { // Returns a BOOL
NSData *dataFromFile = [[NSData alloc] initWithContentsOfFile:path];
NSMutableData *combinedDataToWrite = [NSMutableData dataWithData:dataFromFile];
[combinedDataToWrite appendData:dataToWrite];
[combinedDataToWrite writeToFile:path atomically:YES];
[dataFromFile release];
} else {
[fileManager createFileAtPath:path contents:dataToWrite attributes:nil];
}
}
@end