刚才,我基于Xcode6.3.1上的单视图应用程序创建了一个项目,然后在Main.storyboard上创建了一个按钮。当按钮按下时,代码是这样的:
NSString * bundleId = @"com.apple.iBooks";
void* sbServices = dlopen("/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices", RTLD_LAZY);
int (*SBSLaunchApplicationWithIdentifier)(CFStringRef identifier, Boolean suspended) = dlsym(sbServices, "SBSLaunchApplicationWithIdentifier");
const char *strBundleId = [bundleId cStringUsingEncoding:NSUTF8StringEncoding];
int result = SBSLaunchApplicationWithIdentifier((__bridge CFStringRef)bundleId, NO);
dlclose(sbServices);但这不起作用。然后我确实喜欢这个网站告诉我,在iphone中启动其他没有URL模式的应用程序?它没有工作,也。请帮帮我。我的设备是iPhone4s,iOS 7.1.2,越狱。
发布于 2015-05-27 09:43:32
*为了越狱,你可以继续做这个*
有一种名为URL scheme的机制,它可以用于从应用程序内部打开应用程序。但为此,您需要在plist文件中执行正确的url模式setUp。我强烈认为你没有考虑这个选择。
*还有一种严格不推荐的方法(除了越狱电话),API是私有的*,但是您可以在开发模式下进行尝试和享受。
openApplicationWithBundleID:使用包标识符打开应用程序。- (NSArray*)allInstalledApplications;:这将列出设备上所有已安装的应用程序。如果你想看一个有趣的演示,请在你的手机上看到运行这个应用程序 &看看Apple Watch样式,弹簧板,所有的应用程序都可以点击启动。
希望这样可以更好地了解私有api的使用情况。
发布于 2015-05-27 11:13:14
从Cydia安装com.conradkramer.open open包,您可以通过SSH或应用程序从shell运行open com.bundle.id。
https://stackoverflow.com/questions/30476982
复制相似问题