
ResponseDetection은 디버깅 목적으로 앱과 서버 간의 발신 요청과 들어오는 응답을 가로 채기위한 비 침입 프레임 워크입니다.
ResponseDetection은 Swift 5.3 으로 작성되었으며 iOS 9.0+ , MacOS 10.10+ 및 TVOS 9.0+를 지원합니다.
프로젝트에 ResponseDetection을 통합하는 것은 매우 간단합니다. 모두 두 단계만으로 나옵니다.
응답이 적용하려면 (NS)URLSession 과 인터넷 사이에 중개인으로 추가해야합니다. 세션 (NS)URLSessionConfiguration.protocolClasses 에 제공된 URLProtocol 클래스를 등록하거나 바로 가기 메소드를 사용하여이를 수행 할 수 있습니다.
// Objective-C
NSURLSessionConfiguration *configuration = [ NSURLSessionConfiguration defaultSessionConfiguration ];
[RDTResponseDetective enableInConfiguration: configuration];// Swift
let configuration = URLSessionConfiguration . default
ResponseDetective . enable ( inConfiguration : configuration ) 그런 다음 해당 구성을 (NS)URLSession 과 함께 사용해야합니다.
// Objective-C
NSURLSession *session = [[ NSURLSession alloc ] initWithConfiguration: configuration];// Swift
let session = URLSession ( configuration : configuration ) 또는 네트워킹 프레임 워크로 AfnetWorking / AlamoFire를 사용하는 경우 ResponseTection을 통합하여 AFURLSessionManager / Manager 위 (NS)URLSessionConfiguration 초기화하는 것입니다.
// Objective-C (AFNetworking)
AFURLSessionManager *manager = [[AFURLSessionManager alloc ] initWithSessionConfiguration: configuration];// Swift (Alamofire)
let manager = Alamofire . SessionManager ( configuration : configuration )그리고 그게 다야!
이제 실제 요청을 수행 할 시간입니다.
// Objective-C
NSURLRequest *request = [[ NSURLRequest alloc ] initWithURL: [ NSURL URLWithString: @" http://httpbin.org/get " ]];
[[session dataTaskWithRequest: request] resume ];// Swift
let request = URLRequest ( URL : URL ( string : " http://httpbin.org/get " ) ! )
session . dataTask ( with : request ) . resume ( )덕! ? 콘솔 출력을 확인하십시오.
<0x000000000badf00d> [REQUEST] GET https://httpbin.org/get
├─ Headers
├─ Body
│ <none>
<0x000000000badf00d> [RESPONSE] 200 (NO ERROR) https://httpbin.org/get
├─ Headers
│ Server: nginx
│ Date: Thu, 01 Jan 1970 00:00:00 GMT
│ Content-Type: application/json
├─ Body
│ {
│ "args" : {
│ },
│ "headers" : {
│ "User-Agent" : "ResponseDetective/1 CFNetwork/758.3.15 Darwin/15.4.0",
│ "Accept-Encoding" : "gzip, deflate",
│ "Host" : "httpbin.org",
│ "Accept-Language" : "en-us",
│ "Accept" : "*/*"
│ },
│ "url" : "https://httpbin.org/get"
│ }
Carthage를 사용하는 경우 Cartfile 에 다음 의존성을 추가하십시오.
github "netguru/ResponseDetective" ~> {version}
Cocoapods를 사용하는 경우 Podfile 에 다음 종속성을 추가하십시오.
use_frameworks!
pod 'ResponseDetective', '~> {version}'
Swift 패키지 관리자를 사용하는 경우이 저장소를 프로젝트 설정의 Swift 패키지에 추가하십시오.
테스트 종속성을 설치하거나 대응에 취소 된 자체를 구축하려면 carthage 직접 실행하지 마십시오. Xcode 12에 도입 된 Apple Silicon 아키텍처를 처리 할 수 없습니다. 대신 carthage.sh 스크립트를 통해 실행하십시오.
$ ./carthage.sh bootstrap또는 다음 명령으로 Swift 패키지 관리자를 사용하여 로컬로 테스트를 실행할 수 있습니다.
$ swift test 이 프로젝트는 Netguru가 with와 함께 만들어졌습니다.
버전 1.0.0에서 시작하여 ResponseDetection의 릴리스는 Sherlock Holmes Canon Stories의 이름을 연대순으로 명명했습니다. 60 개 릴리스에 도달하고 더 이상 이야기가 없으면 어떻게됩니까? 우리는 모르겠다. 아마도 우리는 고양이 나 무언가 후에 그들을 지명하기 시작할 것이다.
이 프로젝트는 MIT 라이센스 에 따라 라이센스가 부여됩니다. 자세한 내용은 License.md를 참조하십시오.