首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS上通过绑定id打开应用程序

如何在iOS上通过绑定id打开应用程序
EN

Stack Overflow用户
提问于 2015-05-27 08:25:20
回答 2查看 3.3K关注 0票数 0

刚才,我基于Xcode6.3.1上的单视图应用程序创建了一个项目,然后在Main.storyboard上创建了一个按钮。当按钮按下时,代码是这样的:

代码语言:javascript
复制
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,越狱。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-27 09:43:32

*为了越狱,你可以继续做这个*

有一种名为URL scheme的机制,它可以用于从应用程序内部打开应用程序。但为此,您需要在plist文件中执行正确的url模式setUp。我强烈认为你没有考虑这个选择。

*还有一种严格不推荐的方法(除了越狱电话),API是私有的*,但是您可以在开发模式下进行尝试和享受。

  • openApplicationWithBundleID:使用包标识符打开应用程序。
  • - (NSArray*)allInstalledApplications;:这将列出设备上所有已安装的应用程序。

如果你想看一个有趣的演示,请在你的手机上看到运行这个应用程序 &看看Apple Watch样式,弹簧板,所有的应用程序都可以点击启动。

希望这样可以更好地了解私有api的使用情况。

票数 1
EN

Stack Overflow用户

发布于 2015-05-27 11:13:14

从Cydia安装com.conradkramer.open open包,您可以通过SSH或应用程序从shell运行open com.bundle.id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30476982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档