2011-01-29 3 views
1

아이폰에서 네트워크 연결 (셀룰러 및 WIFI)을 "강제 종료"할 수있는 간단한 방법이 있습니까? dropbox를 통해 동기화되는 응용 프로그램에서 작업 중이며 & 내 오류 복구 코드를 연결 끊김에서 디버그하고 싶습니다.빠른 디버깅을 위해 네트워크 연결을 전환하는 방법?

업데이트 : 좀 더 구체적이어야 했으므로이 기능을 해제하고 싶습니다. 예를 들어 dropbox에 대한 요청을 시작한 후 네트워크를 끄면 실패한 다운로드를 시뮬레이션하고 싶습니다.

+0

아마 응용 프로그램에서 iPhone 연결을 조작 할 수 없을 것입니다. 필자는 iPhone 프로그래밍에 대한 전문 지식이 없지만 타이머를 사용하거나 파일을 다운로드하는 기능을 방해 한 적이 있습니까? – slhck

답변

0

설정을 열고 비행기 모드 으로 설정하여 모든 네트워크 연결을 비활성화하십시오. 해제하려면 다시 사용하십시오.

편집가 : 아이폰 OS SDK (2.x 및 아마 3.X)를 사용하여 비행기 모드를 사용하려면 Erica Sadun's code을 시도 :

#import <UIKit/UIKit.h> 
#import <UIKit/UIApplication.h> 
#include <dlfcn.h> 
#include <stdio.h> 

// Framework Paths 
#define SBSERVPATH "/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices" 
#define UIKITPATH "/System/Library/Framework/UIKit.framework/UIKit" 

int main(int argc, char **argv) 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    // 
    // For testing try issuing the following: 
    //   ap y; sleep 5; ./ap n 
    // 

    if (argc < 2) 
    { 
     printf("Usage: %s (y | n)\n", argv[0]); 
     exit(-1); 
    } 

    // Argument used to switch airplane mode off or on 
    BOOL yorn = [[[NSString stringWithCString:argv[1]] 
        uppercaseString] hasPrefix:@"Y"]; 

    // Fetch the SpringBoard server port 
    mach_port_t *p; 
    void *uikit = dlopen(UIKITPATH, RTLD_LAZY); 
    int (*SBSSpringBoardServerPort)() = 
     dlsym(uikit, "SBSSpringBoardServerPort"); 
    p = SBSSpringBoardServerPort(); 
    dlclose(uikit); 

    // Link to SBSetAirplaneModeEnabled 
    void *sbserv = dlopen(SBSERVPATH, RTLD_LAZY); 
    int (*setAPMode)(mach_port_t* port, BOOL yorn) = 
     dlsym(sbserv, "SBSetAirplaneModeEnabled"); 
    setAPMode(p, yorn); 
    dlclose(sbserv); 

    [pool release]; 
} 
+0

ios 6.0 이상에서 그 작업을 수행하는 방법 –

0

이 소프트웨어에 실패한 다운로드를 시뮬레이션 만에 조기 연결을 닫으려면 일부 디버그 플래그가 설정된 경우 소프트웨어.

나는 무선 랜 액세스 포인트에서 케이블을 당기는 것이 더 좋습니다.

가 추가 된 것 : 무선 랜 액세스 포인트는 로컬 접근 관리자 웹 페이지를 가지고 있으며, 당신은 admin입니다

경우, 액세스 포인트가 구성 페이지를 WAN 액세스하기 위해 HTTP (S) 시퀀스를 알아낼 수있을 것 WAN을 비활성화/다시 활성화합니다. 이 모든 것을 소프트웨어로 할 수 있습니다.

관련 문제