我正在使用以下代码:
int (*openApp)(CFStringRef, Boolean);
void* sbServices = dlopen("/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices", RTLD_LAZY);
openApp= (int(*)(CFStringRef, Boolean))dlsym(sbServices,"SBSLaunchApplicationWithIdentifier");
openApp(CFSTR("com.apple.mobilephone"), FALSE);
dlclose(sbServices);
这在模拟器中工作正常,但在设备上却出现以下错误:
使用kern_return_t所需的com.apple.springboard.launchapplications _SBXXLaunchApplication(mach_port_t,char *,sbs_url_string_t,sbs_property_list_data_t,mach_msg_type_number_t, sbs_property_list_data_t,mach_msg_type_number_t, SBSApplicationLaunchFlags,SBSApplicationLaunchError *,audit_token_t)
上述问题有解决方案吗?
答案 0 :(得分:1)
更好地使用[[UIApplication sharedApplication] openUrl:[NSURL URLWithString:@"YOUR URL"]];
您需要在第二个应用中设置自定义网址方案。检查此tutorial或只使用“iphone自定义网址方案”进行搜索。有很多很好的教程。