2011-01-09 12 views
3

을 사용하여 백그라운드 모드에서 VOIP 애플리케이션 다시 실행 -이 앱은 App Store에 들어갈 필요가 없습니다.비공개 API의

나는 다음의 라인을 따라 뭔가를 생각하고 작업을해야합니다 : 나는 그것으로 인해이 인증 토큰을 필요로한다는 사실에 가능성이 EXC_BAD_ACCESS를 얻고 그러나

mach_port_t *p; 
void *uikit = dlopen(UIKITPATH, RTLD_LAZY); 
int (*SBSSpringBoardServerPort)() = 
dlsym(uikit, "SBSSpringBoardServerPort"); 
p = (mach_port_t *)SBSSpringBoardServerPort(); 
dlclose(uikit); 

void *sbserv = dlopen(SBSERVPATH, RTLD_LAZY); 
int (*setAPMode)(mach_port_t* port, const char* appID, BOOL suspended, void* unknown, void* unknown2) = 
dlsym(sbserv, "SBSLaunchApplicationWithIdentifier"); 
setAPMode(p, "com.apple.weather", NO, nil, nil); 
dlclose(sbserv); 

것은 - 내가 잘못 될 수있다 그래도.

Class $SBApplicationController=objc_getClass("SBApplicationController"); 

NSLog(@"[$SBApplicationController sharedInstance], %@", [$SBApplicationController sharedInstance]); 

는 슬프게도 출력이 null - 그래서 나는이 응용 프로그램 내에서 수행 할 수없는 것 같아요 :

는 또한 나는 다음과 같은 사용하여 노력하고있어.

아이디어가 있으십니까? 이것은 나를 미치게하고있다 - 고마워!

+0

지금 해결책이 있습니까? – adruzh

+0

@ rhodesy22 안녕하세요, SBSSpringBoardServerPort 사용법을 알려주세요. [여기] (http://stackoverflow.com/questions/10204785/special-ap-to-launch-an-app-from-my-application) 내 질문은 – ilhnctn

답변

1

iOS 샌드 박스는 iOS에서 시작하지 않은 프로세스를 차단하거나 종료합니다.

+0

고마워,하지만 SBSSpringBoardServerPort 방법과 같은 것을 사용하여 기술적으로 스프링 보드 서비스를 시작하는 것은 그렇지 않습니까? 나는 스크린을 어둡게하고, 전화를 잠그고, 비행기 모드를 켜고, 그 방법을 사용하여 가장 중요한 앱을 정지시킬 수있다. –

+0

2rhodesy22 : SBSLaunchApplicationWithIdentifier 및 이와 같은 다른 방법에는 스프링 보드에있는 "com.apple.springboard.launchapplications"자격이 필요하며 사용자 지정 응용 프로그램에는 필요하지 않습니다. –