2011-03-21 4 views
3

현재 내 앱에서 만든 모든 URL 연결을 기록하려고합니다. 이 작업을 수행하는 데 사용할 수있는 디버그 스위치 또는 네트워크 활동 모니터 도구가 있습니까?iOS - 추적 URL 연결

아니면 소스 기반 전체에 NSLog 문을 포함 할 수있는 유일한 방법입니까?

덕분에, 악기 애쉬

답변

0

는 시스템 악기에서 네트워크 활동 모니터가있다. 나는 그것을 개인적으로 사용하지 않았으므로 그것이 당신이 원하는 것을하는 지 모르겠다. 응용 프로그램의

1

모든 NSURLConnections 기본적

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSURLCache_Class/Reference/Reference.html

그래서, 당신이 할 수있는 한 가지 기본 캐시를 서브 클래스이며, 다음 cachedResponseForRequestNSURLCache 방법에 대한 공유 캐시 클래스를 사용 당신은 당신의 요구를 추적 할 수 있습니다. 당신의 AppDelegatedidFinishLaunchingWithOptions 방법에서

@interface CustomNSURLCache : NSURLCache { 

} 

@end 


@implementation CustomNSURLCache 


-(NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request { 

    NSLog(@"connection will send request for url: %@", request); 

    return [super cachedResponseForRequest:request]; 

} 

@end 

는 캐시의 인스턴스에 공유 캐시를 설정합니다.

CustomNSURLCache *customCache = [[CustomNSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:51200 diskPath:nil]; 
[NSURLCache setSharedURLCache:customCache]; 
[customCache release]; 

당신이 당신의 콘솔에서이 같은 내용이 있어야 새로운 연결

NSURLRequest *request1 = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://stackoverflow.com"]]; 
[[NSURLConnection alloc] initWithRequest:request1 delegate:self]; 

을 만들 지금

(기본 MemoryCapacity에 대한 가치와 DiskCapacity에 대한 512000 0 인)

연결이 URL에 대한 요청을 보낼 것입니다 : < NSURLRequest https://stackoverflow.com/>