iphone - 使用包标识符打开应用程序

标签 iphone cfbundleidentifier

是否可以使用 bundle 标识符从我们的应用程序中打开应用程序。假设我在一台设备上安装了两个应用,分别是 com.test.app1com.test.app2。我可以从我的 app2 打开 app1 吗?

我知道 openUrl 方法。为此,我必须在 info.plist 中注册 url 方案。然后我可以使用以下方法:

[[UIApplication sharedApplication] openUrl:[NSURL urlWithString:@"myApp1://"]];

但是如果我没有注册 url 方案或者不知道注册的 url 怎么办?

有什么想法吗..?

最佳答案

您可以使用私有(private) API 来执行此操作

Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject * workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
BOOL isopen = [workspace performSelector:@selector(openApplicationWithBundleID:) withObject:@"com.apple.mobilesafari"];

关于iphone - 使用包标识符打开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7229646/

相关文章:

ios - 使用 Switch on UITableViewCell 更改数据

iphone - 音频可以在 3.2 sim 中播放,但不能在 4.x 中播放

ios - Bundle ID 不允许在 iTunes 中更改

ios - Pod 配置后的 Xcode 7.3 : error: could not read CFBundleIdentifier from Info. plist (null)

ios - 选择 iOS 和 Mac 应用程序的包标识符

iphone - EKEventEditor 在 iPhone 上崩溃,但在 iPad 上没有

javascript - 如何解析位置:fixed for a bottom toolbar on iOS (iPhone/iPad)

objective-c - cocoa /ObjC : get CFBundleIdentifier of current process

Xcode 提示 Bundle Identifier 中的无效字符

Android 相当于 iOS MobileSubstrate 式 Hook ?