使用私有API从后台模式重新启动VOIP应用程序

时间:2011-01-09 23:35:22

标签: iphone api private iphone-privateapi

开始时 - 这个应用程序不需要进入App Store。

我正在考虑以下内容应该有效:

    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);

但是我得到了exc_bad_access,这很可能是因为它需要一个身份验证令牌 - 我可能错了。

或者我正在尝试使用以下内容:

Class $SBApplicationController=objc_getClass("SBApplicationController");

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

遗憾的是输出为空 - 所以我想这不能在应用程序中完成。

有什么想法吗?这让我发疯了 - 谢谢!

1 个答案:

答案 0 :(得分:1)

iOS沙箱将阻止或终止任何未由iOS启动的进程。