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

oo7oh9g9  于 11个月前  发布在  iOS
关注(0)|答案(1)|浏览(165)

首先,这个应用程序不需要进入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,这可能是因为它需要一个auth token -我可能是错的。
或者,我尝试使用以下方法:

Class $SBApplicationController=objc_getClass("SBApplicationController");

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


遗憾的是输出为空-所以我猜这不能在应用程序中完成。
有什么想法吗?

lc8prwob

lc8prwob1#

iOS沙箱将阻止或杀死任何不是由iOS启动的进程。

相关问题